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