У меня есть форма справочника контрагенты (иерархический)
У него поля
Объект.Код
Объект.Наименование
Объект.ИНН
Объект.ОсновнойСчет (СправочникСсылка.БанковскиеСчета)
Объект.ЮрФизЛицо (Перечисления.ЮрФизЛицо)
Объект.Агент (СправочникСсылка.ФизическиеЛица)
Объект.Комментарий
Нужно сделать чтоб
Если поле Объект.ЮрФизЛицо=Перечисления.ЮрФизЛицо.ФизическоеЛицо тогда
поле Объект.Наименование=Объект.Агент (и из поля Агент можно было выбрать ФИО)
А если поле Объект.ЮрФизЛицо=Перечисления.ЮрФизЛицо.ЮридическоеЛицо тогда
поле Объект.Агент=Объект.Наименование (и поле Агент редактировать было нельзя так как оно должно браться из поле Объекта наименование)
&НаСервере
Функция ПолучитьФизЮр(ФизЮр) Экспорт
Если Объект.ЮрФизЛицо=Перечисления.ЮрФизЛицо.ФизическоеЛицо Тогда
Объект.Наименование=Объект.Агент
ИначеЕсли Объект.ЮрФизЛицо=Перечисления.ЮрФизЛицо.ЮридическоеЛицо Тогда
Объект.Агент=Объект.Наименование;
Иначе
Сообщить("Вы ничего не выбрали!!!");
КонецЕсли
КонецФункции
в функции обязательно должен быть оператор Возврат.
Если полу в конфигураторе назначен определенный тип, то его никак уже не поменять. поэтому Наименованию (тип Строка) не присвоить значение поля Агент (тип Справочник) и соответственно наоборот.
ты можешь в поле Наименование записать Наименование из справочника Агенты.
Объект.Наименование=Объект.Агент.Наименование;
а для заполенеия поля Агент. надо создавать новый элемент справочника Агенты, устанавливать у него наименование из поля Объект.Наименование и уже этот новый элемент справочника присваивать полю Объект.Агент
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс