Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
шлюз_выгрузка:сформировать_документ [2019/03/07 15:21]
asp
— (текущий)
Строка 1: Строка 1:
-====== Пример формирования документа для выгрузки в АСП:​Шлюз ====== 
-В примере используются следующие функции:​ [[шлюз_выгрузка:​сформировать_хоз_субъект|СформироватьХозСубъект]];​ [[шлюз_выгрузка:​сформировать_поднадзорного|СформироватьПоднадзорного]];​ [[шлюз_выгрузка:​сформировать_строку_номенклатуры|СформироватьСтрокуНоменклатуры]];​ [[шлюз_выгрузка:​сформировать_связанные_документы|СформироватьСвязанныеДокументы]];​ [[шлюз_выгрузка:​сформировать_ттн|СформироватьТТН]] 
-<1c> 
-Функция СформироватьДокумент(Документ,​ ТипДокумента,​ Фабрика) Экспорт 
-  
- ДокументХ = Фабрика.Создать(Фабрика.Тип( ПространствоИмен(),"​Документ"​));​ 
  
- ДокументХ.Номер = Документ.Номер;​ 
- ДокументХ.Дата = Документ.Дата;​ 
- ДокументХ.ИННОрганизации = Документ.Организация.ИНН;​ //​Указывается,​ если ведется учет по нескольким организациям 
- //​Подразделение = Фабрика.Создать(Фабрика.Тип( ПространствоИмен(),"​ПоднадзорныйОбъект"​));​ 
- //​Подразделение.Код = "​Код подразделения / склада / поднадзорного объекта организации";​ 
- //​ДокументХ.Подразделение = Подразделение;​ //​Указывается,​ если ведется учет по нескольким подразделениям или организациям 
- ДокументХ.ТипДокумента = ТипДокумента;​ 
- // заполняем контрагента 
- Если ДокументХ.ТипДокумента = "​Перемещение"​ Тогда //​перемещение в шлюзе = реализация+поступрелие. в качестве источника данных принимается документ реализации.  
- ДокументХ.Подразделение =  СформироватьПоднадзорного(Документ.СкладОтправитель,​Документ.Организация,​фабрика);​ 
- ХозСубъект = СформироватьХозСубъект(Документ.Организация,​фабрика);​  
- Поднадзорный = СформироватьПоднадзорного(Документ.СкладПолучатель,​Документ.Организация,​фабрика);​  
- Иначе  
- ХозСубъект = СформироватьХозСубъект(Документ.Контрагент,​фабрика);​  
- Поднадзорный = СформироватьПоднадзорного(Документ.Контрагент,​ Документ.Контрагент,​фабрика);​ //#1  
- КонецЕсли;​ 
-  
- Если ТипЗнч(ХозСубъект) = Тип("​Строка"​) Тогда 
- Сообщить(ХозСубъект);​ 
- Возврат Неопределено;​ 
- КонецЕсли;​ 
- ДокументХ.ХозСубъект = ХозСубъект;​ 
-  
- Если ТипЗнч(Поднадзорный) = Тип("​Строка"​) Тогда 
- Сообщить(Поднадзорный);​ 
- Возврат Неопределено;​ 
- КонецЕсли;​ 
- ДокументХ.Поднадзорный = Поднадзорный;​ 
- //​ДокументХ.ТТН = СформироватьТТН(???,???​);​ 
-  
- // Табличные части  
- Для каждого Стр из Документ.Товары Цикл 
- ДокументХ.Товары.Добавить(СформироватьСтрокуНоменклатуры(Стр,​ Документ,​Фабрика));​ 
- КонецЦикла;​ 
-  
- //​Список Материалов 
- Для Каждого Стр Из Документ.Материалы Цикл 
- ДокументХ.Материалы.Добавить(СформироватьСтрокуНоменклатуры(Стр,​ Документ,​Фабрика));​ 
- КонецЦикла;​  
-  
- // Список пунктов перегрузки 
- //​ДокументХ.ПунктыПерегрузки.Добавить(СформироватьПунктПерегрузки(???​));​ 
-  
- // Список связанных документов 
- //​ДокументХ.СвязанныеДокументы.Добавить(СформироватьСвязанныеДокументы(???​)); ​ 
-  
- Возврат ДокументХ;​ 
-КонецФункции 
-</1c> 
- 
-#1 В зависимости от учетной системы,​ конечными получателем продукции (поднадзорным объектом) может быть Контрагент,​ Партнер,​ Склад получатель и т.д. При выгрузке документа в качестве первого параметра функции "​СформироватьПоднадзорного"​ необходимо указать поле документа,​ отвечающее за фактическое место доставки(отправки) продукции,​ а в качестве второго параметра - юридическое лицо получатель(отправитель) продукции. ​