В примере используются следующие функции: СформироватьХозСубъект
Функция СформироватьПоднадзорного(Партнер, Контрагент, Фабрика)
ПоднадзорныйОбъект = Фабрика.Создать(Фабрика.Тип( ПространствоИмен(),"ПоднадзорныйОбъект"));
ПоднадзорныйОбъект.Наименование = Партнер.Наименование;
ПоднадзорныйОбъект.НаименованиеПолное = Партнер.Наименование; //#1
ПоднадзорныйОбъект.Тип = 1; //#2
//ПоднадзорныйОбъект.Комментарий = "";//Партнер.ДополнительнаяИнформация;
ПоднадзорныйОбъект.Код = Партнер.Код;
Результат = СформироватьХозСубъект(Контрагент,фабрика);
Если ТипЗнч(Результат)= Тип("Строка") Тогда
Возврат Результат;
Иначе
ПоднадзорныйОбъект.ХозСубъект = Результат;
КонецЕсли;
// Обычные формы //#3
ПоднадзорныйОбъект.Адрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический");
Если НЕ ЗначениеЗаполнено(ПоднадзорныйОбъект.Адрес) Тогда
Сообщить("Необходимо заполнить фактический адрес контрагента: " + Партнер);
Возврат Неопределено;
КонецЕсли;
Возврат ПоднадзорныйОбъект;
КонецФункции
#1 Заполнение полного наименования
В данное поле заполняется наименование для печати. Возможное варианты:
Партнер.Наименование
Партнер.НаименованиеПолное
или любое другое поле, отвечающее за наименование поднадзорного объекта.
#2 Заполнение типа поднадзорного
В данное поле заполняется наименование для печати. Возможное варианты:
Партнер.Наименование
Партнер.НаименованиеПолное
или любое другое поле, отвечающее за наименование поднадзорного объекта.
3 Заполнение адреса
На управляемых формах адрес Хоз. субъекта можно получить следующим способом
Если Контрагент.КонтактнаяИнформация.Количество() > 0 Тогда
Для каждого Инф из Контрагент.КонтактнаяИнформация Цикл
Если Инф.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес И Инф.Вид = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента Тогда //Инф.Вид = Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента
ХозСубъект.Адрес = Инф.Представление;
Прервать;
КонецЕсли;
КонецЦикла;
Иначе
Возврат Строка(Контрагент.Наименование)+": необходимо заполнить контактную информацию.";
КонецЕсли;
Для обычных форм это может быть:
ХозСубъект.Адрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Юридический");
Если НЕ ЗначениеЗаполнено(ХозСубъект.Адрес) Тогда
Сообщить("Необходимо заполнить юридический адрес контрагента: " + Контрагент);
Возврат Неопределено;
КонецЕсли;
или
ХозСубъект.Адрес = УправлениеКонтактнойИнформацией.ПолучитьАдресИзКонтактнойИнформации(Контрагент, "Фактический");
Если НЕ ЗначениеЗаполнено(ХозСубъект.Адрес) Тогда
Сообщить("Необходимо заполнить юридический адрес контрагента: " + Контрагент);
Возврат Неопределено;
КонецЕсли;