Для просмотра типов объектов перейдите по ссылке.
Для использования Web-сервисов шлюза, рекомендуется использовать объект WSПрокси.
&НаСервере
Функция ПространствоИмен()
Возврат "http://88.99.106.214/Mercury";
КонецФункции
&НаСервере
Функция ПолучитьПрокси() Экспорт
Определения = Новый WSОпределения("http://t2-gateway.aspcom.ru/gateway_name/ws/DataExchangeGatewayV2.1cws?wsdl",
Логин,Пароль);
Прокси = Новый WSПрокси(Определения, ПространствоИмен(), СокрЛП("DataExchangeGatewayV2"),СокрЛП("DataExchangeGatewayV2Soap"));
Прокси.Пользователь = Логин;
Прокси.Пароль = Пароль;
Возврат Прокси;
КонецФункции
Фабрика = Прокси.ФабрикаXDTO;
Возможные операции
ПроверитьПодключение
Назначение: Сервис предназначен для проверки соединения со шлюзом.
Параметры:
Возвращаемое значение:
- Если подключение прошло успешно, возвращает значение «Подключено».
&НаСервере
Процедура ПроверитьПодключениеНаСервере()
Прокси = ПолучитьПрокси();
Результат = Прокси.ПроверитьПодключение();
Сообщить(Результат);
КонецПроцедуры
- checkConnect.xml
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Body> <ns0:ПроверитьПодключение xmlns:ns0="http://88.99.106.214/Mercury"> </ns0:ПроверитьПодключение> </soap-env:Body> </soap-env:Envelope>
- checkConnectResponse.xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <m:ПроверитьПодключениеResponse xmlns:m="http://88.99.106.214/Mercury"> <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Подключено</m:return> </m:ПроверитьПодключениеResponse> </soap:Body> </soap:Envelope>
СоздатьНоменклатуру
Назначение: Операция предназначена для выгрузки и обновления номенклатуры из учетной системы в АСП Шлюз.
В случае если выгружаемая номенклатура уже есть в шлюзе, она будет обновлена. Если нет возможности выгрузить некоторые поля из учетной системы, их можно заполнить в шлюзе. При редактировании номенклатуры в шлюзе может возникнуть диалоговое окно, предлагающее запретить редактирование номенклатуры из учетной системы. С момента подтверждения запрета редактирования номенклатуре присваивается статус «РучнаяКорректировка» и редактирование номенклатуры при выгрузке в Шлюз будет заблокировано. Для того чтобы обратно включить редактирование необходимо нажать кнопку «Редактировать из учетной базы» в карточке номенклатуры.
При выгрузке документов новая номенклатура будет создаваться автоматически, однако, если не передавать при выгрузке ГУИД подкатегории и единицу хранения, перед регистрацией документа нужно сопоставить номенклатуру в Шлюзе.
Параметры:
- Номенклатура (Тип: Номенклатура)
Возвращаемое значение:
- Строка, описывающая результат загрузки. В случае успешной загрузки будет выведено сообщение: «Номенклатура загружена: {Наименование номенклатуры}». Иначе, в ответе будет указана причина отказа.
Процедура ВыгрузитьНоменклатуруНаСервере()
Прокси = ПолучитьПрокси();
Фабрика = Прокси.ФабрикаXDTO;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| (&ВсяНоменклатура
| ИЛИ Номенклатура.Ссылка В ИЕРАРХИИ (&Номенклатура))
| И НЕ Номенклатура.ЭтоГруппа";
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
Запрос.УстановитьПараметр("ВсяНоменклатура", НЕ ЗначениеЗаполнено(Номенклатура));
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Результат = Прокси.СоздатьНоменклатуру(СформироватьНоменклатуру(Выборка.Ссылка,Фабрика));
Сообщить(Результат);
КонецЦикла;
КонецПроцедуры
- createItem.xml
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Body> <ns0:СоздатьНоменклатуру xmlns:ns0="http://88.99.106.214/Mercury"> <ns0:Номенклатура> <ns0:Код>С0000002695</ns0:Код> <!--Если выгрузка номенклатуры в шлюз осуществлялась по коду--> <!--<ns0:ПолныйКод></ns0:ПолныйКод>--> <!--Если выгрузка номенклатуры в шлюз осуществлялась по ПОЛНОМУ коду--> <ns0:Наименование>Тест номенклатура</ns0:Наименование> <ns0:НаименованиеПолное>Полное наименование тестовой номенклатуры</ns0:НаименованиеПолное> <ns0:Группа> <ns0:Код>Г_3</ns0:Код> <!--Если выгрузка номенклатуры в шлюз осуществлялась по коду--> <!--<ns0:ПолныйКод></ns0:ПолныйКод>--> <!--Если выгрузка номенклатуры в шлюз осуществлялась по ПОЛНОМУ коду--> <ns0:Наименование>Группа 3 уровня</ns0:Наименование> <ns0:Родитель> <ns0:Код>Г_2</ns0:Код> <!--<ns0:ПолныйКод></ns0:ПолныйКод>--> <ns0:Наименование>Группа 2 уровня</ns0:Наименование> <ns0:Родитель> <ns0:Код>Г_1</ns0:Код> <ns0:Наименование>Группа 1 уровня</ns0:Наименование> </ns0:Родитель> </ns0:Родитель> </ns0:Группа> <ns0:Артикул>123</ns0:Артикул> <ns0:Гост>32366-2013</ns0:Гост> <ns0:Подкатегория>e19d2a97-1a4b-cd19-8a84-b7127004348b</ns0:Подкатегория> <ns0:ЕдХранения>кг</ns0:ЕдХранения> <!--Можно передавать ГУИД ед. хран.--> <ns0:Скоропортящаяся>false</ns0:Скоропортящаяся> <ns0:Некачественная>false</ns0:Некачественная> <ns0:Комментарий>Тестовая выгрузка.</ns0:Комментарий> <ns0:GTIN>1122332211</ns0:GTIN> </ns0:Номенклатура> </ns0:СоздатьНоменклатуру> </soap-env:Body> </soap-env:Envelope>
- createItemResponse.xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <m:СоздатьНоменклатуруResponse xmlns:m="http://88.99.106.214/Mercury"> <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Номенклатура загружена: Тест номенклатура</m:return> </m:СоздатьНоменклатуруResponse> </soap:Body> </soap:Envelope>
СоздатьХозСубъект
Назначение: Выполняет загрузку хозяйствующих субъектов в шлюз.
Параметры:
- ХозяйствующийСубъект (Тип: ХозяйствующийСубъект);
- Обновить (Тип: boolean) - параметр указывает на необходимость обновления уже существующих хоз. субъектов.
Возвращаемое значение: Строка, описывающая результат загрузки. В случае успешной загрузки будет выведено сообщение: «Хоз.субъект загружен: {Наименование хоз. субъекта}». Иначе, в ответе будет указана причина отказа.
СоздатьПоднадзорного
Назначение: Операция предназначена для выгрузки и Обновления в АСП Шлюз поднадзорных объектов.
В случае если при выгрузке не указан ХозСубъект, поднадзорный создан не будет. Шлюз вернет сообщение: «Не указан хозяйствующий субъект подразделения». Если указанных Хозяйствующий субъект не найден в Шлюзе по ИНН, он будет создан автоматически (в случае, если заполнены все необходимые поля). Если Шлюз не сумеет создать Хозяйствующий субъект, поднадзорный также не будет выгружен в Шлюз.
Параметры:
- ПоднадзорныйОбъект (Тип: ПоднадзорныйОбъект);
- Обновить (Тип: boolean) - параметр указывает на необходимость обновления уже существующих поднадзорных объектов.
Возвращаемое значение:
- Строка, описывающая результат загрузки. В случае успешной загрузки будет выведено сообщение: «Поднадзорный объект загружен: {Наименование поднадзорного} ({Код поднадзорного})». Иначе, в ответе будет указана причина отказа.
Процедура ВыгрузитьКонтрагентаНаСервере()
Прокси = ПолучитьПрокси();
Фабрика = Прокси.ФабрикаXDTO;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Ссылка
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.Ссылка В ИЕРАРХИИ(&Контрагент)
| И НЕ Контрагенты.ЭтоГруппа";
Запрос.УстановитьПараметр("Контрагент", Контрагент);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Поднадзорный = СформироватьПоднадзорного(Выборка.Ссылка,Выборка.Ссылка,Фабрика);
Если ТипЗнч(Поднадзорный) = Тип("Строка") Тогда
Сообщить(Поднадзорный);
Продолжить;
КонецЕсли;
Результат = Прокси.СоздатьПоднадзорного(Поднадзорный, Истина);
КонецЦикла;
КонецПроцедуры
- createEnt.xml
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Body> <ns0:СоздатьПоднадзорного xmlns:ns0="http://88.99.106.214/Mercury"> <ns0:ПоднадзорныйОбъект> <ns0:Код>М_0000001</ns0:Код> <!--Если выгрузка номенклатуры в шлюз осуществлялась по коду--> <ns0:Наименование>ООО "Ромашка" Подразделение 1</ns0:Наименование> <ns0:НаименованиеПолное>ООО "Ромашка" Подразделение 1 (для печати)</ns0:НаименованиеПолное> <ns0:ХозСубъект> <ns0:Наименование>ООО "Ромашка"</ns0:Наименование> <ns0:НаименованиеПолное>ООО "Ромашка" (для печати)</ns0:НаименованиеПолное> <ns0:ЮрФизЛицо>Юр</ns0:ЮрФизЛицо> <!--Доступные значения: Юр, Физ, ИП--> <ns0:ИНН>1144000999</ns0:ИНН> <!--<ns0:ОГРН></ns0:ОГРН> --> <ns0:Страна>Российская Федерация</ns0:Страна> <ns0:Регион>Ростовская</ns0:Регион> <!--<ns0:Район></ns0:Район> --> <ns0:Город>Гуково</ns0:Город> <!--<ns0:Улица></ns0:Улица> --> <ns0:Адрес>,347895,Ростовская обл,,Гуково г,,Улица ул,00,а,</ns0:Адрес> <ns0:Комментарий>Тестовая выгрузка ХС</ns0:Комментарий> <ns0:Организация>false</ns0:Организация> <ns0:ГУИД>777ad7b7-777f-7777-a7ab-7a777777a7db</ns0:ГУИД> </ns0:ХозСубъект> <ns0:Тип>1</ns0:Тип> <!--Тип поднадзорного объекта:1 - пердприятие; 2 - рынок; 3 - СББЖ; 4 - судно--> <ns0:Страна>Российская Федерация</ns0:Страна> <ns0:Регион>Ростовская</ns0:Регион> <!--<ns0:Район></ns0:Район> --> <ns0:Город>Гуково</ns0:Город> <!--<ns0:Улица></ns0:Улица> --> <ns0:Адрес>,347895,Ростовская обл,,Гуково г,,Улица ул,00,а,</ns0:Адрес> <ns0:Комментарий>Тестовая выгрузка ПО</ns0:Комментарий> <ns0:ГУИД>33cba3da-b33a-3333-bf3d-ae33de3fe3ee</ns0:ГУИД> </ns0:ПоднадзорныйОбъект> <ns0:Обновить>true</ns0:Обновить> </ns0:СоздатьПоднадзорного> </soap-env:Body> </soap-env:Envelope>
- createEntResponse.xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <m:СоздатьПоднадзорногоResponse xmlns:m="http://88.99.106.214/Mercury"> <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Поднадзорный объект загружен: ООО Ромашка Подразделение 1(М_0000001)</m:return> </m:СоздатьПоднадзорногоResponse> </soap:Body> </soap:Envelope>
ОбработатьМассивДокументов
Назначение: Выполняет загрузку массива документов в шлюз или регистрацию их в системе Меркурий.
Параметры:
- ДанныеЗагрузки (Тип: ДанныеЗагрузки) - структура, содержащая массив обрабатываемых документов и параметры загрузки;
- ВозвращатьСертификаты (Тип: boolean) - если параметр принимает значение Истина, функция будет возвращать массив сертификатов, закрепленных за каждым выгружаемым документом.
Возвращаемое значение:
- ДанныеОтвета - структура, содержащая массив результатов загрузки/регистрации документов.
Примечания:
- Для обновления контрагентов при выгрузке/регистрации документов необходимо в параметр ДанныеЗагрузки.ОбновитьКонтрагента передать значение Истина.
- Параметр ДанныеЗагрузки.Регистрировать отвечает за то, какая именно операция будет выполнена: Истина - регистрация в системе Меркурий, Ложь - загрузка документов в шлюз.
- Для выгрузки сроков годности, артикула и прочих полей, с учетом которых будет подбираться складская запись при регистрации ИСХОДЯЩИХ сертификатов используется поле «Фильтр» табличной части «Товары».
- Для выгрузи каких-либо сведений о создаваемой на остатке продукции (срок годности, дата выработки и т.д.) ВХОДИЩИМИ или ПРОИЗВОДСТВЕННЫМИ документами используется поле «ВетДокумент» табличной части «Товары». Таким образом, поле «Фильтр» устанавливает критерии отбора складской записи, а поле «ВетДокумент» - критерии создания.
- Для выгрузки розничной реалзации (розничного списания) нужно указать ДокументХ.ТипДокумента = «Инвентаризация» и ДокументХ.РозничнаяРеализация = Истина. В табличной части «Товары» указывается список списываемой в розницу продукции.
Процедура ГрупповаяОбработкаДокументов()
Прокси = ПолучитьПрокси();
Фабрика = Прокси.ФабрикаXDTO;
ДанныеЗагрузки = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"ДанныеЗагрузки"));
ДанныеЗагрузки.Регистрировать = (ВидВыгрузки = 2);
ДанныеЗагрузки.ОбновитьКонтрагента = Истина; //Можно вынести на форму как поле выбора
КоличествоВыгружено = 0;
Для Каждого Стр Из ТаблицаДок Цикл
Если НЕ Стр.Выбран Тогда
Продолжить;
КонецЕсли;
Док = СформироватьДокумент(Стр.Ссылка, Фабрика);
Если Док <> Неопределено Тогда
ДанныеЗагрузки.МассивДокументов.Добавить(Док);
КоличествоВыгружено = КоличествоВыгружено + 1;
КонецЕсли;
КонецЦикла;
Если ДанныеЗагрузки.МассивДокументов.Количество()>0 Тогда
ДанныеОтвета = Прокси.ОбработатьМассивДокументов(ДанныеЗагрузки, Ложь);
Сообщить("Отправлено на выгрузку документов: "+КоличествоВыгружено);
РазобратьОтвет(ДанныеОтвета);
КонецЕсли;
КонецПроцедуры
Процедура РазобратьОтвет(ДанныеОтвета)
ТаблицаРезультатов = Новый ТаблицаЗначений;
ТаблицаРезультатов.Колонки.Добавить("ТипДокумента");
ТаблицаРезультатов.Колонки.Добавить("Документ");
ТаблицаРезультатов.Колонки.Добавить("Результат");
Для Каждого Ответ Из ДанныеОтвета.МассивРезультатов Цикл
НовРез = ТаблицаРезультатов.Добавить();
НовРез.ТипДокумента = ТипВБазе(Ответ.Документ.ТипДокумента);
НовРез.Документ = НайтиДокумент(Ответ.Документ, НовРез.ТипДокумента);
НовРез.Результат = Ответ.РезультатТранзакции.Результат;
Если ИспользоватьЛокальныйКэш И Ответ.РезультатТранзакции.ВетДокумент.Количество()>0 Тогда
СохранитьСертификаты(НовРез.Документ,Ответ.РезультатТранзакции.ВетДокумент);
КонецЕсли;
КонецЦикла;
ТаблицаРезультатов.Сортировать("ТипДокумента");
Обработка = РеквизитФормыВЗначение("Объект");
Макет = Обработка.ПолучитьМакет("Макет");
ШапкаТД = Макет.ПолучитьОбласть("Шапка");
ГруппаДок = Макет.ПолучитьОбласть("ГруппаДокументов");
СтрокаДок = Макет.ПолучитьОбласть("СтрокаДокумент");
ТД.Очистить();
ШапкаТД.Параметры.ТипОбъекта = "Документ";
ТД.Вывести(ШапкаТД);
ТД.НачатьАвтогруппировкуСтрок();
ТекТип = "";
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("ТипДокумента");
Для Каждого Рез Из ТаблицаРезультатов Цикл
Если ТекТип <> Рез.ТипДокумента Тогда
ТекТип = Рез.ТипДокумента;
ГруппаДок.Параметры.Заполнить(Рез);
ГруппаДок.Параметры.ТипДокумента = ТипВШлюзе(Рез.ТипДокумента);
ПараметрыОтбора.ТипДокумента = Рез.ТипДокумента;
ГруппаДок.Параметры.КоличествоЗагружено = ТаблицаРезультатов.НайтиСтроки(ПараметрыОтбора).Количество();
ТД.Вывести(ГруппаДок,1);
КонецЕсли;
СтрокаДок.Параметры.Заполнить(Рез);
ТД.Вывести(СтрокаДок);
КонецЦикла;
ТД.ЗакончитьАвтогруппировкуСтрок();
ТД.ТолькоПросмотр = Истина;
КонецПроцедуры
Функция НайтиДокумент(ДокументХ, ТипДокументаСтрокой)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТипДок.Ссылка
|ИЗ
| Документ.#ТипДок# КАК ТипДок
|ГДЕ
| ТипДок.Номер ПОДОБНО &Номер
| И НАЧАЛОПЕРИОДА(ТипДок.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)";
Запрос.УстановитьПараметр("Дата", ДокументХ.Дата);
Запрос.УстановитьПараметр("Номер", "%"+СокрЛП(ДокументХ.Номер)+"%");
Запрос.Текст = СтрЗаменить(Запрос.Текст,"#ТипДок#",СтрЗаменить(ТипДокументаСтрокой," ",""));
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Выборка.Ссылка;
Иначе
Возврат Документы[СтрЗаменить(ТипДокументаСтрокой," ","")].ПустаяСсылка();
КонецЕсли;
КонецФункции
- request.xml
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Body> <ns0:ОбработатьМассивДокументов xmlns:ns0="http://88.99.106.214/Mercury"> <ns0:ДанныеЗагрузки> <ns0:МассивДокументов> <ns0:ТипДокумента>Поступление</ns0:ТипДокумента> <ns0:Номер>П-013831</ns0:Номер> <ns0:Дата>2017-12-21T00:00:00</ns0:Дата> <ns0:ИННОрганизации>2373011182</ns0:ИННОрганизации> <ns0:Подразделение> <ns0:Код>000000000000000000000000000000000001</ns0:Код> </ns0:Подразделение> <ns0:ХозСубъект> <ns0:Наименование>АЛЛЕР ПЕТФУД ООО</ns0:Наименование> <ns0:ЮрФизЛицо>Юр</ns0:ЮрФизЛицо> <ns0:ИНН>4703074719</ns0:ИНН> <ns0:Адрес /> </ns0:ХозСубъект> <ns0:Поднадзорный> <ns0:Код>ТТ50158</ns0:Код> <ns0:Наименование>АЛЛЕР ПЕТФУД ООО</ns0:Наименование> <ns0:НаименованиеПолное>АЛЛЕР ПЕТФУД ООО</ns0:НаименованиеПолное> <ns0:ХозСубъект> <ns0:Наименование>АЛЛЕР ПЕТФУД ООО</ns0:Наименование> <ns0:ЮрФизЛицо>Юр</ns0:ЮрФизЛицо> <ns0:ИНН>4703074719</ns0:ИНН> <ns0:Адрес /> </ns0:ХозСубъект> <ns0:Тип>1.0</ns0:Тип> <ns0:Адрес /> </ns0:Поднадзорный> <ns0:ТТН> <ns0:Дата>2017-12-21T00:00:00</ns0:Дата> <ns0:Номер>12345</ns0:Номер> </ns0:ТТН> <ns0:Транспорт> <ns0:ТипТС>автомобильный</ns0:ТипТС> <ns0:НомерАвтомобиля>х000хх00</ns0:НомерАвтомобиля> </ns0:Транспорт> <ns0:Товары> <ns0:Номенклатура> <ns0:Код>123559</ns0:Код> <ns0:Наименование>с!Премиум Куалити Фелине </ns0:Наименование> <ns0:НаименованиеПолное>с!Премиум Куалити Фелине Корм конс.полнорац.85г д/взрос.кошек с говядиной в соусе </ns0:НаименованиеПолное> <ns0:Группа> <ns0:Код>123562</ns0:Код> <ns0:Наименование>Аллер Пет Фут</ns0:Наименование> <ns0:Родитель> <ns0:Код>114946</ns0:Код> <ns0:Наименование>_ПМ</ns0:Наименование> </ns0:Родитель> </ns0:Группа> <ns0:ЕдХранения>кг</ns0:ЕдХранения> <ns0:Скоропортящаяся>false</ns0:Скоропортящаяся> <ns0:Некачественная>false</ns0:Некачественная> </ns0:Номенклатура> <ns0:Количество>4698.00</ns0:Количество> <ns0:КоличествоУпаковок>54000</ns0:КоличествоУпаковок> <ns0:ВетДокумент> <!-- Если нужна складская запись, сформированная в определенной день, нужно заполнить и ДатаВыработки и ДатаВыработкиДо --> <ns0:ДатаВыработки>2017-12-21T00:00:00</ns0:ДатаВыработки> <ns0:ДатаВыработкиДо>2017-12-21T00:00:00</ns0:ДатаВыработкиДо> <ns0:СрокГодности>2017-12-30T00:00:00</ns0:СрокГодности> <ns0:СрокГодностиДо>2017-12-30T00:00:00</ns0:СрокГодностиДо> </ns0:ВетДокумент> <ns0:Фильтр> <!-- Если нужна складская запись, сформированная в определенной день, нужно заполнить и ДатаВыработки и ДатаВыработкиДо --> <ns0:ДатаВыработки>2017-12-21T00:00:00</ns0:ДатаВыработки> <ns0:ДатаВыработкиДо>2017-12-21T00:00:00</ns0:ДатаВыработкиДо> <ns0:СрокГодности>2017-12-30T00:00:00</ns0:СрокГодности> <ns0:СрокГодностиДо>2017-12-30T00:00:00</ns0:СрокГодностиДо> <ns0:Производитель>Код производителя в шлюзе (поднадзорный объект)</ns0:Производитель> <ns0:КодПартии>КодПартии</ns0:КодПартии> <!-- В данный момент не работает в статическом режиме --> <ns0:ИмяТовара>ИмяТовара</ns0:ИмяТовара> <!-- В данный момент работает только в статическом режиме --> </ns0:Фильтр> </ns0:Товары> <ns0:Товары> <ns0:Номенклатура> <ns0:Код>123560</ns0:Код> <ns0:Наименование>с!Премиум Куалити Фелине </ns0:Наименование> <ns0:НаименованиеПолное>с!Премиум Куалити Фелине Корм конс.полнорац.85г д/взрос.кошек с курицей в соусе</ns0:НаименованиеПолное> <ns0:Группа> <ns0:Код>123562</ns0:Код> <ns0:Наименование>Аллер Пет Фут</ns0:Наименование> <ns0:Родитель> <ns0:Код>114946</ns0:Код> <ns0:Наименование>_ПМ</ns0:Наименование> </ns0:Родитель> </ns0:Группа> <ns0:ЕдХранения>кг</ns0:ЕдХранения> <ns0:Скоропортящаяся>false</ns0:Скоропортящаяся> <ns0:Некачественная>false</ns0:Некачественная> </ns0:Номенклатура> <ns0:Количество>4698.00</ns0:Количество> <ns0:КоличествоУпаковок>54000</ns0:КоличествоУпаковок> </ns0:Товары> <ns0:СвязанныеДокументы> <ns0:Серия>33</ns0:Серия> <ns0:Номер>12345</ns0:Номер> <ns0:Дата>2018-05-23</ns0:Дата> <ns0:Тип>16</ns0:Тип> <ns0:Связь>6</ns0:Связь> </ns0:СвязанныеДокументы> <ns0:СвязанныеДокументы> <ns0:Серия>22</ns0:Серия> <ns0:Номер>54321</ns0:Номер> <ns0:Дата>2018-05-22</ns0:Дата> <ns0:Тип>1</ns0:Тип> <ns0:Связь>1</ns0:Связь> </ns0:СвязанныеДокументы> </ns0:МассивДокументов> <ns0:ОбновитьКонтрагента>true</ns0:ОбновитьКонтрагента> <ns0:Регистрировать>true</ns0:Регистрировать> </ns0:ДанныеЗагрузки> <ns0:ВозвращатьСертификаты>true</ns0:ВозвращатьСертификаты> </ns0:ОбработатьМассивДокументов> </soap-env:Body> </soap-env:Envelope>
- response.xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <m:ОбработатьМассивДокументовResponse xmlns:m="http://88.99.106.214/Mercury"> <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <m:МассивРезультатов> <m:Документ> <m:ТипДокумента>Поступление</m:ТипДокумента> <m:Номер>П-013831</m:Номер> <m:Дата>2017-12-21T00:00:00</m:Дата> <m:ИННОрганизации>2373011182</m:ИННОрганизации> <m:Подразделение> <m:Код>000000000000000000000000000000000001</m:Код> </m:Подразделение> <m:ХозСубъект> <m:Наименование>АЛЛЕР ПЕТФУД ООО</m:Наименование> <m:ЮрФизЛицо>Юр</m:ЮрФизЛицо> <m:ИНН>4703074719</m:ИНН> <m:Адрес/> </m:ХозСубъект> <m:Поднадзорный> <m:Код>ТТ50158</m:Код> <m:Наименование>АЛЛЕР ПЕТФУД ООО</m:Наименование> <m:НаименованиеПолное>АЛЛЕР ПЕТФУД ООО</m:НаименованиеПолное> <m:ХозСубъект> <m:Наименование>АЛЛЕР ПЕТФУД ООО</m:Наименование> <m:ЮрФизЛицо>Юр</m:ЮрФизЛицо> <m:ИНН>4703074719</m:ИНН> <m:Адрес/> </m:ХозСубъект> <m:Тип>1</m:Тип> <m:Адрес/> </m:Поднадзорный> <m:ТТН> <m:Дата>2017-12-21T00:00:00</m:Дата> <m:Номер>12345</m:Номер> </m:ТТН> <m:Транспорт> <m:ТипТС>автомобильный</m:ТипТС> <m:НомерАвтомобиля>х000хх00</m:НомерАвтомобиля> </m:Транспорт> <m:Товары> <m:Номенклатура> <m:Код>123559</m:Код> <m:Наименование>с!Премиум Куалити Фелине </m:Наименование> <m:НаименованиеПолное>с!Премиум Куалити Фелине Корм конс.полнорац.85г д/взрос.кошек с говядиной в соусе </m:НаименованиеПолное> <m:Группа> <m:Код>123562</m:Код> <m:Наименование>Аллер Пет Фут</m:Наименование> <m:Родитель> <m:Код>114946</m:Код> <m:Наименование>_ПМ</m:Наименование> </m:Родитель> </m:Группа> <m:ЕдХранения>кг</m:ЕдХранения> <m:Скоропортящаяся>false</m:Скоропортящаяся> <m:Некачественная>false</m:Некачественная> </m:Номенклатура> <m:Количество>4698</m:Количество> <m:КоличествоУпаковок>54000</m:КоличествоУпаковок> <m:ВетДокумент> <m:ДатаВыработки>2017-12-21T00:00:00</m:ДатаВыработки> <m:ДатаВыработкиДо>2017-12-21T00:00:00</m:ДатаВыработкиДо> <m:СрокГодности>2017-12-30T00:00:00</m:СрокГодности> <m:СрокГодностиДо>2017-12-30T00:00:00</m:СрокГодностиДо> </m:ВетДокумент> <m:Фильтр> <m:ДатаВыработки>2017-12-21T00:00:00</m:ДатаВыработки> <m:ДатаВыработкиДо>2017-12-21T00:00:00</m:ДатаВыработкиДо> <m:СрокГодности>2017-12-30T00:00:00</m:СрокГодности> <m:СрокГодностиДо>2017-12-30T00:00:00</m:СрокГодностиДо> <m:Производитель>Код производителя в шлюзе (поднадзорный объект)</m:Производитель> <m:КодПартии>КодПартии</m:КодПартии> <m:ИмяТовара>ИмяТовара</m:ИмяТовара> </m:Фильтр> </m:Товары> <m:Товары> <m:Номенклатура> <m:Код>123560</m:Код> <m:Наименование>с!Премиум Куалити Фелине </m:Наименование> <m:НаименованиеПолное>с!Премиум Куалити Фелине Корм конс.полнорац.85г д/взрос.кошек с курицей в соусе</m:НаименованиеПолное> <m:Группа> <m:Код>123562</m:Код> <m:Наименование>Аллер Пет Фут</m:Наименование> <m:Родитель> <m:Код>114946</m:Код> <m:Наименование>_ПМ</m:Наименование> </m:Родитель> </m:Группа> <m:ЕдХранения>кг</m:ЕдХранения> <m:Скоропортящаяся>false</m:Скоропортящаяся> <m:Некачественная>false</m:Некачественная> </m:Номенклатура> <m:Количество>4698</m:Количество> <m:КоличествоУпаковок>54000</m:КоличествоУпаковок> </m:Товары> </m:Документ> <m:РезультатТранзакции> <m:Результат>Документ не зарегистрирован. Не заполнены некоторые обязательные поля. Поднадзорный объект: адрес, страна, регион</m:Результат> </m:РезультатТранзакции> </m:МассивРезультатов> </m:return> </m:ОбработатьМассивДокументовResponse> </soap:Body> </soap:Envelope>
ЗарегистрироватьДокументыПоСценарию
Назначение: Функция аналогична функции «Обработать массив документов», однако вместо одиночной регистрации выполняет один из следующих сценариев:
- перемещение
- производство(производство-реализация)
- производство с перепродажей (производство-перемещение)
- производство-перемещение-реализация(контрагенту)
- групповое производство по массиву реализаций
- групповое производство по массиву реализаций - перемещение - реализация(контрагенту)
- перемещение - реализация
- инвентаризация (создание остатков) - реализация
Параметры:
- ДанныеЗагрузки (Тип: ДанныеЗагрузки) - структура, содержащая массив обрабатываемых документов и параметры загрузки;
- ВозвращатьСертификаты (Тип: boolean) - если параметр принимает значение Истина, функция будет возвращать массив сертификатов, закрепленных за каждым выгружаемым документом.
- Сценарий (Тип: byte) - порядковый номер сценария.
- Поднадзорный (Тип: ПоднадзорныйОбъект) - используется для сценария №4 (в остальных случаях можно передавать Неопределено). Содержит данные о подразделении-производителе продукции. Достаточно заполнять только код подразделения (должен совпадать с кодом подразделения в шлюзе).
Возвращаемое значение: ДанныеОтвета - структура, содержащая массив результатов загрузки/регистрации документов.
Примечания:
- Для обновления контрагентов при выгрузке/регистрации документов необходимо в параметр ДанныеЗагрузки.ОбновитьКонтрагента передать значение Истина.
- Вызов сервиса и разбор ответа аналогичен «Обработать массив документов».
- Основой для групповой операции являются документы с типом «Реализация». (все документы загружаемые в шлюз должны иметь тип «Реализация»)
Особенности разбора ответа:
- При выгрузке документов групповой операцией, каждому создаваемому документу устанавливается определенный префикс в зависимости от выбранного сценария. Например, для операции производство + реализация будет добавлен префикс «ПР_», для операции инвентаризация + реализация - «ИР_» и т.д.. При разборе ответа от шлюза нужно обрезать эти префиксы в номере документа перед поиском документа в учетной системе.
ДанныеОтвета = Прокси.ЗарегистрироватьДокументыПоСценарию(ДанныеЗагрузки, ВозвращатьСертификаты, 1, Неопределено);
- rq_s.xml
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Body> <ns0:ЗарегистрироватьДокументыПоСценарию xmlns:ns0="http://88.99.106.214/Mercury"> <ns0:ДанныеЗагрузки> <ns0:МассивДокументов> <ns0:ТипДокумента>Реализация</ns0:ТипДокумента> <ns0:Номер>test-10320</ns0:Номер> <ns0:Дата>2018-05-17</ns0:Дата> <ns0:ХозСубъект> <ns0:Наименование>ТД НИЖЕГОРОДРЫБА</ns0:Наименование> <ns0:ЮрФизЛицо>Юр</ns0:ЮрФизЛицо> <ns0:ИНН>5260393063</ns0:ИНН> </ns0:ХозСубъект> <ns0:Поднадзорный> <ns0:Код>ТДНР СОВЕТСКПЛпокНР</ns0:Код> <ns0:Тип>1.0</ns0:Тип> </ns0:Поднадзорный> <ns0:Транспорт> <ns0:ТипТС>автомобильный</ns0:ТипТС> <ns0:НомерАвтомобиля >О003АТ52</ns0:НомерАвтомобиля > </ns0:Транспорт> <ns0:Товары> <ns0:Номенклатура> <ns0:Код>12600</ns0:Код> <ns0:Наименование>СЕЛЬДЬ АТЛ Г/К</ns0:Наименование> <ns0:НаименованиеПолное>СЕЛЬДЬ АТЛ Г/К</ns0:НаименованиеПолное> <ns0:Артикул></ns0:Артикул> <ns0:ЕдХранения>кг</ns0:ЕдХранения> <ns0:Скоропортящаяся>false</ns0:Скоропортящаяся> <ns0:Некачественная>false</ns0:Некачественная> </ns0:Номенклатура> <ns0:Количество>2</ns0:Количество> <ns0:КоличествоУпаковок>1</ns0:КоличествоУпаковок> <ns0:Фильтр> <ns0:ДатаВыработки>2018-05-14</ns0:ДатаВыработки> <ns0:СрокГодности>2018-05-29</ns0:СрокГодности> </ns0:Фильтр> </ns0:Товары> <ns0:Товары> <ns0:Номенклатура> <ns0:Код>14300</ns0:Код> <ns0:Наименование>СПИНКА НЕРКИ П/К</ns0:Наименование> <ns0:НаименованиеПолное>СПИНКА НЕРКИ П/К</ns0:НаименованиеПолное> <ns0:Артикул></ns0:Артикул> <ns0:ЕдХранения>кг</ns0:ЕдХранения> <ns0:Скоропортящаяся>false</ns0:Скоропортящаяся> <ns0:Некачественная>false</ns0:Некачественная> </ns0:Номенклатура> <ns0:Количество>1.76</ns0:Количество> <ns0:КоличествоУпаковок></ns0:КоличествоУпаковок> <ns0:Фильтр> <ns0:ДатаВыработки>2018-04-12</ns0:ДатаВыработки> <ns0:СрокГодности>2018-05-02</ns0:СрокГодности> </ns0:Фильтр> </ns0:Товары> <ns0:Товары> <ns0:Номенклатура> <ns0:Код>43670</ns0:Код> <ns0:Наименование>СПИНКА ФОРЕЛИ П/К</ns0:Наименование> <ns0:НаименованиеПолное>СПИНКА ФОРЕЛИ П/К</ns0:НаименованиеПолное> <ns0:Артикул></ns0:Артикул> <ns0:ЕдХранения>кг</ns0:ЕдХранения> <ns0:Скоропортящаяся>false</ns0:Скоропортящаяся> <ns0:Некачественная>false</ns0:Некачественная> </ns0:Номенклатура> <ns0:Количество>1.67</ns0:Количество> <ns0:КоличествоУпаковок></ns0:КоличествоУпаковок> <ns0:Фильтр> <ns0:ДатаВыработки>2018-04-12</ns0:ДатаВыработки> <ns0:СрокГодности>2018-05-02</ns0:СрокГодности> </ns0:Фильтр> </ns0:Товары> <ns0:Товары> <ns0:Номенклатура> <ns0:Код>45040</ns0:Код> <ns0:Наименование>СЕЛЬДЬ ОЛЮТОРСКАЯ С/С</ns0:Наименование> <ns0:НаименованиеПолное>СЕЛЬДЬ ОЛЮТОРСКАЯ С/С</ns0:НаименованиеПолное> <ns0:Артикул></ns0:Артикул> <ns0:ЕдХранения>кг</ns0:ЕдХранения> <ns0:Скоропортящаяся>false</ns0:Скоропортящаяся> <ns0:Некачественная>false</ns0:Некачественная> </ns0:Номенклатура> <ns0:Количество>9</ns0:Количество> <ns0:КоличествоУпаковок>1</ns0:КоличествоУпаковок> <ns0:Фильтр> <ns0:ДатаВыработки>2018-05-08</ns0:ДатаВыработки> <ns0:СрокГодности>2018-06-17</ns0:СрокГодности> </ns0:Фильтр> </ns0:Товары> <ns0:Товары> <ns0:Номенклатура> <ns0:Код>72280</ns0:Код> <ns0:Наименование>КАПУСТА МОРСК.МАРИНОВАННАЯ С ГРИБАМИ</ns0:Наименование> <ns0:НаименованиеПолное>КАПУСТА МОРСК.МАРИНОВАННАЯ С ГРИБАМИ</ns0:НаименованиеПолное> <ns0:Артикул></ns0:Артикул> <ns0:ЕдХранения>кг</ns0:ЕдХранения> <ns0:Скоропортящаяся>false</ns0:Скоропортящаяся> <ns0:Некачественная>false</ns0:Некачественная> </ns0:Номенклатура> <ns0:Количество>2.5</ns0:Количество> <ns0:КоличествоУпаковок>1</ns0:КоличествоУпаковок> <ns0:ГУИДСкладскойЗаписи>cf730985-73f7-4d56-a68b-abb6bb928b39</ns0:ГУИДСкладскойЗаписи> </ns0:Товары> <ns0:СвязанныеДокументы> <ns0:Серия>33</ns0:Серия> <ns0:Номер>12345</ns0:Номер> <ns0:Дата>2018-05-23</ns0:Дата> <ns0:Тип>16</ns0:Тип> <ns0:Связь>6</ns0:Связь> </ns0:СвязанныеДокументы> <ns0:СвязанныеДокументы> <ns0:Серия>22</ns0:Серия> <ns0:Номер>54321</ns0:Номер> <ns0:Дата>2018-05-22</ns0:Дата> <ns0:Тип>1</ns0:Тип> <ns0:Связь>1</ns0:Связь> </ns0:СвязанныеДокументы> </ns0:МассивДокументов> <ns0:ОбновитьКонтрагента>false</ns0:ОбновитьКонтрагента> <ns0:Регистрировать>true</ns0:Регистрировать> </ns0:ДанныеЗагрузки> <ns0:ВозвращатьСертификаты>true</ns0:ВозвращатьСертификаты> <ns0:Сценарий>1</ns0:Сценарий> <ns0:Поднадзорный></ns0:Поднадзорный> </ns0:ЗарегистрироватьДокументыПоСценарию> </soap-env:Body> </soap-env:Envelope>
ЗагрузитьДокумент (устарел)
Назначение: Выполняет загрузку документа в шлюз. Данный метод устарел. Вместо него рекомендуется использовать «ОбработатьМассивДокументов» или «ЗарегитрироватьДокументыПоСценарию» с параметром ДанныеЗагрузки.Регистрировать = Ложь.
Параметры:
- Документ (Тип: Документ)
- ОбновитьКонтрагента (Тип: boolean) - параметр указывает на необходимость обновления уже существующих хоз. субъектов и поднадзорных объектов.
Возвращаемое значение: РезультатТранзакции - структура, содержащая результат загрузки документа в шлюз, а также список сертификатов и их УУИДы (если таковые имеются).
ЗарегистрироватьДокумент
Назначение: Выполняет регистрацию документа в системе Меркурий.
Параметры:
- Документ (Тип: Документ)
- ОбновитьКонтрагента (Тип: boolean) - параметр указывает на необходимость обновления уже существующих хоз. субъектов и поднадзорных объектов.
Возвращаемое значение: РезультатТранзакции - структура, содержащая результат загрузки документа и регистрации его в системе Меркурий, а также список сертификатов и их УУИДы (если таковые имеются).
ПолучитьИдентификаторыСертификатов
Назначение: Возвращает УУИДы сертификатов документа.
Параметры:
- НомерДокумента (Тип: string)
- ТипДокумента (Тип: string) - имя типа документа в шлюзе, или имя типа из учетной системы, занесенное в справочник СоответствияДокументов.
Возвращаемое значение: Строка, содержащая УУИДы сертификатов, закрепленных за документом. Разделителем является символ «;».
- getCertificateIdentifiers.xml
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Body> <ns0:ПолучитьИдентификаторыСертификатов xmlns:ns0="http://88.99.106.214/Mercury"> <ns0:ТипДокумента>Реализация</ns0:ТипДокумента> <ns0:НомерДокумента>ЮГ00-000066</ns0:НомерДокумента> </ns0:ПолучитьИдентификаторыСертификатов> </soap-env:Body> </soap-env:Envelope>
ПолучитьСписокСертификатов
Операция предназначена для запроса списка сертификатов в Шлюзе, выписанных по определенному документу (список исходящих сертификатов по реализации товаров и услуг, список производственных сертификатов на по отчету производства за смену и т.д.).
Параметры:
- СписокДокументов (Тип: СписокДокументов) - структура, содержащая масив документов. Обязательные поля для заполнения передаваемых документов: ТипДокумента, Номер, Дата.
Возвращаемое значение:
- СписокДокументов (Тип: СписокДокументов) - структура, содержащая массив сертификатов. Определить, к какому документу относится сертификат, можно по полю Сертификат.СертифицируемыйДокумент (Тип: Документ).
Функция ПолучитьСертификатыДокументов(МассивДокументов)
Попытка
Прокси = ПолучитьПрокси();
Фабрика = Прокси.ФабрикаXDTO;
ПолучатьИзШлюза = Истина;
Исключение
ПолучатьИзШлюза = Ложь;
КонецПопытки;
МассивСертификатов = Новый Массив;
Если ИспользоватьЛокальныйКэш Тогда
Кеш = Новый COMОбъект("PySOAP.Cache");
Кеш.connect(ПолучитьАдресКэшХранилища());
Для Каждого Док Из МассивДокументов Цикл
Сертификаты = Кеш.get(ФорматироватьКэшКлюч(Строка(Док)));
Если Сертификаты = "" И ПолучатьИзШлюза Тогда
СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"СписокДокументов"));
ДокументХ = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"Документ"));
ДокументХ.ТипДокумента = ТипВШлюзе(Док.Метаданные().Имя);
ДокументХ.Номер = Док.Номер;
ДокументХ.Дата = Док.Дата;
СписокДокументов.Документы.Добавить(ДокументХ);
СписокСертификатов = Прокси.ПолучитьСписокСертификатов(СписокДокументов);
Сертификаты = СохранитьСертификаты(Док, СписокСертификатов.Сертификаты);
КонецЕсли;
Если Сертификаты <> "" Тогда
Для Каждого Сертификат Из Сертификаты Цикл
МассивСертификатов.Добавить(Сертификат);
КонецЦикла;
Иначе
Сообщить("Не удалось сформировать сертификаты документа " + Строка(Док));
КонецЕсли;
КонецЦикла;
ИначеЕсли ПолучатьИзШлюза Тогда
СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"СписокДокументов"));
Для Каждого Док Из МассивДокументов Цикл
ДокументХ = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"Документ"));
ДокументХ.ТипДокумента = ТипВШлюзе(Док.Метаданные().Имя);
ДокументХ.Номер = Док.Номер;
ДокументХ.Дата = Док.Дата;
СписокДокументов.Документы.Добавить(ДокументХ);
КонецЦикла;
СписокСертификатов = Прокси.ПолучитьСписокСертификатов(СписокДокументов);
//Сертификаты = СохранитьСертификаты(Док, СписокСертификатов.Сертификаты);
Возврат СписокСертификатов.Сертификаты;
КонецЕсли;
Возврат МассивСертификатов;
КонецФункции
- certificateListRequest.xml
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Body> <ns0:ПолучитьСписокСертификатов xmlns:ns0="http://88.99.106.214/Mercury"> <ns0:СписокДокументов> <ns0:Документы> <ns0:ТипДокумента>Реализация</ns0:ТипДокумента> <ns0:Номер>ЮГ00-000066</ns0:Номер> <ns0:Дата>2018-03-02T16:12:30</ns0:Дата> </ns0:Документы> <ns0:Документы> <ns0:ТипДокумента>Реализация</ns0:ТипДокумента> <ns0:Номер>ЮГ00-000067</ns0:Номер> <ns0:Дата>2018-03-02T16:13:27</ns0:Дата> </ns0:Документы> </ns0:СписокДокументов> </ns0:ПолучитьСписокСертификатов> </soap-env:Body> </soap-env:Envelope>
- response.xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <m:ПолучитьСписокСертификатовResponse xmlns:m="http://88.99.106.214/Mercury"> <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <m:Сертификаты> <m:СертифицируемыйДокумент> <m:ТипДокумента>Реализация</m:ТипДокумента> <m:Номер>ЮГ00-000066</m:Номер> <m:Дата>2018-03-02T16:12:30</m:Дата> </m:СертифицируемыйДокумент> <m:НомерТТН>ЮГ00-000066 </m:НомерТТН> <m:ДатаТТН>2018-03-02T16:12:30</m:ДатаТТН> <m:ОтправительХозСубъект>ОтправительХозСубъект</m:ОтправительХозСубъект> <m:ОтправительИНН>ОтправительИНН</m:ОтправительИНН> <m:ОтправительПоднадзорный>ОтправительПоднадзорный</m:ОтправительПоднадзорный> <m:ОтправительАдрес>Российская федерация, ...</m:ОтправительАдрес> <m:ПолучательХозСубъект/> <m:ПолучательИНН/> <m:ПолучательПоднадзорный>ПолучательПоднадзорный</m:ПолучательПоднадзорный> <m:ПолучательАдрес>Иркутская обл, Иркутск г.....</m:ПолучательАдрес> <m:УУИД>УУИД</m:УУИД> <m:Серия/> <m:Номер>00000000</m:Номер> <m:Дата>2018-03-02T00:00:00</m:Дата> <m:ТипСертификата>Исходящий</m:ТипСертификата> <m:СтатусСертификата>Оформлен</m:СтатусСертификата> <m:Форма>Форма 2</m:Форма> <m:Цель>реализация без ограничений</m:Цель> <m:ВетВрач> <m:ФИО>ФИО</m:ФИО> <m:Логин>login</m:Логин> <m:Должность>Ветеринарный врач</m:Должность> </m:ВетВрач> <m:Подкатегория>манты</m:Подкатегория> <m:ПодкатегорияГУИД>3de9f6e1-3b7e-07bb-da4c-ad8ffd5fa047</m:ПодкатегорияГУИД> <m:КодПодкатегории>1902</m:КодПодкатегории> <m:Номенклатура/> <m:НоменклатураКод> |</m:НоменклатураКод> <m:ЕдиницаХранения>кг</m:ЕдиницаХранения> <m:ДатаВыработки>2018-03-01T00:00:00</m:ДатаВыработки> <m:ДатаВыработкиДо>2018-03-02T00:00:00</m:ДатаВыработкиДо> <m:СрокГодности>2018-03-02T00:00:00</m:СрокГодности> <m:СрокГодностиДо>2018-03-30T00:00:00</m:СрокГодностиДо> <m:СтранаПроизводитель>Российская Федерация</m:СтранаПроизводитель> <m:Маркировки>Ас1</m:Маркировки> <m:СкоропортящаясяПродукция>false</m:СкоропортящаясяПродукция> <m:НизкокачественнаяПродукция>false</m:НизкокачественнаяПродукция> <m:Количество>7</m:Количество> <m:КоличествоУпаковок>7</m:КоличествоУпаковок> <m:СпособХраненияПриПеревозке>Охлажденный</m:СпособХраненияПриПеревозке> <m:РезультатыЛабИсследований>удовл2</m:РезультатыЛабИсследований> <m:ОтметкаОбследования>Подвергнуто ветеринарно-санитарной экспертизе в полном объёме</m:ОтметкаОбследования> <m:БлагополучиеМестности>удовл2</m:БлагополучиеМестности> <m:СпециальныеОтметки>удовл2</m:СпециальныеОтметки> <m:ПредыдущиеВСД/> <m:ПериодНахожденияЖивотных/> <m:МесяцевНахожденияЖивотных>0</m:МесяцевНахожденияЖивотных> <m:МестоПроведенияКарантирования/> <m:КоличествоДнейКарантировани>0</m:КоличествоДнейКарантировани> <m:СведенияОИммунизации/> <m:НомерРазрешенияНаВывоз/> <m:ДатаРазрешенияНаВывоз>0001-01-01T00:00:00</m:ДатаРазрешенияНаВывоз> <m:НомерРазрешенияНаВвоз/> <m:ДатаРазрешенияНаВвоз>0001-01-01T00:00:00</m:ДатаРазрешенияНаВвоз> <m:Транспорт>А/М 555</m:Транспорт> <m:СписокПроизводителей> <m:Наименование>Наименование</m:Наименование> <m:Адрес>Российская федерация, ...</m:Адрес> </m:СписокПроизводителей> <m:Упаковки>Багаж.(LE)</m:Упаковки> <m:Продуктивная>false</m:Продуктивная> <m:ГУИДСкладскойЗаписи>ГУИДСкладскойЗаписи</m:ГУИДСкладскойЗаписи> </m:Сертификаты> <m:Сертификаты> <m:СертифицируемыйДокумент> <m:ТипДокумента>Реализация</m:ТипДокумента> <m:Номер>ЮГ00-000067</m:Номер> <m:Дата>2018-03-02T16:13:27</m:Дата> </m:СертифицируемыйДокумент> <m:НомерТТН>ЮГ00-000067 </m:НомерТТН> <m:ДатаТТН>2018-03-02T16:13:27</m:ДатаТТН> <m:ОтправительХозСубъект>ОтправительХозСубъект</m:ОтправительХозСубъект> <m:ОтправительИНН>ОтправительИНН</m:ОтправительИНН> <m:ОтправительПоднадзорный>ОтправительПоднадзорный</m:ОтправительПоднадзорный> <m:ОтправительАдрес>Российская федерация, ...</m:ОтправительАдрес> <m:ПолучательХозСубъект/> <m:ПолучательИНН/> <m:ПолучательПоднадзорный>ПолучательПоднадзорный</m:ПолучательПоднадзорный> <m:ПолучательАдрес>Иркутская обл, Иркутск г, ...</m:ПолучательАдрес> <m:УУИД>УУИД</m:УУИД> <m:Серия/> <m:Номер>00000000</m:Номер> <m:Дата>2018-03-02T00:00:00</m:Дата> <m:ТипСертификата>Исходящий</m:ТипСертификата> <m:СтатусСертификата>Оформлен</m:СтатусСертификата> <m:Форма>Форма 2</m:Форма> <m:Цель>реализация без ограничений</m:Цель> <m:ВетВрач> <m:ФИО>ФИО</m:ФИО> <m:Логин>login</m:Логин> <m:Должность>Ветеринарный врач</m:Должность> </m:ВетВрач> <m:Подкатегория>манты</m:Подкатегория> <m:ПодкатегорияГУИД>3de9f6e1-3b7e-07bb-da4c-ad8ffd5fa047</m:ПодкатегорияГУИД> <m:КодПодкатегории>1902</m:КодПодкатегории> <m:Номенклатура/> <m:НоменклатураКод> |</m:НоменклатураКод> <m:ЕдиницаХранения>кг</m:ЕдиницаХранения> <m:ДатаВыработки>2018-03-01T00:00:00</m:ДатаВыработки> <m:ДатаВыработкиДо>2018-03-02T00:00:00</m:ДатаВыработкиДо> <m:СрокГодности>2018-03-02T00:00:00</m:СрокГодности> <m:СрокГодностиДо>2018-03-30T00:00:00</m:СрокГодностиДо> <m:СтранаПроизводитель>Российская Федерация</m:СтранаПроизводитель> <m:Маркировки>Ас1</m:Маркировки> <m:СкоропортящаясяПродукция>false</m:СкоропортящаясяПродукция> <m:НизкокачественнаяПродукция>false</m:НизкокачественнаяПродукция> <m:Количество>3</m:Количество> <m:КоличествоУпаковок>3</m:КоличествоУпаковок> <m:СпособХраненияПриПеревозке>Охлажденный</m:СпособХраненияПриПеревозке> <m:РезультатыЛабИсследований>удовл2</m:РезультатыЛабИсследований> <m:ОтметкаОбследования>Подвергнуто ветеринарно-санитарной экспертизе в полном объёме</m:ОтметкаОбследования> <m:БлагополучиеМестности>удовл2</m:БлагополучиеМестности> <m:СпециальныеОтметки>удовл2</m:СпециальныеОтметки> <m:ПредыдущиеВСД/> <m:ПериодНахожденияЖивотных/> <m:МесяцевНахожденияЖивотных>0</m:МесяцевНахожденияЖивотных> <m:МестоПроведенияКарантирования/> <m:КоличествоДнейКарантировани>0</m:КоличествоДнейКарантировани> <m:СведенияОИммунизации/> <m:НомерРазрешенияНаВывоз/> <m:ДатаРазрешенияНаВывоз>0001-01-01T00:00:00</m:ДатаРазрешенияНаВывоз> <m:НомерРазрешенияНаВвоз/> <m:ДатаРазрешенияНаВвоз>0001-01-01T00:00:00</m:ДатаРазрешенияНаВвоз> <m:Транспорт>А/М 555</m:Транспорт> <m:СписокПроизводителей> <m:Наименование>Наименование</m:Наименование> <m:Адрес>Российская федерация, ...</m:Адрес> </m:СписокПроизводителей> <m:Упаковки>Багаж.(LE)</m:Упаковки> <m:Продуктивная>false</m:Продуктивная> <m:ГУИДСкладскойЗаписи>ГУИДСкладскойЗаписи</m:ГУИДСкладскойЗаписи> </m:Сертификаты> </m:return> </m:ПолучитьСписокСертификатовResponse> </soap:Body> </soap:Envelope>
ПолучитьСписокСертификатовМеркурий
Назначение: Операция предназначена для получения всех ветеринарных сопроводительных документов (ВСД) предприятия с возможностью фильтрации.
Результатом выполнения данной операции являются сведения о запрашиваемых ВСД.
Параметры:
- КодПодразделения (Тип: string) - код поднадзорного объекта организации, по которому будут запрашиваться список сертификатов. Если а Шлюзе используется только одно подразделение, можно передавать пустую строку.
- Параметры (Тип: ПараметрыСписка) - параметры запрашиваемого списка ветеринарных сопроводительных документов (ВСД) предприятия.
Возвращаемое значение:
- СписокДокументов (Тип: СписокДокументов) - Структура, в которой поле СписокДокументов.Сертификаты будет содержать список запрашиваемых ВСД предприятия.
Пример вызова и разбора ответа 1С
Процедура ЗапроситьСписокСертификатовМеркурий()
Прокси = ПолучитьПрокси();
Фабрика = Прокси.ФабрикаXDTO;
ПараметрыСписка = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"ПараметрыСписка"));
Если ЗначениеЗаполнено(ТипСертификата) Тогда
ПараметрыСписка.ТипСертификата = ТипСертификата;
КонецЕсли;
Если ЗначениеЗаполнено(СтатусСертификата) Тогда
ПараметрыСписка.СтатусСертификата =СтатусСертификата;
КонецЕсли;
Если ЗначениеЗаполнено(ПериодВхСертификатов.ДатаНачала) Тогда
ПараметрыСписка.ДатаНачала = ПериодВхСертификатов.ДатаНачала;
КонецЕсли;
Если ЗначениеЗаполнено(ПериодВхСертификатов.ДатаОкончания) Тогда
ПараметрыСписка.ДатаОкончания = ПериодВхСертификатов.ДатаОкончания;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(ТипСертификата) И НЕ ЗначениеЗаполнено(СтатусСертификата) Тогда
Сообщить("Не заполнен тип и статус сертификата");
Возврат;
КонецЕсли;
Рез = Прокси.ПолучитьСписокСертификатовМеркурий(?(НЕ ЗначениеЗаполнено(ПодразделениеОрганизации),Неопределено,ПодразделениеОрганизации.Код),ПараметрыСписка);
Если ТипЗнч(Рез) = Тип("Строка") тогда
Сообщить(Рез);
Возврат ;
КонецЕсли;
СписокСертификатов.Очистить();
Если Рез <> Неопределено Тогда
Для Каждого Серт Из Рез.Сертификаты Цикл
НовСтр = СписокСертификатов.Добавить();
ЗаполнитьЗначенияСвойств(НовСтр,Серт);
НовСтр.Упаковки = "";
Для Каждого Уп Из Серт.Упаковки Цикл
Если НЕ ПустаяСтрока(НовСтр.Упаковки) Тогда
НовСтр.Упаковки = НовСтр.Упаковки + "; ";
КонецЕсли;
НовСтр.Упаковки = НовСтр.Упаковки + Уп;
КонецЦикла;
КонецЦикла;
СвернутьВДерево();
КонецЕсли;
КонецПроцедуры
- getVetDocumentList.xml
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Body> <ns0:ПолучитьСписокСертификатовМеркурий xmlns:ns0="http://88.99.106.214/Mercury"> <ns0:КодПодразделения>00-000001</ns0:КодПодразделения> <ns0:Параметры> <ns0:ТипСертификата>Входящий</ns0:ТипСертификата> <ns0:СтатусСертификата>Оформлен</ns0:СтатусСертификата> <ns0:ДатаНачала>2019-01-01T16:12:30</ns0:ДатаНачала> <ns0:ДатаОкончания>2019-06-01T23:59:59</ns0:ДатаОкончания> </ns0:Параметры> </ns0:ПолучитьСписокСертификатовМеркурий> </soap-env:Body> </soap-env:Envelope>
- getVetDocumentListResponse.xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <m:ПолучитьСписокСертификатовМеркурийResponse xmlns:m="http://88.99.106.214/Mercury"> <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <m:Сертификаты> <m:НомерТТН>0000-000328</m:НомерТТН> <m:ОтправительХозСубъект>"Ромашка"</m:ОтправительХозСубъект> <m:ОтправительИНН>ИНН</m:ОтправительИНН> <m:ОтправительПоднадзорный>ОтправительПоднадзорный</m:ОтправительПоднадзорный> <m:ОтправительАдрес/> <m:ПолучательХозСубъект>ООО ПолучательХозСубъект</m:ПолучательХозСубъект> <m:ПолучательИНН>ИНН2</m:ПолучательИНН> <m:ПолучательПоднадзорный>ООО ПолучательПоднадзорный</m:ПолучательПоднадзорный> <m:ПолучательАдрес>Адрес</m:ПолучательАдрес> <m:УУИД>УУИД ВСД</m:УУИД> <m:Серия/> <m:Номер/> <m:Дата>2019-04-16T00:00:00</m:Дата> <m:Форма>Форма 2</m:Форма> <m:Подкатегория>готовая молочная продукция ()</m:Подкатегория> <m:ПодкатегорияГУИД>c2a2cc3c-adf5-8473-4d0b-806a9afbb79d</m:ПодкатегорияГУИД> <m:КодПодкатегории/> <m:Номенклатура>Подарок</m:Номенклатура> <m:НоменклатураКод>Я77995 |</m:НоменклатураКод> <m:ЕдиницаХранения>кг</m:ЕдиницаХранения> <m:ДатаВыработкиСтр>30.10.2018 0:00:00</m:ДатаВыработкиСтр> <m:СрокГодностиСтр>30.11.2018 0:00:00</m:СрокГодностиСтр> <m:Количество>50</m:Количество> <m:КоличествоУпаковок>0</m:КоличествоУпаковок> <m:Упаковки>"Коробка, пластмассовая"(50)</m:Упаковки> <m:Продуктивная>false</m:Продуктивная> <m:КодПартии/> <m:Производитель>ООО Ромашка</m:Производитель> <m:КодПроизводителя>000008536</m:КодПроизводителя> <m:Артикул/> <m:GTIN/> <m:Торг12/> <m:Заказ>2</m:Заказ> </m:Сертификаты> <m:Сертификаты> <m:НомерТТН>0000-000334</m:НомерТТН> <m:ОтправительХозСубъект>"Ромашка"</m:ОтправительХозСубъект> <m:ОтправительИНН>ИНН</m:ОтправительИНН> <m:ОтправительПоднадзорный>ОтправительПоднадзорный</m:ОтправительПоднадзорный> <m:ОтправительАдрес/> <m:ПолучательХозСубъект>ООО ПолучательХозСубъект</m:ПолучательХозСубъект> <m:ПолучательИНН>ИНН2</m:ПолучательИНН> <m:ПолучательПоднадзорный>ООО ПолучательПоднадзорный</m:ПолучательПоднадзорный> <m:ПолучательАдрес>Адрес</m:ПолучательАдрес> <m:УУИД>УУИД ВСД</m:УУИД> <m:Серия/> <m:Номер/> <m:Дата>2019-05-06T00:00:00</m:Дата> <m:Форма>Форма 2</m:Форма> <m:Подкатегория>готовые мясные продукты (1602)</m:Подкатегория> <m:ПодкатегорияГУИД>207c0fb7-1346-1619-ffee-7e24f142142b</m:ПодкатегорияГУИД> <m:КодПодкатегории>1602</m:КодПодкатегории> <m:Номенклатура>мясо рубленное по Сибирски</m:Номенклатура> <m:НоменклатураКод>Я78008 |</m:НоменклатураКод> <m:ЕдиницаХранения>кг</m:ЕдиницаХранения> <m:ДатаВыработкиСтр>03.03.2019 0:00:00</m:ДатаВыработкиСтр> <m:СрокГодностиСтр>03.04.2019 0:00:00</m:СрокГодностиСтр> <m:Количество>2</m:Количество> <m:КоличествоУпаковок>0</m:КоличествоУпаковок> <m:Упаковки>"Коробка, пластмассовая"(2)</m:Упаковки> <m:Продуктивная>false</m:Продуктивная> <m:КодПартии/> <m:Производитель>ООО Ромашка</m:Производитель> <m:КодПроизводителя>Ш00000000000000000000000000000000028</m:КодПроизводителя> <m:Артикул/> <m:GTIN/> <m:Торг12/> <m:Заказ>2</m:Заказ> </m:Сертификаты> </m:return> </m:ПолучитьСписокСертификатовМеркурийResponse> </soap:Body> </soap:Envelope>
ПолучитьСкладскиеЗаписиМеркурий
Назначение: Операция предназначена для получения актуального списка записей складского журнала. Складской журнал продукции в системе Меркурий ведется с применением версионирования, это означает, что при каждом изменении записи складского журнала создается новая версия этой записи.
Результатом выполнения данной операции являются сведения о всех актуальных записях складского журнала для запрашиваемого предприятия.
Параметры:
- КодПодразделения (Тип: string) - код поднадзорного объекта организации, по которому будут запрашиваться остатки. Если а Шлюзе используется только одно подразделение, можно передавать пустую строку.
Возвращаемое значение:
- СкладскиеЗаписи(Тип: СкладскиеЗаписи) - структура, таблицу остатков по подразделению в системе Меркурий и общее количество позиций.
Если код номенклатуры в строке складской записи пуст (номенклатура не заполнена), то остаток считается категорийным. Такие остатки не привязаны к конкретной номенклатуре и могут быть использованы для списания любой продукции соответствующей подкатегории.
Процедура ПолучитьСкладскиеЗаписиМеркурий()
Прокси = ПолучитьПрокси();
Результат = Прокси.ПолучитьСкладскиеЗаписиМеркурий("00-000001");
КонецПроцедуры
- stockEntryListRequest.xml
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Body> <ns0:ПолучитьСкладскиеЗаписиМеркурий xmlns:ns0="http://88.99.106.214/Mercury"> <ns0:КодПодразделения>00-000001</ns0:КодПодразделения> </ns0:ПолучитьСкладскиеЗаписиМеркурий> </soap-env:Body> </soap-env:Envelope>
- response.xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <m:ПолучитьСкладскиеЗаписиМеркурийResponse xmlns:m="http://88.99.106.214/Mercury"> <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <m:Записи> <m:Номенклатура> <m:Код>00-00000386 </m:Код> <m:ПолныйКод/> <m:Наименование>ПОЛУФАБРИКАТ ТВОРОЖНЫЙ ПРОДУКТ</m:Наименование> <m:НаименованиеПолное>ПОЛУФАБРИКАТ ТВОРОЖНЫЙ ПРОДУКТ</m:НаименованиеПолное> <m:Артикул>Артикул</m:Артикул> <m:Гост/> <m:Скоропортящаяся>false</m:Скоропортящаяся> <m:Некачественная>false</m:Некачественная> <m:GTIN/> </m:Номенклатура> <m:ЕдиницаХранения>кг</m:ЕдиницаХранения> <m:ПодкатегорияСтр>вареники в ассортименте (1902)</m:ПодкатегорияСтр> <m:ПодкатегорияГуид>0cfe6899-94f5-0211-a66f-40f232634b42</m:ПодкатегорияГуид> <m:ГУИД>ГУИД</m:ГУИД> <m:УУИД>УУИД</m:УУИД> <m:Номер>111111</m:Номер> <m:Количество>2555</m:Количество> <m:КоличествоУпаковок>230</m:КоличествоУпаковок> <m:Упаковки>"Коробка, картонная","Коробка, картонная"</m:Упаковки> <m:Запись>83</m:Запись> <m:Статус>110</m:Статус> <m:ПроизводительСтр>ПроизводительСтр</m:ПроизводительСтр> <m:ПроизводительГуид>ГУИД</m:ПроизводительГуид> <m:НоменклатураСтр>Вареники с вишней</m:НоменклатураСтр> <m:НоменклатураГуид>ГУИД</m:НоменклатураГуид> <m:СтранаПроизводительГуид>ГУИД</m:СтранаПроизводительГуид> <m:Скоропорт>false</m:Скоропорт> <m:Некачественная>false</m:Некачественная> <m:ВладелецГуид>ГУИД</m:ВладелецГуид> <m:ДатаСоздания>2019-04-08T12:33:28</m:ДатаСоздания> <m:ВсдУуид>УУИД1,УУИД2,УУИД3,УУИД4</m:ВсдУуид> <m:Фасовка>{"#",acf6192e-81ca-46ef-93a6-5a6968b78663, {9, {4, {0,"Уровень", {"Pattern", {"#",41a41c81-894a-4d04-858d-33864bdb0ca6} },"",0}, {1,"Упаковка", {"Pattern", {"#",939727e7-c920-4676-9bd2-2c765b42ec23} },"",0}, {2,"Количество", {"Pattern", {"N"} },"",0}, {3,"Маркировки", {"Pattern", {"S"} },"",0} }, {2,4,0,0,1,1,2,2,3,3, {1,2, {2,0,4, {"#",41a41c81-894a-4d04-858d-33864bdb0ca6,72:a9b3544201ea0f714dfe3125dcc46386}, {"#",939727e7-c920-4676-9bd2-2c765b42ec23,16:92694e0026c97eeb11e83cbb961d2660}, {"N",210}, {"S","EAN13:Марка13;UNDEFINED:выпуск1;EAN13:выпуск1"},0}, {2,1,4, {"#",41a41c81-894a-4d04-858d-33864bdb0ca6,72:9955b2894d8e2ef8433246ce550fcb3e}, {"#",939727e7-c920-4676-9bd2-2c765b42ec23,16:92694e0026c97eeb11e83cbb961d2660}, {"N",20}, {"S","EAN13:марка1;UNDEFINED:марка1"},0} },3,1}, {0,0} } }</m:Фасовка> <m:ФасовкаСтрокой>"Коробка, картонная"(210), "Коробка, картонная"(20)</m:ФасовкаСтрокой> <m:ДатаВыработки>2018-04-24T00:00:00</m:ДатаВыработки> <m:ДатаВыработкиДо>2018-06-22T00:00:00</m:ДатаВыработкиДо> <m:ДатаВыработкиСтр>24.04.2018 0:00:00-22.06.2018 0:00:00</m:ДатаВыработкиСтр> <m:СрокГодности>2018-04-24T00:00:00</m:СрокГодности> <m:СрокГодностиДо>2018-07-19T00:00:00</m:СрокГодностиДо> <m:СрокГодностиСтр>24.04.2018 0:00:00-19.07.2018 0:00:00</m:СрокГодностиСтр> <m:АртикулМеркурий>Артикул</m:АртикулМеркурий> <m:GTIN/> </m:Записи> <m:Записи> <m:Номенклатура> <m:Код> </m:Код> <m:ПолныйКод/> <m:Наименование/> <m:НаименованиеПолное/> <m:Артикул/> <m:Гост/> <m:Скоропортящаяся>false</m:Скоропортящаяся> <m:Некачественная>false</m:Некачественная> <m:GTIN/> </m:Номенклатура> <m:ЕдиницаХранения>кг</m:ЕдиницаХранения> <m:ПодкатегорияСтр>баранина (0204)</m:ПодкатегорияСтр> <m:ПодкатегорияГуид>303c5d83-e003-6e06-c1a3-da717ba5fdf8</m:ПодкатегорияГуид> <m:ГУИД>ГУИД</m:ГУИД> <m:УУИД>УУИД</m:УУИД> <m:Номер>1222222</m:Номер> <m:Количество>1</m:Количество> <m:КоличествоУпаковок>1</m:КоличествоУпаковок> <m:Упаковки>"Коробка, картонная"</m:Упаковки> <m:Запись>267</m:Запись> <m:Статус>102</m:Статус> <m:ПроизводительСтр>Производитель</m:ПроизводительСтр> <m:ПроизводительГуид>ГУИД</m:ПроизводительГуид> <m:НоменклатураСтр>Хлеб</m:НоменклатураСтр> <m:НоменклатураГуид/> <m:СтранаПроизводительГуид>ГУИД</m:СтранаПроизводительГуид> <m:Скоропорт>false</m:Скоропорт> <m:Некачественная>false</m:Некачественная> <m:ВладелецГуид>ГУИД</m:ВладелецГуид> <m:ДатаСоздания>2019-04-24T11:22:30</m:ДатаСоздания> <m:ВсдУуид>УУИД</m:ВсдУуид> <m:Фасовка></m:Фасовка> <m:ФасовкаСтрокой></m:ФасовкаСтрокой> <m:ДатаВыработки>2018-06-18T00:00:00</m:ДатаВыработки> <m:ДатаВыработкиДо>0001-01-01T00:00:00</m:ДатаВыработкиДо> <m:ДатаВыработкиСтр>18.06.2018 0:00:00</m:ДатаВыработкиСтр> <m:СрокГодности>2018-06-28T00:00:00</m:СрокГодности> <m:СрокГодностиДо>0001-01-01T00:00:00</m:СрокГодностиДо> <m:СрокГодностиСтр>28.06.2018 0:00:00</m:СрокГодностиСтр> <m:АртикулМеркурий/> <m:GTIN/> </m:Записи> <m:Записи> <m:Номенклатура> <m:Код> </m:Код> <m:ПолныйКод/> <m:Наименование/> <m:НаименованиеПолное/> <m:Артикул/> <m:Гост/> <m:Скоропортящаяся>false</m:Скоропортящаяся> <m:Некачественная>false</m:Некачественная> <m:GTIN/> </m:Номенклатура> <m:ЕдиницаХранения>кг</m:ЕдиницаХранения> <m:ПодкатегорияСтр>свинина (0203)</m:ПодкатегорияСтр> <m:ПодкатегорияГуид>1d17cba8-77e5-5cea-8ba3-3e29b5900697</m:ПодкатегорияГуид> <m:ГУИД>ГУИД</m:ГУИД> <m:УУИД>УУИД</m:УУИД> <m:Номер>17666</m:Номер> <m:Количество>18</m:Количество> <m:КоличествоУпаковок>14</m:КоличествоУпаковок> <m:Упаковки>"Коробка, пластмассовая"</m:Упаковки> <m:Запись>35</m:Запись> <m:Статус>110</m:Статус> <m:ПроизводительСтр>Производитель</m:ПроизводительСтр> <m:ПроизводительГуид>ГУИД</m:ПроизводительГуид> <m:НоменклатураСтр>Нарезка сало</m:НоменклатураСтр> <m:НоменклатураГуид/> <m:СтранаПроизводительГуид>ГУИД</m:СтранаПроизводительГуид> <m:Скоропорт>false</m:Скоропорт> <m:Некачественная>false</m:Некачественная> <m:ВладелецГуид>ГУИД</m:ВладелецГуид> <m:ДатаСоздания>2019-04-10T16:29:35</m:ДатаСоздания> <m:ВсдУуид>УУИД1,УУИД2</m:ВсдУуид> <m:Фасовка>{"#",acf6192e-81ca-46ef-93a6-5a6968b78663, {9, {4, {0,"Уровень", {"Pattern", {"#",41a41c81-894a-4d04-858d-33864bdb0ca6} },"",0}, {1,"Упаковка", {"Pattern", {"#",939727e7-c920-4676-9bd2-2c765b42ec23} },"",0}, {2,"Количество", {"Pattern", {"N"} },"",0}, {3,"Маркировки", {"Pattern", {"S"} },"",0} }, {2,4,0,0,1,1,2,2,3,3, {1,1, {2,0,4, {"#",41a41c81-894a-4d04-858d-33864bdb0ca6,72:a9b3544201ea0f714dfe3125dcc46386}, {"#",939727e7-c920-4676-9bd2-2c765b42ec23,16:92694e0026c97eeb11e83cbb961d264f}, {"N",14}, {"S",""},0} },3,0}, {0,0} } }</m:Фасовка> <m:ФасовкаСтрокой>"Коробка, пластмассовая"(14)</m:ФасовкаСтрокой> <m:ДатаВыработки>2018-06-29T00:00:00</m:ДатаВыработки> <m:ДатаВыработкиДо>2018-12-01T00:00:00</m:ДатаВыработкиДо> <m:ДатаВыработкиСтр>29.06.2018 0:00:00-01.12.2018 0:00:00</m:ДатаВыработкиСтр> <m:СрокГодности>2018-09-29T00:00:00</m:СрокГодности> <m:СрокГодностиДо>2019-03-01T00:00:00</m:СрокГодностиДо> <m:СрокГодностиСтр>29.09.2018 0:00:00-01.03.2019 0:00:00</m:СрокГодностиСтр> <m:АртикулМеркурий/> <m:GTIN/> </m:Записи> <m:Записи> <m:Номенклатура> <m:Код> </m:Код> <m:ПолныйКод/> <m:Наименование/> <m:НаименованиеПолное/> <m:Артикул/> <m:Гост/> <m:Скоропортящаяся>false</m:Скоропортящаяся> <m:Некачественная>false</m:Некачественная> <m:GTIN/> </m:Номенклатура> <m:ЕдиницаХранения>кг</m:ЕдиницаХранения> <m:ПодкатегорияСтр>молочная продукция (0401)</m:ПодкатегорияСтр> <m:ПодкатегорияГуид>3f17af16-b77a-1d97-fe70-15d93714a9ca</m:ПодкатегорияГуид> <m:ГУИД>ГУИД</m:ГУИД> <m:УУИД>УУИД</m:УУИД> <m:Номер>173999</m:Номер> <m:Количество>0.25</m:Количество> <m:КоличествоУпаковок>0</m:КоличествоУпаковок> <m:Упаковки/> <m:Запись>352</m:Запись> <m:Статус>103</m:Статус> <m:ПроизводительСтр>Производитель</m:ПроизводительСтр> <m:ПроизводительГуид>ГУИД</m:ПроизводительГуид> <m:НоменклатураСтр>Колбаски-гриль свинные</m:НоменклатураСтр> <m:НоменклатураГуид>ГУИД</m:НоменклатураГуид> <m:СтранаПроизводительГуид>ГУИД</m:СтранаПроизводительГуид> <m:Скоропорт>false</m:Скоропорт> <m:Некачественная>false</m:Некачественная> <m:ВладелецГуид>ГУИД</m:ВладелецГуид> <m:ДатаСоздания>2019-04-24T10:25:04</m:ДатаСоздания> <m:ВсдУуид>УУИД</m:ВсдУуид> <m:Фасовка/> <m:ФасовкаСтрокой/> <m:ДатаВыработки>2019-04-24T00:00:00</m:ДатаВыработки> <m:ДатаВыработкиДо>0001-01-01T00:00:00</m:ДатаВыработкиДо> <m:ДатаВыработкиСтр>24.04.2019 0:00:00</m:ДатаВыработкиСтр> <m:СрокГодности>2019-05-08T00:00:00</m:СрокГодности> <m:СрокГодностиДо>0001-01-01T00:00:00</m:СрокГодностиДо> <m:СрокГодностиСтр>08.05.2019 0:00:00</m:СрокГодностиСтр> <m:АртикулМеркурий/> <m:GTIN/> </m:Записи> <m:Количество>393</m:Количество> </m:return> </m:ПолучитьСкладскиеЗаписиМеркурийResponse> </soap:Body> </soap:Envelope>
ЗагрузитьСпецификацию
Назначение: Операция предназначена для загрузки спецификации производимой продукции в шлюз из учетной системы. В дальнейшем эта спецификация может быть использована для автоматического заполнения списываемых материалов в производстве (в том числе при создании производства на основании реализации и в групповых операциях).
Параметры:
- Спецификация (Тип: СпецификацияНоменклатуры) - структура, содержащая массив спецификаций. Для каждой конкретной спецификации происходит поиск номенклатуры и материала, из которого она производится, в справочнике Номенклатура. Если номенклатура или материал не найдены в справочнике, они будут созданы в момент выгрузки спецификации, или будет возвращена причина, по которой это сделать не удалось.
Возвращаемое значение:
- Строка, описывающая результат загрузки и имеющая следующую структуру: {РезультатЗагрузки} + «Загружено связей: » + {Количество загруженных связей}, где {РезультатЗагрузки} будет содержать информацию о том, почему не создалась та или иная спецификация.
#Область Спецификация
&НаКлиенте
Процедура ВыгрузитьСпецификацию(Команда)
ВыгрузитьСпецификациюНаСервере();
КонецПроцедуры
&НаСервере
Процедура ВыгрузитьСпецификациюНаСервере()
Прокси = ПолучитьПрокси();
Фабрика = Прокси.ФабрикаXDTO;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Спецификации.Ссылка
|ИЗ
| Справочник.Спецификации КАК Спецификации";
//Запрос.УстановитьПараметр("Спецификация", Спецификация);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Спецификация = СформироватьСпецификацию(Выборка.Ссылка,Фабрика);
Прокси.ЗагрузитьСпецификацию(Спецификация);
КонецЦикла;
КонецПроцедуры
&НаСервере
Функция СформироватьСпецификацию(Ссылка,Фабрика)
СпецификацияНоменклатуры = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"СпецификацияНоменклатуры"));
Для Каждого Стр из Ссылка.Состав Цикл
СтрокаСпецификации = СоздатьСтрокуСпецификации(Ссылка.Владелец,Стр,Фабрика);
СпецификацияНоменклатуры.Спецификация.Добавить(СтрокаСпецификации);
КонецЦикла;
Возврат СпецификацияНоменклатуры;
КонецФункции
&НаСервере
Функция СоздатьСтрокуСпецификации (Товар,Строка,Фабрика)
СтрокаСпецификации = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"СтрокаСпецификации"));
СтрокаСпецификации.Товар = СформироватьНоменклатуру(Товар,Фабрика);
СтрокаСпецификации.Материал = СформироватьНоменклатуру(Строка.Номенклатура,Фабрика);
СтрокаСпецификации.Количество = Строка.Количество;
СтрокаСпецификации.Кратность = Строка.КоличествоПродукции;
СтрокаСпецификации.Период = ТекущаяДата();
Возврат СтрокаСпецификации;
Конецфункции
#КонецОбласти
- addSpec.xml
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Body> <ns0:ЗагрузитьСпецификацию xmlns:ns0="http://88.99.106.214/Mercury"> <ns0:Спецификация> <ns0:Спецификация> <ns0:Период>2019-01-01</ns0:Период> <ns0:Товар> <!--Данная продукция точно есть в АСП Шлюз, значит остальные поля заполнять не обязательно--> <ns0:Код>С0000002695</ns0:Код> <!--Если выгрузка номенклатуры в шлюз осуществлялась по коду--> <!--<ns0:ПолныйКод></ns0:ПолныйКод>--> <!--Если выгрузка номенклатуры в шлюз осуществлялась по ПОЛНОМУ коду--> </ns0:Товар> <ns0:Материал> <ns0:Код>МТ000000001</ns0:Код> <!--Если выгрузка номенклатуры в шлюз осуществлялась по коду--> <!--<ns0:ПолныйКод></ns0:ПолныйКод>--> <!--Если выгрузка номенклатуры в шлюз осуществлялась по ПОЛНОМУ коду--> <ns0:Наименование>Молоко 1</ns0:Наименование> <ns0:НаименованиеПолное>Молоко 1</ns0:НаименованиеПолное> <ns0:Группа> <ns0:Код>Г_3</ns0:Код> <!--Если выгрузка номенклатуры в шлюз осуществлялась по коду--> <!--<ns0:ПолныйКод></ns0:ПолныйКод>--> <!--Если выгрузка номенклатуры в шлюз осуществлялась по ПОЛНОМУ коду--> <ns0:Наименование>Группа материалов 3</ns0:Наименование> <ns0:Родитель> <ns0:Код>Г_2</ns0:Код> <!--<ns0:ПолныйКод></ns0:ПолныйКод>--> <ns0:Наименование>Группа материалов 2</ns0:Наименование> <ns0:Родитель> <ns0:Код>Г_1</ns0:Код> <!--<ns0:ПолныйКод></ns0:ПолныйКод>--> <ns0:Наименование>Группа материалов 1</ns0:Наименование> </ns0:Родитель> </ns0:Родитель> </ns0:Группа> <ns0:Артикул>12321</ns0:Артикул> <ns0:Подкатегория>cafb0a2e-38c9-2510-d3e3-96cec97fd13a</ns0:Подкатегория> <ns0:ЕдХранения>кг</ns0:ЕдХранения> <ns0:Скоропортящаяся>false</ns0:Скоропортящаяся> <ns0:Некачественная>false</ns0:Некачественная> <ns0:Комментарий>Новый материал</ns0:Комментарий> <ns0:GTIN>1122332211</ns0:GTIN> </ns0:Материал> <ns0:Количество>2.2</ns0:Количество> <!--Для производства 1-ой единиы продукции необходимо использовать 2.2 единицы сырья--> <ns0:Кратность>1</ns0:Кратность> </ns0:Спецификация> <ns0:Спецификация> <ns0:Период>2019-01-01</ns0:Период> <ns0:Товар> <ns0:Код>С0000001427</ns0:Код> <!--Если выгрузка номенклатуры в шлюз осуществлялась по коду--> <!--<ns0:ПолныйКод></ns0:ПолныйКод>--> <!--Если выгрузка номенклатуры в шлюз осуществлялась по ПОЛНОМУ коду--> </ns0:Товар> <ns0:Материал> <ns0:Код>С0000003191</ns0:Код> <!--Если выгрузка номенклатуры в шлюз осуществлялась по коду--> <!--<ns0:ПолныйКод></ns0:ПолныйКод>--> <!--Если выгрузка номенклатуры в шлюз осуществлялась по ПОЛНОМУ коду--> </ns0:Материал> <ns0:Количество>2</ns0:Количество> <!--Для производства 3-х единиц продукции необходимо использовать 2 единицы сырья--> <ns0:Кратность>3</ns0:Кратность> </ns0:Спецификация> </ns0:Спецификация> </ns0:ЗагрузитьСпецификацию> </soap-env:Body> </soap-env:Envelope>
- addSpecResponse.xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <m:ЗагрузитьСпецификациюResponse xmlns:m="http://88.99.106.214/Mercury"> <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Загружено связей: 2</m:return> </m:ЗагрузитьСпецификациюResponse> </soap:Body> </soap:Envelope>
ОчиститьОчередьЗаявокПодПользователем
Назначение: Выполняет очистку очереди заявок в шлюзе.
Параметры:
- ВсеПользователи (Тип: boolean). Если передается значение Истина - очишается очередь заявок всех пользователей, иначе - только пользователя, от имени которого выполняется данная операция.
Возвращаемое значение: boolean, возвращает статус очистки очереди заявок. Истина - операция прошла успешно.
Процедура ОчиститьОчередьЗаявокНаСервере()
Прокси = ПолучитьПрокси();
Если Прокси.ОчиститьОчередьЗаявокПодПользователем(Истина) Тогда
Сообщить("Очистка очереди заявок выполнена");
Иначе
Сообщить("В процессе очистки очереди заявок произошла ошибка. Попробуйте выполнить отперацию в Веб-доступе.");
КонецЕсли;
КонецПроцедуры
- clearRequestQueue.xml
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Body> <ns0:ОчиститьОчередьЗаявокПодПользователем xmlns:ns0="http://88.99.106.214/Mercury"> <ns0:ВсеПользователи>true</ns0:ВсеПользователи> </ns0:ОчиститьОчередьЗаявокПодПользователем> </soap-env:Body> </soap-env:Envelope>
- clearRequestQueueResponse.xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <m:ОчиститьОчередьЗаявокПодПользователемResponse xmlns:m="http://88.99.106.214/Mercury"> <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">true</m:return> </m:ОчиститьОчередьЗаявокПодПользователемResponse> </soap:Body> </soap:Envelope>
РазобратьОчередьЗаявок
Назначение: Выполняет разбор результатов заявок в систему Меркурий.
Параметры:
Возвращаемое значение: boolean, возвращает статус разбора очереди заявок. Истина - операция прошла успешно.
Процедура РазобратьОчередьЗаявокНаСервере()
Прокси = ПолучитьПрокси();
Если Прокси.ОчиститьОчередьЗаявок() Тогда
Сообщить("Разбор очереди заявок выполнен");
Иначе
Сообщить("В процессе разбора очереди заявок произошла ошибка. Попробуйте выполнить отперацию в Веб-доступе.");
КонецЕсли;
КонецПроцедуры
- readRequestQueue.xml
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Body> <ns0:РазобратьОчередьЗаявок xmlns:ns0="http://88.99.106.214/Mercury"> </ns0:РазобратьОчередьЗаявок> </soap-env:Body> </soap-env:Envelope>
- readRequestQueueResponse.xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <m:РазобратьОчередьЗаявокResponse xmlns:m="http://88.99.106.214/Mercury"> <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">true</m:return> </m:РазобратьОчередьЗаявокResponse> </soap:Body> </soap:Envelope>
ПолучитьДанныеРегистрацииХС
Назначение: Метод предназначен для получения ГУИДов хозяйствующих субъектов и поднадзорных объектов из шлюза.
Параметры:
- МассивИНН (Тип: МассивИНН - объект, содержащий массив ИНН контрагентов (хоз. субъектов), данные по которым необходимо получить.
Возвращаемое значение: ДанныеРегистрацииХС.
Процедура ПолучитьРегДанныеНаСервере()
Прокси = ПолучитьПрокси();
Фабрика = Прокси.ФабрикаXDTO;
МассивИНН = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"МассивИНН"));
Для Каждого Ко Из СписокКонтрагентов Цикл
МассивИНН.ИНН.Добавить(Ко.Значение.ИНН);
КонецЦикла;
Результат = Прокси.ПолучитьДанныеРегистрацииХС(МассивИНН);
КонецПроцедуры
- hsRegistrationData.xml
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Body> <ns0:ПолучитьДанныеРегистрацииХС xmlns:ns0="http://88.99.106.214/Mercury"> <ns0:МассивИНН> <ns0:ИНН>7712092205</ns0:ИНН> <ns0:ИНН>5042122899</ns0:ИНН> </ns0:МассивИНН> </ns0:ПолучитьДанныеРегистрацииХС> </soap-env:Body> </soap-env:Envelope>
- hsRegistrationDataResponse.xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <m:ПолучитьДанныеРегистрацииХСResponse xmlns:m="http://88.99.106.214/Mercury"> <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <m:ДанныеХС> <m:Наименование>СОЮЗСНАБ АО</m:Наименование> <m:ИНН>7712092205</m:ИНН> <m:Адрес>143406, Московская обл, Красногорск г, Ильинский туп, дом № 6</m:Адрес> <m:ГУИД>fd370c7b-218a-11e2-a69b-b499babae7ea</m:ГУИД> <m:ПоднадзорныеОбъекты> <m:Код>Ш00000000000000000000000000000000008</m:Код> <m:Наименование>Тестовая</m:Наименование> <m:Адрес>Российская Федерация Ленинградская обл. Гатчинский район д. Александровка Механизаторов ул. 1</m:Адрес> <m:ГУИД>c40baa99-73fe-4d1b-9c77-88633294b239</m:ГУИД> </m:ПоднадзорныеОбъекты> <m:ПоднадзорныеОбъекты> <m:Код>Ш00000000000000000000000000000000009</m:Код> <m:Наименование>СС Иркурск</m:Наименование> <m:Адрес>Российская Федерация Иркутская обл. г. Иркутск Удинский проезд 18</m:Адрес> <m:ГУИД>51331127-0779-4d42-856c-856da2ef3a75</m:ГУИД> </m:ПоднадзорныеОбъекты> <m:ПоднадзорныеОбъекты> <m:Код>00-000027</m:Код> <m:Наименование>СОЮЗСНАБ АО</m:Наименование> <m:Адрес>143406, Московская обл, Красногорск г, Ильинский туп, дом № 6</m:Адрес> <m:ГУИД>b869a4c3-9bcf-4f92-b2fe-794b0180f9fe</m:ГУИД> </m:ПоднадзорныеОбъекты> </m:ДанныеХС> <m:ДанныеХС> <m:Наименование>РеалСП</m:Наименование> <m:ИНН>5042122899</m:ИНН> <m:Адрес/> <m:ГУИД>ccd1edeb-aac1-4a27-bca5-9bc584d0f5db</m:ГУИД> <m:ПоднадзорныеОбъекты> <m:Код>Ш00000000000000000000000000000000011</m:Код> <m:Наименование>РеалСП</m:Наименование> <m:Адрес>141309, Область Московская, Район Сергиево-Посадский, Город Сергиев Посад, Проспект Красной Армии, ДОМ 136, ПОМЕЩЕНИЕ 3, 3 ЭТАЖ, КОМНАТА 4</m:Адрес> <m:ГУИД>28cdb33d-1060-4029-bb23-bba0aa498c3f</m:ГУИД> </m:ПоднадзорныеОбъекты> </m:ДанныеХС> </m:return> </m:ПолучитьДанныеРегистрацииХСResponse> </soap:Body> </soap:Envelope>
ПолучитьГуидыНоменклатуры
Назначение: Метод предназначен для получения ГУИДов номенклатуры производителей.
Параметры:
- МассивНоменклатуры (Тип: МассивНоменклатуры
Возвращаемое значение: ДанныеРегистрацииНоменклатуры.
Процедура ПолучитьГуидыНоменклатурыНаСервере()
Прокси = ПолучитьПрокси();
Фабрика = Прокси.ФабрикаXDTO;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| (&ВсяНоменклатура
| ИЛИ Номенклатура.Ссылка В ИЕРАРХИИ (&Номенклатура))
| И НЕ Номенклатура.ЭтоГруппа";
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
Запрос.УстановитьПараметр("ВсяНоменклатура", НЕ ЗначениеЗаполнено(Номенклатура));
Выборка = Запрос.Выполнить().Выбрать();
МассивНоменклатуры = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"МассивНоменклатуры"));
Пока Выборка.Следующий() Цикл
МассивНоменклатуры.Номенклатура.Добавить(СформироватьНоменклатуру(Выборка.Ссылка,Фабрика));
КонецЦикла;
Рез = Прокси.ПолучитьГуидыНоменклатуры(МассивНоменклатуры);
Сообщить("Результат получен");
КонецПроцедуры
- productGuidListRequest.xml
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Body> <ns0:ПолучитьГуидыНоменклатуры xmlns:ns0="http://88.99.106.214/Mercury"> <ns0:МассивНоменклатуры> <ns0:Номенклатура> <ns0:Код>00-00000386</ns0:Код> <!--Если выгрузка номенклатуры в шлюз осуществлялась по коду--> <!--<ns0:ПолныйКод></ns0:ПолныйКод>--> <!--Если выгрузка номенклатуры в шлюз осуществлялась по ПОЛНОМУ коду--> </ns0:Номенклатура> <ns0:Номенклатура> <ns0:Код>00000000104</ns0:Код> <!--Если выгрузка номенклатуры в шлюз осуществлялась по коду--> <!--<ns0:ПолныйКод></ns0:ПолныйКод>--> <!--Если выгрузка номенклатуры в шлюз осуществлялась по ПОЛНОМУ коду--> </ns0:Номенклатура> </ns0:МассивНоменклатуры> </ns0:ПолучитьГуидыНоменклатуры> </soap-env:Body> </soap-env:Envelope>
- productGuidListResponse.xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <m:ПолучитьГуидыНоменклатурыResponse xmlns:m="http://88.99.106.214/Mercury"> <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <m:ДанныеНоменклатуры> <m:Код>00000000104 </m:Код> <m:КодЗагрузки/> <m:Наименование>Моложеное Ассорти</m:Наименование> <m:ГУИД>2c5f2106-4828-4a79-b4bc-84ddd2c49946</m:ГУИД> <m:Производитель> <m:Код>000000000000000000000000000000000001</m:Код> <m:Наименование>ООО Русмолоко</m:Наименование> <m:Адрес>СТАВРОПОЛЬСКИЙ КРАЙ,Г ЖЕЛЕЗНОВОДСК,КП ИНОЗЕМЦЕВО,УЛ КОЛЬЦЕВАЯ, Д 22</m:Адрес> <m:ГУИД>3c11ac15-b25f-451f-82cb-5fbc89870395</m:ГУИД> </m:Производитель> <m:ПроизводительГуид>3c11ac15-b25f-451f-82cb-5fbc89870395</m:ПроизводительГуид> </m:ДанныеНоменклатуры> <m:ДанныеНоменклатуры> <m:Код>00-00000386 </m:Код> <m:КодЗагрузки/> <m:Наименование>ПОЛУФАБРИКАТ ТВОРОЖНЫЙ ПРОДУКТ</m:Наименование> <m:ГУИД>74a9ba9d-90c5-4f03-ad44-721b71b6afed</m:ГУИД> <m:Производитель> <m:Код>000000000000000000000000000000000001</m:Код> <m:Наименование>ООО Русмолоко</m:Наименование> <m:Адрес>СТАВРОПОЛЬСКИЙ КРАЙ,Г ЖЕЛЕЗНОВОДСК,КП ИНОЗЕМЦЕВО,УЛ КОЛЬЦЕВАЯ, Д 22</m:Адрес> <m:ГУИД>3c11ac15-b25f-451f-82cb-5fbc89870395</m:ГУИД> </m:Производитель> <m:ПроизводительГуид>3c11ac15-b25f-451f-82cb-5fbc89870395</m:ПроизводительГуид> </m:ДанныеНоменклатуры> </m:return> </m:ПолучитьГуидыНоменклатурыResponse> </soap:Body> </soap:Envelope>
ЗагрузитьГуидыНоменклатуры
Назначение: Операция предназначена для загрузки ГУИДов номенклатуры в АСП:Шлюз.
Параметры:
- ДанныеНоменклатуры (Тип: ДанныеРегистрацииНоменклатуры)
Возвращаемое значение: Строка.
&НаСервере
Процедура ВыгрузитьСПрямойНаШлюзНоменклатуруНаСервере()
Прокси = ПолучитьПрокси();
Фабрика = Прокси.ФабрикаXDTO;
ДанныеРегистрацииНоменклатуры = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"ДанныеРегистрацииНоменклатуры"));
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| АСП_Товары.ГУИД КАК ГУИД,
| АСП_Товары.ЕдиницаХранения КАК ЕдиницаХранения,
| АСП_Товары.Производитель КАК Производитель,
| АСП_Товары.Ссылка КАК Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АСП_Товары КАК АСП_Товары
| ПО Номенклатура.Ссылка = АСП_Товары.Ссылка
|ГДЕ
| Номенклатура.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Номенклатура);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
НоменклатураСтрока = СоздатьНоменклатураСтрока(Выборка.Ссылка,Выборка.ГУИД,Выборка.Производитель,Фабрика);
ДанныеРегистрацииНоменклатуры.ДанныеНоменклатуры.Добавить(НоменклатураСтрока);
КонецЦикла;
Прокси.ЗагрузитьГуидыНоменклатуры(ДанныеРегистрацииНоменклатуры);
КонецПроцедуры
Функция СоздатьНоменклатураСтрока(Ссылка,ГУИД,Производитель,Фабрика)
РегДанныеНом = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"РегДанныеНом"));
РегДанныеНом.Код = Ссылка.Код;
//РегДанныеНом.КодЗагрузки = Ссылка.Код;
РегДанныеНом.Наименование = Ссылка.Наименование;
РегДанныеНом.ГУИД = ГУИД;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| АСП_Поднадзорные.ГУИД КАК ГУИД
|ИЗ
| РегистрСведений.АСП_Поднадзорные КАК АСП_Поднадзорные
|ГДЕ
| АСП_Поднадзорные.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", Производитель);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
РегДанныеНом.Производитель = СформироватьПоднадзорного(Производитель,Производитель,ВыборкаДетальныеЗаписи.ГУИД,Фабрика);
РегДанныеНом.ПроизводительГуид = ВыборкаДетальныеЗаписи.ГУИД;
КонецЕсли;
Возврат РегДанныеНом;
КонецФункции
- setProductGuid.xml
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:Body> <ns0:ЗагрузитьГуидыНоменклатуры xmlns:ns0="http://88.99.106.214/Mercury"> <ns0:ДанныеНоменклатуры> <ns0:ДанныеНоменклатуры> <ns0:Код>С0000001427</ns0:Код> <!--Если выгрузка номенклатуры в шлюз осуществлялась по коду--> <!--<ns0:КодЗагрузки></ns0:КодЗагрузки>--> <!--Если выгрузка номенклатуры в шлюз осуществлялась по ПОЛНОМУ коду--> <ns0:Наименование>Беловежский копчен.с перцем и чесноком 42% 300гр. Береза</ns0:Наименование> <ns0:ГУИД>6c64ae56-382e-48d4-a9eb-dfc05dbcb750</ns0:ГУИД> <ns0:ПроизводительГуид>3c11ac15-b25f-451f-82cb-5fbc89870395</ns0:ПроизводительГуид> </ns0:ДанныеНоменклатуры> <ns0:ДанныеНоменклатуры> <ns0:Код>С0000002695</ns0:Код> <!--Если выгрузка номенклатуры в шлюз осуществлялась по коду--> <!--<ns0:КодЗагрузки></ns0:КодЗагрузки>--> <!--Если выгрузка номенклатуры в шлюз осуществлялась по ПОЛНОМУ коду--> <ns0:Наименование>Адыгейский 45% Возрождение ср.вес 400гр 1*2,5кг</ns0:Наименование> <ns0:ГУИД>6e2bc88d-7ea0-444f-ac69-95fd0f57b455</ns0:ГУИД> <ns0:ПроизводительГуид>3c11ac15-b25f-451f-82cb-5fbc89870395</ns0:ПроизводительГуид> </ns0:ДанныеНоменклатуры> </ns0:ДанныеНоменклатуры> </ns0:ЗагрузитьГуидыНоменклатуры> </soap-env:Body> </soap-env:Envelope>
- setProductGuidResponse.xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <m:ЗагрузитьГуидыНоменклатурыResponse xmlns:m="http://88.99.106.214/Mercury"> <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Готово!</m:return> </m:ЗагрузитьГуидыНоменклатурыResponse> </soap:Body> </soap:Envelope> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <m:ЗагрузитьГуидыНоменклатурыResponse xmlns:m="http://88.99.106.214/Mercury"> <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> Значение 'test' не может являться гуидом номенклатуры Необходимо указать гуид производителя: Код=С0000002695КодЗагрузки=Наименование=Адыгейский 45% Возрождение ср.вес 400гр 1*2,5кгГУИД=6e2bc88d-7ea0-444f-ac69-95fd0f57b455 Готово! </m:return> </m:ЗагрузитьГуидыНоменклатурыResponse> </soap:Body> </soap:Envelope>
ПолучитьОшибкиАвторегистрации
Назначение: Запроса списка ошибок, возникших при фоновой регистрации выгруженных в шлюз документов с возможностью отбора по периоду, подразделению и списку документов.
Параметры:
- ПериодОт (Тип: dateTime) - начало периода запроса списка ошибок;
- ПериодДо (Тип: dateTime) - конец периода запроса списка ошибок;
- КодПодразделения (Тип: string) - код подразделения организации;
- СписокДокументов (Тип: СписокДокументов) - список документов, по которым будет выполняться запрос ошибок.
Возвращаемое значение:
- ДанныеОтвета (Тип: ДанныеОтвета) - список документов и ошибок. Формат аналогичен результату выполнения операции ОбработатьМассивДокументов.
Разбор ответа аналогичен ОбработатьМассивДокументов.
Процедура ЗапроситьОшибкиРегистрацииНажатие(Элемент)
// параметры запрашиваемого списка ошибок
ПериодОт = НачалоМесяца(ТекущаяДата());
ПериодДо = КонецМесяца(ТекущаяДата());
КодПодразделения = "000000000001"; // код подразделения организации, по которому происходит запрос ошибок
СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов"));
ВыбраныСтроки = ТаблицаДок.НайтиСтроки(Новый Структура("Выбран", Истина));
Для Каждого Стр Из ВыбраныСтроки Цикл
Док = СформироватьДокумент(стр.Документ); // достаточно передавать тип, номер и дату документа
Если Док <> Неопределено Тогда
СписокДокументов.Документы.Добавить(Док);
КонецЕсли;
КонецЦикла;
Результат = Прокси.ПолучитьОшибкиАвторегистрации(ПериодОт, ПериодДо, КодПодразделения, СписокДокументов);
РазобратьОтвет(Результат);
КонецПроцедуры
АннулироватьМассивДокументов
Назначение: Данная операция предназначена для аннулирования всех сертификатов документа. Предполагается использование в разделе обработки «Выгрузка»→«Документы» аналогично сервису ОбработатьМассивДокументов. Аннулировать можно только исходящие сертификаты, и только до гашения их получателем.
Параметры:
- ДанныеЗагрузки(Тип: ДанныеЗагрузки) - структура, содержащая массив обрабатываемых документов.
- Причина (Тип: string) - причина аннулирования сертификатов;
Возвращаемое значение:
- ДанныеОтвета (Тип: ДанныеОтвета) - список документов и ошибок. Формат аналогичен результату выполнения операции ОбработатьМассивДокументов.
Разбор ответа аналогичен ОбработатьМассивДокументов.
Процедура КоманднаяПанель2АннулироватьСертификатыДокументов(Кнопка)
Строки = ТаблицаДок.НайтиСтроки(Новый Структура("Выбран", Истина));
Если Строки.Количество() = 0 Тогда
ПоказатьПредупреждение(,"Не выбраны документы для аннулирования");
Возврат;
КонецЕсли;
ДопПарам = Новый Структура("СтрокиТабдок", Строки);
ПоказатьВводСтроки(Новый ОписаниеОповещения("ПослеЗаполненияПричиныАннулированияДокументы", ЭтаФорма, ДопПарам), , "Причина аннулирования", , Истина);
КонецПроцедуры
Процедура ПослеЗаполненияПричиныАннулированияДокументы(Результат, ДопПарам) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
Если ПустаяСтрока(Результат) Тогда
ПоказатьПредупреждение(, "Необходимо указать причину аннулирования");
Возврат;
КонецЕсли;
ТекущееСоответствие = ТекущееСоответствие();
Если ТекущееСоответствие = Неопределено Тогда
ПоказатьПредупреждение(, "Тип документов не определено. Выберите нужный тип докуменов или проверить настройки соответствия документов.");
Возврат;
КонецЕсли;
Прокси = ПолучитьПрокси();
Фабрика = Прокси.ФабрикаXDTO;
ДанныеЗагрузки = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"ДанныеЗагрузки"));
ДанныеЗагрузки.Регистрировать = (Выгрузка = 2);
ДанныеЗагрузки.ОбновитьКонтрагента = ОбновитьКонтрагента;
Для Каждого Стр Из ДопПарам.СтрокиТабДок Цикл
Док = СформироватьДокумент(Стр.Документ);
Если Док <> Неопределено Тогда
ДанныеЗагрузки.МассивДокументов.Добавить(Док);
КонецЕсли;
КонецЦикла;
ДанныеОтвета = Прокси.АннулироватьМассивДокументов(ДанныеЗагрузки, Результат);
РазобратьОтвет(ДанныеОтвета, ТекущееСоответствие);
КонецПроцедуры
АннулироватьМассивСертификатов
Назначение: Данная операция предназначена для аннулирования списка сертификатов. Предполагается использование из формы списка сертификатов Меркурий. Аннулировать можно только Исходящие Оформленные сертификаты.
Параметры:
- СписокДокументов(Тип: СписокДокументов) - структура, содержащая массив обрабатываемых сертификатов.
- Причина (Тип: string) - причина аннулирования сертификатов;
Возвращаемое значение:
- Строка, содержащая информацию о результатах аннулирования.
Процедура АннулироватьСертификатыНажатие(Элемент)
МасУуид = Новый Массив;
Строки = ТабСертификатов.Строки.НайтиСтроки(Новый Структура("Выбран", Истина));
Для Каждого Стр Из Строки Цикл
Если Стр.Строки.Количество() = 0 Тогда
Если НЕ ПустаяСтрока(Стр.УУИД) И МасУуид.Найти(Стр.УУИД) = Неопределено Тогда
МасУуид.Добавить(Стр.УУИД);
КонецЕсли;
Иначе
Для Каждого ПодСтр Из Стр.Строки Цикл
Если НЕ ПустаяСтрока(ПодСтр.УУИД) И МасУуид.Найти(ПодСтр.УУИД) = Неопределено Тогда
МасУуид.Добавить(ПодСтр.УУИД);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
Если МасУуид.Количество() = 0 Тогда
ПоказатьПредупреждение(,"Не выбраны сертификаты для аннулирования");
Возврат;
КонецЕсли;
ДопПарам = Новый Структура("МасУуид", МасУуид);
ПоказатьВводСтроки(Новый ОписаниеОповещения("ПослеЗаполненияПричиныАннулирования", ЭтаФорма, ДопПарам), , "Причина аннулирования", , Истина);
КонецПроцедуры
Процедура ПослеЗаполненияПричиныАннулирования(Результат, ДопПарам) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
Если ПустаяСтрока(Результат) Тогда
ПоказатьПредупреждение(, "Необходимо указать причину аннулирования");
Возврат;
КонецЕсли;
Прокси = ПолучитьПрокси();
Фабрика = Прокси.ФабрикаXDTO;
СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов"));
Для Каждого Ууид Из ДопПарам.МасУуид Цикл
ХСертификат = Фабрика.Создать(Фабрика.Тип("http://88.99.106.214/Mercury","ВетеринарныйДокумент"));
ХСертификат.УУИД = Ууид;
СписокДокументов.Сертификаты.Добавить(ХСертификат);
КонецЦикла;
Рез = Прокси.АннулироватьМассивСертификатов(СписокДокументов, Результат);
Сообщить(Рез);
КонецПроцедуры