Сформировать документ: различия между версиями

м Shihov переименовал страницу Асп.шлюз выгрузка:сформировать документ в Сформировать документ: Автоматическое переименование
Нет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
====== Пример формирования документа для выгрузки в АСП.Шлюз ======
====== Пример формирования документа для выгрузки в АСП.Шлюз ======


В примере используются следующие функции: [[шлюз_выгрузка:сформировать_хоз_субъект|СформироватьХозСубъект]]; [[шлюз_выгрузка:сформировать_поднадзорного|СформироватьПоднадзорного]]; [[шлюз_выгрузка:сформировать_строку_номенклатуры|СформироватьСтрокуНоменклатуры]]; [[шлюз_выгрузка:сформировать_связанные_документы|СформироватьСвязанныеДокументы]]; [[шлюз_выгрузка:сформировать_ттн|СформироватьТТН]]
В примере используются следующие функции:  
 
* [[сформировать_хоз_субъект|СформироватьХозСубъект]]
<1c>
* [[сформировать_поднадзорного|СформироватьПоднадзорного]]  
* [[сформировать_строку_номенклатуры|СформироватьСтрокуНоменклатуры]]
* [[сформировать_связанные_документы|СформироватьСвязанныеДокументы]]
* [[сформировать_ттн|СформироватьТТН]]


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


ДокументХ.Номер = Документ.Номер;
ДокументХ.Номер = Документ.Номер;
ДокументХ.Дата = Документ.Дата;
ДокументХ.Дата = Документ.Дата;
ДокументХ.ИННОрганизации = Документ.Организация.ИНН; //Указывается, если ведется учет по нескольким организациям
ДокументХ.ИННОрганизации = Документ.Организация.ИНН; // Указывается, если ведется учет по нескольким организациям
//Подразделение = Фабрика.Создать(Фабрика.Тип( ПространствоИмен(),"ПоднадзорныйОбъект"));
//Подразделение = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(), "ПоднадзорныйОбъект"));
//Подразделение.Код = "Код подразделения / склада / поднадзорного объекта организации";
//Подразделение.Код = "Код подразделения / склада / поднадзорного объекта организации";
<syntaxhighlight lang='bash'>
//ДокументХ.Подразделение = Подразделение; // Указывается, если ведется учет по нескольким подразделениям или организациям
ДокументХ.Подразделение = Подразделение;  
</syntaxhighlight>Указывается, если ведется учет по нескольким подразделениям или организациям
ДокументХ.ТипДокумента = ТипДокумента;
ДокументХ.ТипДокумента = ТипДокумента;
// заполняем контрагента
Если ДокументХ.ТипДокумента = "Перемещение" Тогда //перемещение в шлюзе = реализация+поступрелие. в качестве источника данных принимается документ реализации.
// Заполняем контрагента
ДокументХ.Подразделение = СформироватьПоднадзорного(Документ.СкладОтправитель,Документ.Организация,фабрика);
Если ДокументХ.ТипДокумента = "Перемещение" Тогда
ХозСубъект = СформироватьХозСубъект(Документ.Организация,фабрика);
// Перемещение в шлюзе = реализация+поступление.  
Поднадзорный = СформироватьПоднадзорного(Документ.СкладПолучатель,Документ.Организация,фабрика);
// В качестве источника данных принимается документ реализации.
ДокументХ.Подразделение = СформироватьПоднадзорного(Документ.СкладОтправитель, Документ.Организация, Фабрика);
ХозСубъект = СформироватьХозСубъект(Документ.Организация, Фабрика);
Поднадзорный = СформироватьПоднадзорного(Документ.СкладПолучатель, Документ.Организация, Фабрика);
Иначе
Иначе
ХозСубъект = СформироватьХозСубъект(Документ.Контрагент,фабрика);
ХозСубъект = СформироватьХозСубъект(Документ.Контрагент, Фабрика);
Поднадзорный = СформироватьПоднадзорного(Документ.Контрагент, Документ.Контрагент,фабрика); //#1
Поднадзорный = СформироватьПоднадзорного(Документ.Контрагент, Документ.Контрагент, Фабрика); // #1
КонецЕсли;
КонецЕсли;
Строка 39: Строка 46:
КонецЕсли;
КонецЕсли;
ДокументХ.Поднадзорный = Поднадзорный;
ДокументХ.Поднадзорный = Поднадзорный;
//ДокументХ.ТТН = СформироватьТТН(???,???);
//ДокументХ.ТТН = СформироватьТТН(???, ???);
// Табличные части
// Табличные части
Для каждого Стр из Документ.Товары Цикл
Для каждого Стр из Документ.Товары Цикл
ДокументХ.Товары.Добавить(СформироватьСтрокуНоменклатуры(Стр, Документ,Фабрика));
ДокументХ.Товары.Добавить(СформироватьСтрокуНоменклатуры(Стр, Документ, Фабрика));
КонецЦикла;
КонецЦикла;
//Список Материалов
// Список материалов
Для Каждого Стр Из Документ.Материалы Цикл
Для Каждого Стр Из Документ.Материалы Цикл
ДокументХ.Материалы.Добавить(СформироватьСтрокуНоменклатуры(Стр, Документ,Фабрика));
ДокументХ.Материалы.Добавить(СформироватьСтрокуНоменклатуры(Стр, Документ, Фабрика));
КонецЦикла;
КонецЦикла;
Строка 59: Строка 67:
Возврат ДокументХ;
Возврат ДокументХ;
КонецФункции
КонецФункции
</1c>
</syntaxhighlight>
#1 В зависимости от учетной системы, конечными получателем продукции (поднадзорным объектом) может быть Контрагент, Партнер, Склад получатель и т.д. При выгрузке документа в качестве первого параметра функции "СформироватьПоднадзорного" необходимо указать поле документа, отвечающее за фактическое место доставки(отправки) продукции, а в качестве второго параметра - юридическое лицо получатель(отправитель) продукции.
 
'''Примечание #1:''' В зависимости от учетной системы, конечным получателем продукции (поднадзорным объектом) может быть Контрагент, Партнер, Склад получатель и т.д. При выгрузке документа в качестве первого параметра функции "СформироватьПоднадзорного" необходимо указать поле документа, отвечающее за фактическое место доставки (отправки) продукции, а в качестве второго параметра - юридическое лицо получатель (отправитель) продукции.
 
[[Category:Асп.шлюз выгрузка]]
[[Category:Асп.шлюз выгрузка]]
<vote type=1 />