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