Крыша едет не спеша...

Тема в разделе "1C и всё что с ней связано", создана пользователем Stoik, 12 окт 2010.

  1. Stoik

    Stoik Гость

    Начал изучать 1С. Столкнулся с проблемой.... Создаю документ, на него ложу поле с типом данных Справочник.Сотрудники. При нажатии на "..." открывается справочник и из него подставляется основное представление справочника (наименование) в поле на форме. Как сделать чтобы подставлялось не наименование, а к примеру адрес (другое поле в этом справочнике). Пробовал использовать процедуры ПриНачалеВыбораЗначения,ОбработкаВыбораЗначения, писал на закладке формула свою процедуру - всё равно подставляется наименование. Если возможно подскажите... :lovecodeby: А за кусок кода, заранее большое спасибо....
     
  2. vbs

    vbs Well-Known Member

    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    Если реквизит имеет определенный тип, при выборе значения ему будет присвоено значение этого типа.
    Придется заводить другое поле ввода, связанное с первым.
    Например, на закладке "дополнительно" основного поля прописать присвоение значения реквизита выбранного справочника
    второму полю ввода (например, если основное поле Sotr, а связанное Adres, то : Adres = Sotr.Адрес)
     
  3. evgenyatam

    evgenyatam Well-Known Member

    Регистрация:
    7 сен 2007
    Сообщения:
    175
    Симпатии:
    0
    можно изящнее: реквизит делаем строковым, нередактируемым. если надо сохранять выбранный элемент, заводим глобальную переменную (перем СправочникСотрудники; // в первой строке модуля). в процедуре "ПриНачалеВыбора" например так:
    Код (Text):
    Процедура ПриНачалеВыбораЗначения(ИмяРекв)
    Если ИмяРекв = "НашРеквизит" Тогда
    спр = СоздатьОбъект("Справочник.Сотрудники");
    Если Спр.Выбрать("выберите сотрудника","ФормаСписка")=1 Тогда
    НашРеквизит = Спр.Адрес;
    СправочникСотрудники = Спр.ТекущийЭлемент(); // если надо
    КонецЕсли;
    КонецЕсли;
    КонецПроцедуры
     
Загрузка...

Поделиться этой страницей