Сформировать документ

Материал из База знаний АО АСП
Перейти к навигации Перейти к поиску
Пример формирования документа для выгрузки в АСП.Шлюз

В примере используются следующие функции: СформироватьХозСубъект; СформироватьПоднадзорного; СформироватьСтрокуНоменклатуры; СформироватьСвязанныеДокументы; СформироватьТТН

Функция СформироватьДокумент(Документ, ТипДокумента, Фабрика) Экспорт
	
	ДокументХ = Фабрика.Создать(Фабрика.Тип( ПространствоИмен(),"Документ"));

	ДокументХ.Номер = Документ.Номер;
	ДокументХ.Дата 	= Документ.Дата;
	ДокументХ.ИННОрганизации = Документ.Организация.ИНН; //Указывается, если ведется учет по нескольким организациям
	//Подразделение	= Фабрика.Создать(Фабрика.Тип( ПространствоИмен(),"ПоднадзорныйОбъект"));
	//Подразделение.Код = "Код подразделения / склада / поднадзорного объекта организации";
	<syntaxhighlight lang='bash'>
ДокументХ.Подразделение 	= Подразделение;

Указывается, если ведется учет по нескольким подразделениям или организациям

ДокументХ.ТипДокумента = ТипДокумента; // заполняем контрагента Если ДокументХ.ТипДокумента = "Перемещение" Тогда //перемещение в шлюзе = реализация+поступрелие. в качестве источника данных принимается документ реализации. ДокументХ.Подразделение = СформироватьПоднадзорного(Документ.СкладОтправитель,Документ.Организация,фабрика); ХозСубъект = СформироватьХозСубъект(Документ.Организация,фабрика); Поднадзорный = СформироватьПоднадзорного(Документ.СкладПолучатель,Документ.Организация,фабрика); Иначе ХозСубъект = СформироватьХозСубъект(Документ.Контрагент,фабрика); Поднадзорный = СформироватьПоднадзорного(Документ.Контрагент, Документ.Контрагент,фабрика); //#1 КонецЕсли;

Если ТипЗнч(ХозСубъект) = Тип("Строка") Тогда Сообщить(ХозСубъект); Возврат Неопределено; КонецЕсли; ДокументХ.ХозСубъект = ХозСубъект;

Если ТипЗнч(Поднадзорный) = Тип("Строка") Тогда Сообщить(Поднадзорный); Возврат Неопределено; КонецЕсли; ДокументХ.Поднадзорный = Поднадзорный; //ДокументХ.ТТН = СформироватьТТН(???,???);

// Табличные части Для каждого Стр из Документ.Товары Цикл ДокументХ.Товары.Добавить(СформироватьСтрокуНоменклатуры(Стр, Документ,Фабрика)); КонецЦикла;

//Список Материалов Для Каждого Стр Из Документ.Материалы Цикл ДокументХ.Материалы.Добавить(СформироватьСтрокуНоменклатуры(Стр, Документ,Фабрика)); КонецЦикла;

// Список пунктов перегрузки //ДокументХ.ПунктыПерегрузки.Добавить(СформироватьПунктПерегрузки(???));

// Список связанных документов //ДокументХ.СвязанныеДокументы.Добавить(СформироватьСвязанныеДокументы(???));

Возврат ДокументХ; КонецФункции </syntaxhighlight>

  1. 1 В зависимости от учетной системы, конечными получателем продукции (поднадзорным объектом) может быть Контрагент, Партнер, Склад получатель и т.д. При выгрузке документа в качестве первого параметра функции "СформироватьПоднадзорного" необходимо указать поле документа, отвечающее за фактическое место доставки(отправки) продукции, а в качестве второго параметра - юридическое лицо получатель(отправитель) продукции.
0.00
(0 голосов)