Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
шлюз_выгрузка:описание_типов [2020/02/12 17:00]
misha [СправочникСпецификация]
— (текущий)
Строка 1: Строка 1:
-====== Типы объектов ====== 
-Полное описание XML-схемы можно {{ :​шлюз:​objecttypes.xsd |скачать тут}}. ​ 
-<1c> 
-Прокси = Новый WSПрокси(Определения,​ "​http://​88.99.106.214/​Mercury",​ СокрЛП("​DataExchangeGatewayV2"​),​СокрЛП("​DataExchangeGatewayV2Soap"​));​ 
  
-Фабрика = Прокси.ФабрикаXDTO;​ 
-</1c> 
----- 
- 
-====АктНесоответствия==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Серия|string|[0..1]||| 
-||Номер|string|[0..1]||| 
-||Дата|dateTime|[0..1]||| 
-||Причина|string|[0..1]||| 
-||ДетальноеОписание|string|[0..1]|| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьАктНесоответствия(Источник,​ Фабрика) 
- АктНесоответствия = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​АктНесоответствия"​));​ 
-  
- АктНесоответствия.Серия = Источник.Серия;​ 
- АктНесоответствия.Номер = Источник.Номер;​ 
- АктНесоответствия.Дата = Источник.Дата;​ 
- АктНесоответствия.Причина = Источник.Причина;​ 
- АктНесоответствия.ДетальноеОписание = Источник.ДетальноеОписание;​ 
-  
- Возврат АктНесоответствия;​ 
-КонецФункции 
-</1c> 
-++++ 
----- 
- 
-====ВетВрач==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||ФИО|string|[1..1]||| 
-||Логин|string|[1..1]||| 
-||Должность|string|[1..1]||| 
-++++ 
- 
----- 
- 
-====ВетеринарныйДокумент==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||СертифицируемыйДокумент|[[шлюз_выгрузка:​описание_типов#​документ|Документ]]|[0..1]||| 
-||НомерТТН|string|[0..1]||| 
-||ДатаТТН|dateTime|[0..1]||| 
-||ОтправительХозСубъект|string|[0..1]||| 
-||ОтправительИНН|string|[0..1]||| 
-||ОтправительПоднадзорный|string|[0..1]||| 
-||ОтправительАдрес|string|[0..1]||| 
-||ПолучательХозСубъект|string|[0..1]||| 
-||ПолучательИНН|string|[0..1]||| 
-||ПолучательПоднадзорный|string|[0..1]||| 
-||ПолучательАдрес|string|[0..1]||| 
-||Посредник|string|[0..1]||| 
-||УУИД|string|[0..1]||| 
-||Серия|string|[0..1]||| 
-||Номер|string|[0..1]||| 
-||Дата|dateTime|[0..1]||| 
-||ТипСертификата|string|[0..1]||| 
-||СтатусСертификата|string|[0..1]||| 
-||Форма|string|[0..1]||| 
-||Цель|string|[0..1]||| 
-||ВетВрач|[[шлюз_выгрузка:​описание_типов#​ветврач|ВетВрач]]|[0..1]||| 
-||Подкатегория|string|[0..1]||| 
-||ПодкатегорияГУИД|string|[0..1]||| 
-||КодПодкатегории|string|[0..1]||| 
-||Номенклатура|string|[0..1]||| 
-||ЕдиницаХранения|string|[0..1]||| 
-||ДатаВыработки|dateTime|[0..1]||| 
-||ДатаВыработкиДо|dateTime|[0..1]||| 
-||СрокГодности|dateTime|[0..1]||| 
-||СрокГодностиДо|dateTime|[0..1]||| 
-||СтранаПроизводитель|string|[0..1]||| 
-||Маркировки|string|[0..1]||| 
-||СкоропортящаясяПродукция|boolean|[0..1]||| 
-||НизкокачественнаяПродукция|boolean|[0..1]||| 
-||Количество|double|[0..1]||| 
-||КоличествоУпаковок|int|[0..1]||| 
-||СпособХраненияПриПеревозке|string|[0..1]||| 
-||РезультатыЛабИсследований|string|[0..1]||| 
-||ОтметкаОбследования|string|[0..1]||| 
-||БлагополучиеМестности|string|[0..1]||| 
-||СпециальныеОтметки|string|[0..1]||| 
-||ПредыдущиеВСД|string|[0..1]||| 
-||ПериодНахожденияЖивотных|string|[0..1]||| 
-||МесяцевНахожденияЖивотных|byte|[0..1]||| 
-||МестоПроведенияКарантирования|string|[0..1]||| 
-||КоличествоДнейКарантировани|int|[0..1]||| 
-||СведенияОИммунизации|string|[0..1]||| 
-||НомерРазрешенияНаВывоз|string|[0..1]||| 
-||ДатаРазрешенияНаВывоз|dateTime|[0..1]||| 
-||НомерРазрешенияНаВвоз|string|[0..1]||| 
-||ДатаРазрешенияНаВвоз|dateTime|[0..1]||| 
-||Транспорт|string|[0..1]||| 
-||Продуктивная|boolean|[0..1]||| 
-||ГУИДСкладскойЗаписи|string|[0..1]||| 
-||КодПартии|string|[0..1]||| 
-||СписокПроизводителей|[[шлюз_выгрузка:​описание_типов#​поднадзорныйобъект|ПоднадзорныйОбъект]]|[0..*]|||  ​ 
-||Упаковки|string|[0..*]||| 
-||ЛабИсследования|[[шлюз_выгрузка:​описание_типов#​лабИсследования|ЛабИсследования]]|[0..*]||| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьВетДокумент(Источник,​ Фабрика) 
- ВетеринарныйДокумент = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​ВетеринарныйДокумент"​));​ 
-  
- ВетеринарныйДокумент.УУИД = Источник.УУИД;​ 
- ВетеринарныйДокумент.Подкатегория = Источник.Подкатегория;​  
- ВетеринарныйДокумент.Серия = Источник.Серия;​ 
- ВетеринарныйДокумент.Номер = Источник.Номер;​ 
- ВетеринарныйДокумент.Дата = Источник.Дата;​  
- ВетеринарныйДокумент.ДатаВыработки = Источник.ДатаВыработкиОт;​ 
- ВетеринарныйДокумент.ДатаВыработкиДо = Источник.ДатаВыработкиДо;​ 
- ВетеринарныйДокумент.СрокГодности = Источник.СрокГодностиОт;​ 
- ВетеринарныйДокумент.СрокГодностиДо = Источник.СрокГодностиДо;​ 
- ВетеринарныйДокумент.ЛабИсследования.Добавить(СформироватьЛабИсследования(Источник.СтрокаТЧ))) 
- Возврат ВетеринарныйДокумент;​ 
-КонецФункции 
-</1c> 
-++++ 
- 
----- 
- 
-====ЛабИсследования==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||ID|string|[0..1]||| 
-||Мероприятие|string|[0..1]||| 
-||ТипМероприятия|string|[0..1]| __LBR__ - Лабораторные исследования,​ __UND__ - Не определен,​ __VSE__ - Ветеринарно-санитарная экспертиза,​ __IMM__ - Иммунизация живого животного,​ __MED__ - Обработка живого животного,​ __QRT__ - Карантин|| 
-||ДатаСобытия|dateTime|[0..1]||| 
-||МестоПроведения|string|[0..1]||| 
-||АдресМестаПроведения|string|[0..1]||| 
-||НазваниеОператора|string|[0..1]||| 
-||АдресОператора|string|[0..1]||| 
-||ДополнительныеСведения|string|[0..1]||| 
-||НомерЭкспертизы|string|[0..1]||| 
-||ПоказательБезопасности|string|[0..1]||| 
-||РезультатИсследования|string|[0..1]| __NEGATIVE__ - Отрицательный результат,​ __UNDEFINED__ - Результат невозможно определить (не нормируется),​ __POSITIVE__ - Положительный результат,​ __UNKNOWN__ - Результат неизвестен,​ UNFULFILLED - Не проводилось,​ VSERAW - ВСЭ подвергнуто сырьё, из которого произведена продукция,​ VSEFULL - Продукция подвергнута ВСЭ в полном объеме|| 
-||МетодИсследования|string|[0..1]||| 
-||Заключение|string|[0..1]||| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьЛабИсследования(Источник) 
-    ЛабИсследование =  Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"​ЛабИсследование"​));​ 
- 
-    //​ЛабИсследование.ID ​                  ​= ​ Источник.Код;​ 
-    ЛабИсследование.Мероприятие ​        ​= ​ "​Мероприятие";​ 
-    ЛабИсследование.ТипМероприятия ​     =  "​LBR"/"​UND"/"​VSE"/"​IMM"/"​MED"/"​QRT";​ 
-    ЛабИсследование.ДатаСобытия ​        ​= ​ Источник.Дата;​ 
-    ЛабИсследование.МестоПроведения ​    ​= ​ Строка(Источник.МестоПроведения);​ 
-    ЛабИсследование.АдресОператора ​     =  Строка(Источник.АдресОператора);​ 
-    ЛабИсследование.НазваниеОператора ​  ​= ​ Строка(Источник.НазваниеОператора);​ 
-    ЛабИсследование.ПоказательБезопасности ​ = Строка(Источник.ПоказательБезопасности);​ 
-    ЛабИсследование.РезультатИсследования ​  = "​NEGATIVE"/"​UNDEFINED"/"​POSITIVE"/"​UNKNOWN"/"​UNFULFILLED"/"​VSERAW"/"​VSEFULL"; ​ 
-    ЛабИсследование.МетодИсследования ​      = Строка(Источник.МетодИсследования);//​должен совпадать со шлюзом 
-    ЛабИсследование.Заключение ​             = Строка(Источник.Заключение);​ 
-    ЛабИсследование.АдресМестаПроведения ​   = Строка(Источник.АдресМестаПроведения);​ 
-    ​ 
-    Возврат ​ ЛабИсследование;​ 
-КонецФункции 
-</1c> 
-++++ 
- 
----- 
-====ГруппаНоменклатуры==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Код|string|[0..1]|Поле обязательно,​ если не заполнен ПолныйКод|| 
-||ПолныйКод|string|[0..1]|Поле обязательно,​ если не заполнен Код|| 
-||Наименование|string|[1..1]||| 
-||Подкатегория|string|[0..1]||| 
-||Родитель|[[шлюз_выгрузка:​описание_типов#​группаноменклатуры|ГруппаНоменклатуры]]|[0..1]|| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьГруппу(Группа,​ Фабрика)  
- ГруппаНоменклатуры = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),​ "​ГруппаНоменклатуры"​));​  
- 
- ГруппаНоменклатуры.Код = Группа.Код;​ 
- ГруппаНоменклатуры.Наименование = Группа.Наименование;​ 
- //​ГруппаНоменклатуры.Подкатегория = ???; 
- Если НЕ Группа.Родитель.Пустая() И  Группа.Родитель.ЭтоГруппа Тогда 
- ГруппаНоменклатуры.Родитель = СформироватьГруппу(Группа.Родитель,​ Фабрика);​ 
- КонецЕсли;​ 
-  
- Возврат ГруппаНоменклатуры;​ 
-КонецФункции 
-</1c> 
-++++ 
----- 
- 
-====ДанныеЗагрузки==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||МассивДокументов|[[шлюз_выгрузка:​описание_типов#​документ|Документ]]|[1..*]||| 
-||ОбновитьКонтрагента|boolean|[1..1]||| 
-||Регистрировать|boolean|[1..1]||| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-ДанныеЗагрузки = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​ДанныеЗагрузки"​));​ 
-ДанныеЗагрузки.Регистрировать = (ВидВыгрузки = 2); 
-ДанныеЗагрузки.ОбновитьКонтрагента = Истина;​ //​Можно вынести на форму как поле выбора 
-</1c> 
-<1c> 
-Для Каждого Стр Из ТаблицаДок Цикл  
- Док = СформироватьДокумент(Стр.Ссылка,​ Фабрика);​ 
- Если Док <> Неопределено Тогда ​ 
- ДанныеЗагрузки.МассивДокументов.Добавить(Док);​ 
- КонецЕсли;​ 
-КонецЦикла;​ 
-</1c> 
-++++ 
- 
----- 
- 
-====ДанныеОтвета==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||МассивРезультатов|[[шлюз_выгрузка:​описание_типов#​ответсервиса|ОтветСервиса]]|[0..*]||| 
-++++ 
- 
----- 
- 
-====Док==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Дата|dateTime|[1..1]||| 
-||Номер|string|[1..1]||| 
-||Серия|string|[1..1]||| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьТТН(Дата,​Номер,​ Фабрика) 
- Док = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​Док"​));​ 
- Док.Дата = Дата; 
- Док.Номер = СокрЛП(Номер);​ 
- Док.Серия = ???; 
- Возврат Док; 
-КонецФункции 
-</1c> 
-++++ 
- 
----- 
- 
-====Документ==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||ТипДокумента|string|[1..1]||| 
-||Номер|string|[1..1]||| 
-||Дата|dateTime|[1..1]||| 
-||ДатаИнвентаризации|dateTime|[1..1]|Указывается,​ если в шлюз выгружается инвентаризация|| 
-||ИННОрганизации|string|[0..1]|Указывается,​ если в одном шлюзе ведется несколько организаций. В противном случае поле игнорируется.|| 
-||Подразделение|[[шлюз_выгрузка:​описание_типов#​поднадзорныйобъект|ПоднадзорныйОбъект]]|[0..1]|Указывается,​ если в одном шлюзе ведется несколько подразделений. В противном случае поле игнорируется.|| 
-||ХозСубъект|[[шлюз_выгрузка:​описание_типов#​хозяйствующийсубъект|ХозяйствующийСубъект]]|[0..1]|Не указывается для производственных документов,​ в противном случае поле обязательно.|| 
-||Поднадзорный|[[шлюз_выгрузка:​описание_типов#​поднадзорныйобъект|ПоднадзорныйОбъект]]|[0..1]|Не указывается для производственных документов,​ в противном случае поле обязательно.|| 
-||ДатаИнвентаризации|dateTime|[0..1]||| 
-||АктНесоответствия|[[шлюз_выгрузка:​описание_типов#​АктНесоответствия|АктНесоответствия]]|[0..1]||| 
-||ТТН|[[шлюз_выгрузка:​описание_типов#​Док|Док]]|[0..1]||| 
-||ТТНВозврат|[[шлюз_выгрузка:​описание_типов#​Док|Док]]|[0..1]||| 
-||Транспорт|[[шлюз_выгрузка:​описание_типов#​Транспорт|Транспорт]]|[0..1]||| 
-||Посредник|[[шлюз_выгрузка:​описание_типов#​ХозяйствующийСубъект|ХозяйствующийСубъект]]|[0..1]||| 
-||РозничнаяРеализация|boolean|[0..1]||| 
-||КодСпецификации|string|[0..1]|Используется до «Производства». Код элемента справочника «Спецификации». Устанавливает отбор определенной спецификации при автоматическом формировании материалов.|| 
-||Товары|[[шлюз_выгрузка:​описание_типов#​СтрокаНоменклатуры|СтрокаНоменклатуры]]|[0..*]||| 
-||Несоответствия|[[шлюз_выгрузка:​описание_типов#​СтрокаНоменклатуры|СтрокаНоменклатуры]]|[0..*]||| 
-||ТоварыВозврат|[[шлюз_выгрузка:​описание_типов#​СтрокаНоменклатуры|СтрокаНоменклатуры]]|[0..*]||| 
-||Материалы|[[шлюз_выгрузка:​описание_типов#​СтрокаНоменклатуры|СтрокаНоменклатуры]]|[0..*]||| 
-||ВетДокумент|[[шлюз_выгрузка:​описание_типов#​ВетеринарныйДокумент|ВетеринарныйДокумент]]|[0..*]||| 
-||ПунктыПерегрузки|[[шлюз_выгрузка:​описание_типов#​ПунктПерегрузки|ПунктПерегрузки]]|[0..*]||| 
-||СвязанныеДокументы|[[шлюз_выгрузка:​описание_типов#​СвязанныйДокумент|СвязанныйДокумент]]|[0..*]||| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьДокумент(Документ,​ Фабрика) ​ 
- ДокументХ = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​Документ"​));​ 
-  
- ДокументХ.ТипДокумента = ТипВШлюзе(Документ.Метаданные().Имя);​ 
- ДокументХ.Номер = Документ.Номер;​ 
- ДокументХ.Дата = Документ.Дата;​ 
- Если ДокументХ.ТипДокумента <> "​Инвентаризация" ​ Тогда  
- ДокументХ.ДатаИнвентаризации = Документ.Дата;​ 
- КонецЕсли;​  
- ДокументХ.ИННОрганизации = Документ.Организация.ИНН;​ //​Указывается,​ если ведется учет по нескольким организациям 
- //​ДокументХ.Подразделение = СформироватьПоднадзорного(???​);​ //​Указывается,​ если ведется учет по нескольким подразделениям или организациям 
-  
- ХозСубъект = СформироватьХозСубъект(Документ.Контрагент,​ Фабрика);​ 
- Если ТипЗнч(ХозСубъект) = Тип("​Строка"​) Тогда 
- Сообщить(ХозСубъект);​ 
- Возврат Неопределено;​ 
- КонецЕсли;​ 
- ДокументХ.ХозСубъект = ХозСубъект;​ 
-  
- Поднадзорный = СформироватьПоднадзорного(Документ.Контрагент,​Документ.Контрагент,​ Фабрика);​ 
- Если ТипЗнч(Поднадзорный) = Тип("​Строка"​) Тогда 
- Сообщить(Поднадзорный);​ 
- Возврат Неопределено;​ 
- КонецЕсли;​ 
- ДокументХ.Поднадзорный = Поднадзорный;​ 
-  
- //​ДокументХ.ДатаИнвентаризации = ???; 
- //​ДокументХ.АктНесоответствия = СформироватьАктНесоответствия(???​);​ 
- //​ДокументХ.ТТН = СформироватьТТН(???,???​);​ 
- //​ДокументХ.ТТНВозврат = СформироватьТТН(???,???​);​ 
-  
- ИскомоеПоле = Новый ПолеКомпоновкиДанных("​Товары.Номенклатура"​);​ 
- Для Каждого Элем Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл 
- Если Элем.ЛевоеЗначение = ИскомоеПоле И (Элем.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии ИЛИ Элем.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии) Тогда ​ 
- ФильтрГруппы = Элем; 
- КонецЕсли;​ 
- КонецЦикла;​ 
- 
- // Табличные части 
- Для Каждого Стр Из Документ.Товары Цикл 
- Если ФильтрГруппы <> Неопределено Тогда 
- Если ТипЗнч(ФильтрГруппы.ПравоеЗначение) = Тип("​СписокЗначений"​) Тогда 
- СостоитВГруппе = Ложь; 
- Для Каждого Группа Из ФильтрГруппы.ПравоеЗначение Цикл 
- Если Стр.Номенклатура.ПринадлежитЭлементу(Группа.Значение) Тогда 
- СостоитВГруппе = Истина;​ 
- Прервать;​ 
- КонецЕсли;​ 
- КонецЦикла;​ 
- Если НЕ СостоитВГруппе Тогда ​ 
- Продолжить;​ 
- КонецЕсли;​ 
- ИначеЕсли НЕ Стр.Номенклатура.ПринадлежитЭлементу(ФильтрГруппы.ПравоеЗначение) Тогда 
- Продолжить;​ 
- КонецЕсли;​ 
- КонецЕсли;​ 
- ДокументХ.Товары.Добавить(СформироватьСтрокуНоменклатуры(Стр,​ Фабрика));​ 
- КонецЦикла;​ 
-  
- // Списко материалов 
- //​ДокументХ.Материалы.Добавить(СформироватьСтрокуНоменклатуры(???​);​  
-  
- // Списко материалов 
- //​ДокументХ.Несоответствия.Добавить(СформироватьСтрокуНоменклатуры(???​);​ 
-  
- // Списко возвращемых товаров 
- //​ДокументХ.ТоварыВозврат.Добавить(СформироватьСтрокуНоменклатуры(???​);​ 
-  
- // Список входящих сертификатов (при покатегорийной регистрации) 
- //​ДокументХ.ВетДокумент.Добавить(СформироватьВетДокумент(???​));​ 
-  
- // Список пунктов перегрузки 
- //​ДокументХ.ПунктыПерегрузки.Добавить(СформироватьПунктПерегрузки(???​));​ 
-  
- //​Список связанных документов 
- //​ДокументХ.СвязанныеДокументы.Добавить(СформироватьСвязанныеДокументы(???​))  
- 
- Возврат ДокументХ;​ 
-КонецФункции 
-</1c> 
-++++ 
-++++Пример заполнения XML 
-| 
-<file xml example.xml>​ 
- 
-</​file>​ 
-++++ 
----- 
- 
-====Номенклатура==== ​ 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Код|string|[0..1]|При выгрузке номенклатуры обязательно нужно указывать одно из 2-х полей: "​Код"​ или "​ПолныйКод"​.|| 
-||ПолныйКод|string|[0..1]|Поле обязательно,​ если не заполнен Код|| 
-||Наименование|string|[1..1]||| 
-||НаименованиеПолное|string|[1..1]||| 
-||Группа|[[шлюз_выгрузка:​описание_типов#​ГруппаНоменклатуры|ГруппаНоменклатуры]]|[0..1]||| 
-||Артикул|string|[0..1]|| 
-||Гост|string|[0..1]|| 
-||Упаковка|string|[0..1]|ГУИД упаковки.| 
-||ЕдХранения|string|[0..1]|Наименование или ГУИД единицы хранения. Наименование должно совпадать с наименованием единици хранения в шлюзе.| 
-||Скоропортящаяся|boolean|[0..1]|| 
-||Некачественная|boolean|[0..1]|| 
-||Комментарий|string|[0..1]|| 
-||GTIN|string|[0..1]|| 
-||Подкатегория|string|[0..1]|ГУИД подкатегории в системе Меркурий| 
-||СрокГодности|int|[0..1]|Срок годности ЧАС| 
-||СрокГодностиДень|int|[0..1]|Срок годности ДЕНЬ| 
-||СрокГодностиМесяц|int|[0..1]|Срок годности МЕСЯЦ| 
-||СрокГодностиГод|int|[0..1]|Срок годности ГОД| 
-||Фасовка|[[шлюз_выгрузка:​описание_типов#​Фасовка|Фасовка]]|[0..*]|Заполнение расширенной фасовки|| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьНоменклатуру(Номенклатура,​ Фабрика) 
- НоменклатураХ = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​Номенклатура"​));​ 
-  
- Если "​Контроль уникальности"​ = "Во всем справочнике"​ Тогда 
- НоменклатураХ.Код = Номенклатура.Код;​ 
- Иначе 
- НоменклатураХ.ПолныйКод = Номенклатура.ПолныйКод();​ 
- КонецЕсли;​ 
- НоменклатураХ.Наименование = Номенклатура.Наименование;​ 
- НоменклатураХ.НаименованиеПолное = Номенклатура.НаименованиеПолное;​ 
- НоменклатураХ.Артикул = Номенклатура.Артикул;​ 
- //​НоменклатураХ.Гост = ???; 
- //​НоменклатураХ.Упаковка = ???;  
- //​НоменклатураХ.Подкатегория = ???; 
- НоменклатураХ.ЕдХранения = Номенклатура.ЕдиницаИзмерения.Наименование; ​ 
- НоменклатураХ.Скоропортящаяся = Ложь; 
- НоменклатураХ.Некачественная = Ложь; 
- НоменклатураХ.Фасовка.Добавить(СформироватьФасовку(Номенклатура,​Фабрика));​  
- НоменклатураХ.Комментарий = "​перенесено через XDTO"; 
-  
- Если НЕ Номенклатура.Родитель.Пустая() И  Номенклатура.Родитель.ЭтоГруппа тогда 
- НоменклатураХ.Группа = СформироватьГруппу(Номенклатура.Родитель,​ Фабрика);​ 
- КонецЕсли;​ 
-  
- Возврат НоменклатураХ;​ 
-КонецФункции 
-</1c> 
-++++ 
-++++Сопоставление и обновление ​ 
-| 
-Номенклатура сопоставляется одним из 2-х способов:​ по коду или полному коду(контроль уникальности в пределах подчинения,​ в таком случае в шлюзе устанавливается соответствие по полю "​ключ загрузки"​ по моему). При выгрузке документа данные номенклатуры не изменяются,​ однако новая номенклатура будет создана. При повторной выгрузке номенклатуры из учетной системы будут изменены только передаваемые поля и только в том случае,​ если не заблокировано редактирование номенклатуры (при изменении в шлюзе возникает диалоговое окно "​Запретить редактирование из учетной системы?"​). 
-++++ 
----- 
- 
-====ОтветСервиса==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Документ|[[шлюз_выгрузка:​описание_типов#​Документ|Документ]]|[1..1]||| 
-||РезультатТранзакции|[[шлюз_выгрузка:​описание_типов#​РезультатТранзакции|РезультатТранзакции]]|[1..1]||| 
-++++ 
- 
----- 
- 
-====ПоднадзорныйОбъект==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Код|string|[1..1]||| 
-||Наименование|string|[0..1]||| 
-||НаименованиеПолное|string|[0..1]||| 
-||ХозСубъект|[[шлюз_выгрузка:​описание_типов#​ХозяйствующийСубъект|ХозяйствующийСубъект]]|[0..1]||| 
-||Тип|int|[0..1]|Тип поднадзорного объекта:​1 - пердприятие;​ 2 - рынок; 3 - СББЖ; 4 - судно|| 
-||Страна|string|[0..1]||| 
-||Регион|string|[0..1]||| 
-||Район|string|[0..1]||| 
-||Город|string|[0..1]||| 
-||Улица|string|[0..1]||| 
-||Адрес|string|[0..1]|Если поле заполнено по классификатору,​ остальные адресные поля могут быть заполнены автоматически в шлюзе в результате парсинга строки адреса|| 
-||Комментарий|string|[0..1]||| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьПоднадзорного(Партнер,​ Контрагент,​ Фабрика) 
- ПоднадзорныйОбъект = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​ПоднадзорныйОбъект"​));​ 
-  
- ПоднадзорныйОбъект.Наименование = Партнер.Наименование;​ 
- ПоднадзорныйОбъект.НаименованиеПолное = Партнер.НаименованиеПолное;​ 
- ПоднадзорныйОбъект.Код = Партнер.Код;​ 
- ПоднадзорныйОбъект.Тип = 1; 
- ПоднадзорныйОбъект.Комментарий = Партнер.Комментарий;​ 
-  
- Результат = СформироватьХозСубъект(Контрагент,​ Фабрика);​ 
- Если ТипЗнч(Результат)= Тип("​Строка"​) Тогда 
- Возврат Результат;​ 
- Иначе 
- ПоднадзорныйОбъект.ХозСубъект = Результат;​ 
- КонецЕсли;​ 
-  
- ЕстьАдрес = Ложь;  
- Для Каждого Инф Из Партнер.КонтактнаяИнформация Цикл ​ 
- Если Инф.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес 
- И Найти(Инф.Вид.Наименование,​ "​Фактический адрес"​)<>​ 0 Тогда 
- ЕстьАдрес = Истина;​ 
- ЗаполнениеКонтактнойИнформации(ПоднадзорныйОбъект,​ Инф); 
- Прервать;​ 
- КонецЕсли;​ 
- КонецЦикла;​ 
- Если НЕ ЕстьАдрес Тогда 
- Возврат Партнер.Наименование + "​(поднадзорный):​ необходимо заполнить Фактический адрес";​ 
- КонецЕсли;​ 
-  
- Возврат ПоднадзорныйОбъект;​ 
-КонецФункции 
-</1c> 
-++++ 
-++++Сопоставление и обновление ​ 
-| 
-Поднадзорные объекты сопоставляется по коду. При выгрузке документа данные ПО могут меняться или нет в зависимости от значения передаваемого параметра "​ОбновитьКонтрагента"​. При повторной выгрузке ПО из учетной системы будут изменены только передаваемые поля и только в том случае,​ если не заблокировано редактирование из обработки (при изменении в шлюзе возникает диалоговое окно "​Запретить редактирование из учетной системы?"​). 
-++++ 
----- 
- 
-====ПунктПерегрузки==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Название|string|[1..1]||| 
-||Предприятие|[[шлюз_выгрузка:​описание_типов#​ПоднадзорныйОбъект|ПоднадзорныйОбъект]]|[1..0]||| 
-||НовыйТранспорт|[[шлюз_выгрузка:​описание_типов#​Транспорт|Транспорт]]|[1..0]||| 
-||АдресСтрокой|string|[1..0]||| 
-||Перезгрузка|boolean|[1..0]|Истина - в данном пункте перегрузки происходит смена транспорта|| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьПунктПерегрузки(Источник,​ Фабрика) 
- ПунктПерегрузки = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​ПунктПерегрузки"​));​ 
-  
- ПунктПерегрузки.Название = Источник.Название;​ 
- ПунктПерегрузки.НовыйТранспорт = СформироватьТранспорт(Источник.Транспорт,​ Фабрика);​ 
-  
- Возврат ПунктПерегрузки;​ 
-КонецФункции 
-</1c> 
-++++ 
- 
----- 
- 
-====РезультатТранзакции==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||ВетДокумент|[[шлюз_выгрузка:​описание_типов#​ВетеринарныйДокумент|ВетеринарныйДокумент]]|[0..*]||| 
-||УУИД|string|[0..*]||| 
-||Результат|string|[1..1]||| 
-++++ 
- 
----- 
- 
-====СпецификацияНоменклатуры==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Спецификация|[[шлюз_выгрузка:​описание_типов#​СтрокаСпецификации|СтрокаСпецификации]]|[0..*]||| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьСпецификацию(Ссылка,​Фабрика) 
- СпецификацияНоменклатуры = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​СпецификацияНоменклатуры"​));​ 
- Для Каждого Стр из Ссылка.Состав Цикл 
- СтрокаСпецификации = СоздатьСтрокуСпецификации(Ссылка.Владелец,​Стр,​Фабрика);​ 
- СпецификацияНоменклатуры.Спецификация.Добавить(СтрокаСпецификации);​ 
- КонецЦикла;​ 
- Возврат СпецификацияНоменклатуры;​ 
-КонецФункции 
- 
-</1c> 
-++++ 
- 
- 
----- 
- 
-====АналогиНоменклатуры==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Аналог|[[шлюз_выгрузка:​описание_типов#​СтрокаАналогов|СтрокаАналогов]]|[0..*]||| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьАналоги(Ссылка,​Фабрика) 
- АналогиНоменклатуры = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​АналогиНоменклатуры"​));​ 
- Для Каждого Стр из Ссылка.Состав Цикл 
- СтрокаАналогов = СоздатьСтрокуАналогов(Стр.Владелец,​Стр.Материал,​Фабрика);​ 
- АналогиНоменклатуры.Аналоги.Добавить(СтрокаАналогов);​ 
- КонецЦикла;​ 
-  
- Возврат АналогиНоменклатуры;​ 
-КонецФункции 
-</1c> 
-++++ 
----- 
- 
-====СтрокаАналогов==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Товар|[[шлюз_выгрузка:​описание_типов#​Номенклатура|Номенклатура]]|[1..1]||| 
-||Материал|[[шлюз_выгрузка:​описание_типов#​Номенклатура|Номенклатура]]|[1..1]||| 
-||Коэффициент|double|[1..1]||| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СоздатьСтрокуАналогов(Товар,​Строка,​Фабрика) 
- СтрокаАналогов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​СтрокаАналогов"​));​ 
- СтрокаАналогов.Товар = СформироватьНоменклатуру(Товар,​Фабрика);​ 
- СтрокаАналогов.Материал = СформироватьНоменклатуру(Строка.Материал,​Фабрика);​ 
- СтрокаАналогов.Коэффициент ​ = Строка.Коэффициент;​ 
- Возврат СтрокаАналогов;​ 
-Конецфункции 
- 
-</1c> 
-++++ 
- 
----- 
- 
-====СписокДокументов==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Документы|[[шлюз_выгрузка:​описание_типов#​Документ|Документ]]|[0..*]||| 
-||Сертификаты|[[шлюз_выгрузка:​описание_типов#​ВетеринарныйДокумент|ВетеринарныйДокумент]]|[0..*]||| 
-++++ 
- 
----- 
- 
-====СтрокаНоменклатуры==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Номенклатура|[[шлюз_выгрузка:​описание_типов#​Номенклатура|Номенклатура]]|[1..1]||| 
-||Количество|double|[1..1]||| 
-||КоличествоУпаковок|int|[0..1]|Используется при создании ВСД для [[1_основная_инструкция:​3_шлюз:​3_функционал_интеграции:​3_работа_с_товарами_номенклатурой:​5_работа_с_фасовками_и_упаковками|заполнения фасовки]]. || 
-||ВетДокумент|[[шлюз_выгрузка:​описание_типов#​ВетеринарныйДокумент|ВетеринарныйДокумент]]|[0..1]|Используется для выгрузки сроков годности,​ номера и даты вет. документа. || 
-||ГУИДСкладскойЗаписи|string|[0..1]||| 
-||КодПартии|string|[0..1]|Используется для выгрузки Кода партии при выгрузке входящих документов.|| 
-||Фильтр|[[шлюз_выгрузка:​описание_типов#​Фильтр|Фильтр]]|[0..1]|Используется для выгрузки сроков годности,​ производителя и КодаПартии в исходящих документах. На основании этих данных будет подбираться складская запись для списания.|| 
-||GTIN|string|[0..1]||| 
-||Артикул|string|[0..1]||| 
-||Маркировки|string|[0..1]||| 
-||Фасовка|[[шлюз_выгрузка:​описание_типов#​Фасовка|Фасовка]]|[0..*]|Таблица для расширенного заполнения фасовки.|| 
- 
-Строка **Маркировок** имеет следующую структуру:​ **УровеньУпаковки:​КлассМаркировки:​Маркировка**. Доступные **классы** маркировки:​ UNDEFINED, BN, SSCC, EAN8, EAN13, EAN128, BUNDLE. **Уровень упаковки** принимает значения:​ 
-||**Значение**|**Описание**|| 
-||1|Внутренний|| 
-||2|Потребительский|| 
-||3|Промежуточный|| 
-||4|Торговый|| 
-||5|Дополнительный|| 
-||6|Транспортный|| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьСтрокуНоменклатуры(СтрокаТЧ,​ Фабрика) 
- СтрокаНоменклатуры = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​СтрокаНоменклатуры"​));​ 
-  
- СтрокаНоменклатуры.Номенклатура = СформироватьНоменклатуру(СтрокаТЧ.Номенклатура,​ Фабрика);​ 
- СтрокаНоменклатуры.Количество = СтрокаТЧ.Количество;​ //​нужно вычислять вес 
- СтрокаНоменклатуры.КоличествоУпаковок = Окр(СтрокаТЧ.Количество,​0,​РежимОкругления.Окр15как20);​ //​нужно вычислять количество упаковок 
- //​СтрокаНоменклатуры.ВетДокумент = СформироватьВетДокумент(???​);​ 
-  
- //Если ИспользоватьФильтр Тогда ​ 
- //​ СтрокаНоменклатуры.Фильтр = СформироватьФильтр("???",​Фабрика);​ 
- //​КонецЕсли;​ 
-  
- //​СтрокаНоменклатуры.КодПартии = "???";​  
-  
- Возврат СтрокаНоменклатуры;​ 
-КонецФункции 
-</1c> 
-++++ 
-++++Пример заполнения XML 
-| 
-<file xml example.xml>​ 
- 
-</​file>​ 
-++++ 
----- 
- 
-====СтрокаСпецификации==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Период|date|[1..1]||| 
-||Товар|[[шлюз_выгрузка:​описание_типов#​Номенклатура|Номенклатура]]|[1..1]||| 
-||Материал|[[шлюз_выгрузка:​описание_типов#​Номенклатура|Номенклатура]]|[1..1]||| 
-||Количество|double|[1..1]||| 
-||Кратность|double|[1..1]|| 
-||Спецификация|[[шлюз_выгрузка:​описание_типов#​СправочникСпецификация|СправочникСпецификация]]|[0..1]|Структура,​ содержащая код элемента справочника "​Спецификации",​ а также наименование и код подразделения. Если данное поле заполнено,​ стока спецификации будет подбираться только при явном указании данной спецификации в производственном документе. Если По коду не найдена спецификация в справочнике,​ она будет создана,​ если заполнено наименование. Если заполнен код подразделения спецификации,​ она будет закреплена за определенным подразделением.| 
-||КодПодразделения|string|[0..1]|Код подразделения организации. Данное поле Игнорируется,​ если заполнен КодСпецификации. Если поле заполнено,​ стока спецификации будет подбираться только для производственных документов по указанному подразделению.| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СоздатьСтрокуСпецификации (Товар,​Строка,​Фабрика) 
- СтрокаСпецификации = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​СтрокаСпецификации"​));​ 
- СтрокаСпецификации.Товар = СформироватьНоменклатуру(Товар,​Фабрика);​ 
- СтрокаСпецификации.Материал = СформироватьНоменклатуру(Строка.Номенклатура,​Фабрика);​ 
- СтрокаСпецификации.Количество = Строка.Количество;​ 
- СтрокаСпецификации.Кратность = Строка.КоличествоПродукции;​ 
- СтрокаСпецификации.Период = ТекущаяДата();​ 
- Возврат СтрокаСпецификации;​ 
-Конецфункции 
- 
- 
-</1c> 
-++++ 
----- 
-====СправочникСпецификация==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Код|string|[1..1]||| 
-||Наименование|string|[0..1]|Наименование спецификации.|| 
-||КодПодразделения|string|[0..1]|Код подразделения (производственной площадки) организации. Если заполнен код подразделения спецификации,​ она будет закреплена за определенным подразделением.|| 
- 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СоздатьСправочникСпецификация(Товар,​Строка,​Фабрика) 
- СправочникСпецификация = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​СправочникСпецификация"​));​ 
- СправочникСпецификация.Код = "​123";​ 
- СправочникСпецификация.Наименование = "​Наименование элемента в справочнике";​ 
- СправочникСпецификация.КодПодразделения = "​КодПодразделения"; ​ 
- Возврат СправочникСпецификация;​ 
-Конецфункции 
- 
- 
-</1c> 
-++++ 
----- 
- 
-====Транспорт==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||ТипТС|string|[1..1]||| 
-||НомерАвтомобиля|string|[0..1]||| 
-||НомерКонтейнера|string|[0..1]||| 
-||НомерВагона|string|[0..1]||| 
-||НомерПрицепа|string|[0..1]||| 
-||НазваниеСудна|string|[0..1]||| 
-||НомерАвиарейса|string|[0..1]||| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьТранспорт(Источник,​ Фабрика) 
- //Типы ТС: 
- //​автомобильный 
- //​железнодорожный 
- //​авиатранспорт 
- //​морской_контейнер 
- //​морской_трюм 
-  
- Транспорт = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​Транспорт"​));​ 
-  
- Транспорт.ТипТС = Источник.ТипТС;​ 
- Транспорт.НомерАвтомобиля = "​---";​ 
- //​Транспорт.НомерКонтейнера = ???; 
- //​Транспорт.НомерВагона = ???; 
- //​Транспорт.НомерПрицепа = ???; 
- //​Транспорт.НазваниеСудна = ???; 
- //​Транспорт.НомерАвиарейса = ???; 
-  
- Возврат Транспорт;​ 
-КонецФункции 
-</1c> 
-++++ 
-++++Пример заполнения XML 
-| 
-<file xml example.xml>​ 
- 
-</​file>​ 
-++++ 
----- 
- 
-====Фильтр==== 
-Позволяет установить условия отбора складских записей для товаров реализации и материалов производства. 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||ДатаВыработки|dateTime|[0..1]||| 
-||ДатаВыработкиДо|dateTime|[0..1]||| 
-||СрокГодности|dateTime|[0..1]||| 
-||СрокГодностиДо|dateTime|[0..1]||| 
-||Производитель|string|[0..1]|Строка,​ содержащая Гуид производителя в Меркурий или код поднадзорного объекта в шлюзе. Поднадзорный объект должен быть сопоставлен/​зарегистрирован в Меркурий (иметь ГУИД в шлюзе)|| 
-||КодПартии|string|[0..1]|Используется для отражения партионного учета. (статический режим)|| 
-||ИмяТовара|string|[0..1]|Отбор складских записей по наименованию продукции (динамический режим)|| 
-||ВсдУуид |string|[0..1]|Отбор складских записей по гуиду сертификата (версия 2.0)|| 
-||СтранаПроизводитель|string|[0..1]|Отбор складских записей по стране производителя,​ наименование или ГУИД|| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьФильтр(Источник,​ Фабрика)  
- Фильтр = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),​ "​Фильтр"​));​  
- 
- //​Фильтр.ДатаВыработки = ???;// дата выработки не раньше 
- //​Фильтр.ДатаВыработкиДо = ???;// дата выработки не позже 
- //​Фильтр.СрокГодности = КонецДня(Источник.Дата)+1;//​ срок годности истекает не раньше начала следующиего дня 
- //​Фильтр.СрокГодностиДо = ???;// срок годности не больше 
- //​Фильтр.Производитель = ???;// строка,​ содержащая Гуид производителя в Меркурий или код поднадзорного объекта в шлюзе. Поднадзорный объект должен быть сопоставлен/​зарегистрирован в Меркурий 
- //​Фильтр.КодПартии = ???;// используется для отражения партионного учета 
- //​Фильтр.ИмяТовара = ???;// отбор складских записей по наименованию продукции (динамический режим) 
- //​Фильтр.ВсдУуид ​                = ???;// отбор складских записей по гуиду сертификата (версия 2.0) 
- //​Фильтр.СтранаПроизводитель ​    = ???;// отбор складских записей по стране производителя,​ наименование или ГУИД 
-  
- Возврат Фильтр;​ 
-КонецФункции 
-</1c> 
-++++ 
-++++Пример заполнения XML 
-| 
-<file xml example.xml>​ 
- 
-</​file>​ 
-++++ 
----- 
- 
-====ХозяйствующийСубъект==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Наименование|string|[0..1]||| 
-||НаименованиеПолное|string|[0..1]||| 
-||ЮрФизЛицо|string|[0..1]|Возможные значения:​ "​Юр",​ "​Физ",​ "​ИП"​. Поле обязательно к заполнению,​ если данный контрагент отсутствует в шлюзе, или при выгрузке документа установлен флаг "​ОбновитьКонтрагента"​|| 
-||ИНН|string|[1..1]||| 
-||ОГРН|string|[0..1]|| 
-||Страна|string|[0..1]|| 
-||Регион|string|[0..1]|| 
-||Район|string|[0..1]|| 
-||Город|string|[0..1]|| 
-||Улица|string|[0..1]|| 
-||Адрес|string|[0..1]|Если поле заполнено по классификатору,​ остальные адресные поля могут быть заполнены автоматически в шлюзе в результате парсинга строки адреса|| 
-||Комментарий|string|[0..1]|| 
-||Организация|boolean|[0..1]|Истина - данный хоз. субъект является собственной организацией. Подробное описание использования приведено в примечании.| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьХозСубъект(Контрагент,​ Фабрика) 
- ХозСубъект = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​ХозяйствующийСубъект"​));​ 
-  
- ХозСубъект.Наименование = Контрагент.Наименование;​ 
- ХозСубъект.НаименованиеПолное = Контрагент.НаименованиеПолное;​  
- Если Контрагент.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ЮридическоеЛицо Тогда ​ 
- ЮрФизЛицо = "​Юр"; ​                                                  
- ИначеЕсли Контрагент.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо Тогда ​ 
- ЮрФизЛицо = "​ИП";​ 
- КонецЕсли;​ 
-  
- ХозСубъект.ЮрФизЛицо = ЮрФизЛицо;​ 
- Если ЮрФизЛицо = "​Физ"​ тогда 
- ХозСубъект.ИНН = Контрагент.Код; ​ // для физ. лиц в поле ИНН можно передавать КОД 
- Иначе 
- ХозСубъект.ИНН = Контрагент.ИНН;  ​ 
- //​ХозСубъект.ОГРН = "";​ 
- КонецЕсли;​  ​                                             
-  
- ЕстьАдрес = Ложь; 
- Для Каждого Инф Из Контрагент.КонтактнаяИнформация Цикл ​ 
- Если Инф.Тип = Перечисления.ТипыКонтактнойИнформации.Адрес ​ 
- И Найти(Инф.Вид.Наименование,​ "​Юридический адрес"​)<>​ 0 Тогда 
- ЕстьАдрес = Истина;​ 
- ЗаполнениеКонтактнойИнформации(ХозСубъект,​ Инф); 
- Прервать;​ 
- КонецЕсли;​ 
- КонецЦикла;​ 
-  
- Если НЕ ЕстьАдрес Тогда 
- Возврат Строка(Контрагент.Наименование)+":​ необходимо заполнить юридический адрес";​ 
- КонецЕсли;​ 
-  
- ХозСубъект.Комментарий = "​перенесено через XDTO"; 
- Возврат ХозСубъект;​ 
-КонецФункции 
-</1c> 
-++++ 
- 
-++++Пример заполнения XML 
-| 
-<file xml example.xml>​ 
- 
-</​file>​ 
-++++ 
-++++Сопоставление и обновление ​ 
-| 
-Хоз. субъекты сопоставляется по ИНН. При выгрузке документа данные ХС могут меняться или нет в зависимости от значения передаваемого параметра "​ОбновитьКонтрагента"​. При повторной выгрузке ХС из учетной системы будут изменены только передаваемые поля и только в том случае,​ если не заблокировано редактирование из обработки (при изменении в шлюзе возникает диалоговое окно "​Запретить редактирование из учетной системы?"​). 
-++++ 
-++++Примечание ​ 
-| 
-**Свойство Организация** 
- 
-Данное свойство логического типа указывает,​ является ли выгружаемый Хоз. субъект собственной организацией (справочник Организации). ​ 
- 
-Поле не участвует при выгрузке хозяйствующих субъектов,​ так как в шлюзе заблокирована возможность выгрузки организаций из учетной системы. Все организации,​ регистрирующие сертификаты через АСП Шлюз, должны быть добавлены в Шлюз вручную. 
- 
-При выгрузке поднадзорных объектов (сервис [[шлюз_выгрузка:​описание_сервисов#​создатьподнадзорного|СоздатьПоднадзорного]]) свойство Организация у Хоз. субъекта подразделения в значении Истина означает,​ что выгружаемое подразделение является собственным подразделением одной из организаций. В этом случае,​ при создании или обновлении,​ подразделение будет привязано к организации,​ ИНН которой будет указан в поле ПоднадзорныйОбъект.ХозСубъект.ИНН. Сама организация обновлена не будет. ​ 
-++++ 
----- 
- 
-====РегДанныеХС==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Наименование|string|[0..1]||| 
-||ИНН|string|[1..1]||| 
-||Адрес|string|[0..1]||| 
-||ГУИД|string|[0..1]|| 
-||ПоднадзорныеОбъекты|[[шлюз_выгрузка:​описание_типов#​ПоднадзорныйОбъект|ПоднадзорныйОбъект]]|[0..*]|| 
-++++ 
- 
----- 
- 
-====ДанныеРегистрацииХС==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||ДанныеХС|[[шлюз_выгрузка:​описание_типов#​РегДанныеХС|РегДанныеХС]]|[0..*]||| 
-++++ 
- 
----- 
- 
-====МассивИНН==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||ИНН|string|[0..*]||| 
-++++ 
- 
----- 
- 
-====СвязанныйДокумент==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Серия|string|[0..1]||| 
-||Номер|string|[0..1]||| 
-||Дата|date|[0..1]||| 
-||Тип|int|[0..1]||| 
-||Связь|int|[0..1]||| 
- 
-Поле **"​Связь"​** может принимать следующие значения:​ 
-||**Значение**|**Описание**|| 
-||1|Сопроводительный документ||| 
-||2|Предшествующий документ||| 
-||3|Следующий документ||| 
-||4|Документ,​ взамен которого выдан текущий документ||| 
-||5|Документ,​ заменяющий текущий документ||| 
-||6|Связанный документ||| 
- 
-Поле **"​Тип"​** может принимать следующие значения:​ 
-||**Значение**|**Описание**|| 
-||1|Товарно-транспортная накладная||| 
-||2|Конасамент||| 
-||3|CMR||| 
-||4|Авианакладная||| 
-||5|Транспортная накладная||| 
-||6|ТОРГ-12||| 
-||7|Ветеринарное разрешение на импорт продукции на территорию ТС||| 
-||8|Разрешение ветеринарного управления субъекта страны ТС на ввоз продукции||| 
-||9|Акт отбора пробы на исследование||| 
-||10|ТОРГ-13||| 
-||11|Ветеринарный сертификат на перемещение внутри РФ||| 
-||12|Ветеринарный сертификат третьих стран на ввоз продукции на территорию РФ||| 
-||13|Ветеринарный сертификат страны ТС на ввоз продукции на территорию РФ||| 
-||14|Ветеринарный сертификат РФ на вывоз продукции на территорию стран ТС||| 
-||15|Ветеринарный сертификат РФ на вывоз продукции на территорию третьих стран||| 
-||16|Заказ||| 
-||17|Паспорт гражданина РФ||| 
-||18|Паспорт иностранного гражданина||| 
-||19|Паспорт гражданина Республики Казахстан||| 
-||20|Паспорт гражданина Республики Беларусь||| 
-||21|Паспорт гражданина Республики Армения||| 
-||22|Паспорт гражданина Республики Киргизия||| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьТранспорт(Источник,​ Фабрика) 
-  
- СвязанныйДокумент = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​СвязанныйДокумент"​));​ 
- 
- СвязанныйДокумент.Номер ​        = Источник.Номер;​ 
- СвязанныйДокумент.Дата ​         = Источник.Дата;​ 
- СвязанныйДокумент.Серия ​        = Источник.Серия;​ 
- СвязанныйДокумент.Тип ​          = ???; 
- СвязанныйДокумент.Связь ​        = ???; 
- 
-  
- Возврат СвязанныйДокумент;​ 
-КонецФункции 
-</1c> 
-++++ 
- 
----- 
- 
-====МассивНоменклатуры==== 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Номенклатура|[[шлюз_выгрузка:​описание_типов#​Номенклатура|Номенклатура]]|[0..*]||| 
-++++ 
- 
----- 
- 
-====ДанныеРегистрацииНоменклатуры==== 
-Таблица,​ каждая строка которой описывает связь номенклатуры в Шлюзе (учетной системе) и системе Меркурий. 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||ДанныеНоменклатуры|[[шлюз_выгрузка:​описание_типов#​РегДанныеНом|РегДанныеНом]]|[0..*]|Список выгружаемых связей.|| 
-++++ 
- 
----- 
- 
-====РегДанныеНом==== 
-Строка,​ описывающая связь номенклатуры в Шлюзе (учетной системе) и системе Меркурий. 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Код|string|[0..1]|Код номенклатуры. Поле обязательно,​ если не заполнен ПолныйКод.|| 
-||КодЗагрузки|string|[0..1]|Полный код номенклатуры с учетом иерархии групп. Используется,​ если контроль уникальности кодов номенклатуры не "во всем списке"​. Поле обязательно,​ если не заполнен Код.|| 
-||Наименование|string|[0..1]|Наименование номенклатуры в ученой системе.|| 
-||ГУИД|string|[0..1]|Гуид номенклатуры производителя в системе Меркурий.|| 
-||ПроизводительГуид|string|[0..1]|Гуид производителя в системе меркурий.|| 
-++++ 
- 
----- 
- 
-====СкладскиеЗаписи==== 
-Список записей журнала. Сведения о всех актуальных записях складского журнала для запрашиваемого предприятия. ​ 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Записи|[[шлюз_выгрузка:​описание_типов#​ДанныеСкладскойЗаписи|ДанныеСкладскойЗаписи]]|[0..*]|Сведения о записи журнала.|| 
-||Количество|int|[1..1]|Количество записей журнала.|| 
-++++ 
- 
----- 
- 
-====ДанныеСкладскойЗаписи==== 
-Сведения о записи журнала. ​ 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Номенклатура|[[шлюз_выгрузка:​описание_типов#​Номенклатура|Номенклатура]]|[0..1]|Сопоставленная номенклатура.|| 
-||ПодкатегорияСтр|string|[0..1]|Наименование вида продукции. Третий уровень иерархического справочника продукции ИС Меркурий.|| 
-||ПодкатегорияГуид|string|[0..1]|Глобальный идентификатор вида продукции.|| 
-||ГУИД|string|[0..1]|Глобальный идентификатор записи журнала.|| 
-||УУИД|string|[0..1]|Идентификатор версии записи журнала.|| 
-||Номер|string|[0..1]|Номер записи журнала.|| 
-||Количество|double|[0..1]|Объем продукции.|| 
-||КоличествоУпаковок|int|[0..1]|Общее количество упаковок продукции (для протокола 1.4).|| 
-||Упаковки|string|[0..1]|Список упаковок (для протокола 1.4).|| 
-||Статус|int|[0..1]|Статус записи журнала (только динамический режим).|| 
-||ПроизводительСтр|string|[0..1]|Наименование предприятия производителя продукции.|| 
-||ПроизводительГуид|string|[0..1]|Глобальный идентификатор предприятия производителя продукции.|| 
-||НоменклатураСтр|string|[0..1]|Наименование продукции в системе Меркурий.|| 
-||НоменклатураГуид|string|[0..1]|Глобальный идентификатор номенклатуры в системе Меркурий (только динамический режим).|| 
-||СтранаПроизводительГуид|string|[0..1]|Глобальный идентификатор страны происхождения партии продукции.|| 
-||Скоропорт|boolean|[0..1]|Флаг:​ является ли продукция скоропортящейся.|| 
-||Некачественная|boolean|[0..1]|Флаг:​ является ли груз некачественным.|| 
-||ВладелецГуид|string|[0..1]|Глобальный идентификатор владельца торговой марки (только динамический режим).|| 
-||ДатаСоздания|dateTime|[0..1]|Дата создания записи журнала (только динамический режим).|| 
-||ВсдУуид|string|[0..1]|Уникальный идентификатор сертификата,​ создавшего запись журнала.|| 
-||Фасовка|string|[0..1]|Список физической упаковки (фасовки). Таблица значений,​ преобразованная в строку с помощью "​ЗначениеВСтрокуВнутр(ТЗ)"​ || 
-||ФасовкаСтрокой|string|[0..1]|Строковое представление списка физической упаковки.|| 
-||ДатаВыработки|dateTime|[0..1]|Дата выработки продукции.|| 
-||ДатаВыработкиДо|dateTime|[0..1]|Конечная дата в интервале. Указывается,​ если дата выработки имеет период С...По.|| 
-||ДатаВыработкиСтр|string|[0..1]|Текстовое значение даты.|| 
-||СрокГодности|dateTime|[0..1]|Дата окончания срока годности продукции.|| 
-||СрокГодностиДо|dateTime|[0..1]|Конечная дата в интервале. Указывается,​ если срок годности имеет период С...По.|| 
-||СрокГодностиСтр|string|[0..1]|Текстовое значение даты.|| 
-||АртикулМеркурий|string|[0..1]|Артикул (код) продукции в соответствии с внутренним кодификатором производителя.|| 
-||GTIN|string|[0..1]|Trade Identification Number (GTIN) - идентификационный номер продукции производителя.|| 
-++++ 
- 
----- 
- 
-====ПараметрыСписка==== 
-Параметры запрашиваемого списка ветеринарных сопроводительных документов (ВСД) предприятия. ​ 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||ТипСертификата|string|[0..1]|Тип ВСД. Возможные значения:​ Входящий,​ Исходящий,​ Производственный.|| 
-||СтатусСертификата|string|[1..1]|Статус ВСД. Возможные значения:​ Оформлен,​ Аннулирован,​ Погашен.|| 
-||ДатаНачала|dateTime|[0..1]|Фильтр по интервалу дат оформления ВСД. Начало временного интервала.|| 
-||ДатаОкончания|dateTime|[0..1]|Фильтр по интервалу дат оформления ВСД. Конец временного интервала.|| 
-++++ 
- 
----- 
- 
-====Маркировка==== 
-Данные одной маркировки. ​ 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Класс|string|[1..1]|Список допустимых значений класса:​ UNDEFINED, BN, SSCC, EAN8, EAN13, EAN128, BUNDLE. Если класс не задан или переданная строка не входит в обозначенный список,​ подставляется значение UNDEFINED.|| 
-||Маркировка|string|[1..1]|Строка,​ содержащая маркировку|| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьМаркировку(Фасовка,​ Фабрика) 
- Маркировка ​ = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​Маркировка"​));​ 
- Маркировка.Класс ​ = //​UNDEFINED,​ BN, SSCC, EAN8, EAN13, EAN128, BUNDLE; 
- Маркировка.Маркировка = //​Маркировка;​ 
- Возврат Фасовка;​ 
-КонецФункции 
-</1c> 
-++++ 
----- 
- 
- 
-====Фасовка==== 
-Данные одного уровня фасовки. Используется для передачи фасовки в строке товара ([[шлюз_выгрузка:​описание_типов#​СтрокаНоменклатуры|СтрокаНоменклатуры]]). ​ 
-++++Свойства 
-| 
-||**Имя**|**Тип**|**Обяз.**|**Описание**|| 
-||Уровень|int|[0..1]|уровень упаковки от 1 до 6, где: 1 - Внутренний уровень;​ 2 - Потребительский уровень;​ 3 - Промежуточный уровень;​ 4 - Торговый уровень;​ 5 - Дополнительный уровень;​ 6 - Транспортный (Логистический) уровень.|| 
-||Упаковка|string|[0..1]|Наименование или ГУИД упаковки,​ соответствующие классификатору упаковок системы Меркурий.|| 
-||Количество|int|[0..1]|Количество упаковок в данном уровне фасовки.|| 
-||Маркировки|[[шлюз_выгрузка:​описание_типов#​Маркировка|Маркировка]]|[0..*]|Список маркировок на данном уровне фасовки.|| 
-++++ 
-++++Пример заполнения 
-| 
-<1c> 
-Функция СформироватьФасовку(Номенклатура,​ Фабрика) 
- Фасовка = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"​Фасовка"​));​ 
- Фасовка.Уровень ​    = //?​1,​2,​3,​4,​5,​6;​ 
- Фасовка.Упаковка ​     = //Гуид или наименование упаковки;​ 
- Фасовка.Количество ​    = //​Номенклатура.Фасовка.Количество;​ 
- Фасовка.Маркировки.Добавить(СформироватьМаркировку);​ 
-  
- Возврат Фасовка;​ 
-КонецФункции 
-</1c> 
-++++ 
- 
-----