Пример формирования документа для выгрузки в АСП.Шлюз
В примере используются следующие функции: СформироватьХозСубъект; СформироватьПоднадзорного; СформироватьСтрокуНоменклатуры; СформироватьСвязанныеДокументы; СформироватьТТН
Функция СформироватьДокумент(Документ, ТипДокумента, Фабрика) Экспорт
ДокументХ = Фабрика.Создать(Фабрика.Тип( ПространствоИмен(),"Документ"));
ДокументХ.Номер = Документ.Номер;
ДокументХ.Дата = Документ.Дата;
ДокументХ.ИННОрганизации = Документ.Организация.ИНН; //Указывается, если ведется учет по нескольким организациям
//Подразделение = Фабрика.Создать(Фабрика.Тип( ПространствоИмен(),"ПоднадзорныйОбъект"));
//Подразделение.Код = "Код подразделения / склада / поднадзорного объекта организации";
//ДокументХ.Подразделение = Подразделение; //Указывается, если ведется учет по нескольким подразделениям или организациям
ДокументХ.ТипДокумента = ТипДокумента;
// заполняем контрагента
Если ДокументХ.ТипДокумента = "Перемещение" Тогда //перемещение в шлюзе = реализация+поступрелие. в качестве источника данных принимается документ реализации.
ДокументХ.Подразделение = СформироватьПоднадзорного(Документ.СкладОтправитель,Документ.Организация,фабрика);
ХозСубъект = СформироватьХозСубъект(Документ.Организация,фабрика);
Поднадзорный = СформироватьПоднадзорного(Документ.СкладПолучатель,Документ.Организация,фабрика);
Иначе
ХозСубъект = СформироватьХозСубъект(Документ.Контрагент,фабрика);
Поднадзорный = СформироватьПоднадзорного(Документ.Контрагент, Документ.Контрагент,фабрика); //#1
КонецЕсли;
Если ТипЗнч(ХозСубъект) = Тип("Строка") Тогда
Сообщить(ХозСубъект);
Возврат Неопределено;
КонецЕсли;
ДокументХ.ХозСубъект = ХозСубъект;
Если ТипЗнч(Поднадзорный) = Тип("Строка") Тогда
Сообщить(Поднадзорный);
Возврат Неопределено;
КонецЕсли;
ДокументХ.Поднадзорный = Поднадзорный;
//ДокументХ.ТТН = СформироватьТТН(???,???);
// Табличные части
Для каждого Стр из Документ.Товары Цикл
ДокументХ.Товары.Добавить(СформироватьСтрокуНоменклатуры(Стр, Документ,Фабрика));
КонецЦикла;
//Список Материалов
Для Каждого Стр Из Документ.Материалы Цикл
ДокументХ.Материалы.Добавить(СформироватьСтрокуНоменклатуры(Стр, Документ,Фабрика));
КонецЦикла;
// Список пунктов перегрузки
//ДокументХ.ПунктыПерегрузки.Добавить(СформироватьПунктПерегрузки(???));
// Список связанных документов
//ДокументХ.СвязанныеДокументы.Добавить(СформироватьСвязанныеДокументы(???));
Возврат ДокументХ;
КонецФункции
#1 В зависимости от учетной системы, конечными получателем продукции (поднадзорным объектом) может быть Контрагент, Партнер, Склад получатель и т.д. При выгрузке документа в качестве первого параметра функции «СформироватьПоднадзорного» необходимо указать поле документа, отвечающее за фактическое место доставки(отправки) продукции, а в качестве второго параметра - юридическое лицо получатель(отправитель) продукции.