Описание сервисов сборка: различия между версиями
Shihov (обсуждение | вклад) Нет описания правки |
Shihov (обсуждение | вклад) Нет описания правки |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
==== ПроверитьПодключение ==== | ==== ПроверитьПодключение ==== | ||
Описание | |||
| | | | ||
'''Назначение:''' Сервис предназначен для проверки соединения с АСП.Склад WMS. | |||
'Назначение: | |||
'''Параметры:''' | |||
'Параметры: | |||
'''Возвращаемое значение:''' | |||
'Возвращаемое значение: | |||
* Если подключение прошло успешно, возвращает значение "Подключено". | * Если подключение прошло успешно, возвращает значение "Подключено". | ||
Пример вызова 1C | |||
| | | | ||
<1c> | <syntaxhighlight lang='1c'> | ||
&НаСервере Процедура ПроверитьПодключениеНаСервере() Прокси = ПолучитьПрокси(); Результат = Прокси.ПроверитьПодключение(); Сообщить(Результат); КонецПроцедуры </ | &НаСервере Процедура ПроверитьПодключениеНаСервере() Прокси = ПолучитьПрокси(); Результат = Прокси.ПроверитьПодключение(); Сообщить(Результат); КонецПроцедуры </syntaxhighlight>Пример вызова XML | ||
| | | | ||
Строка 30: | Строка 24: | ||
<?xml version='1.0' encoding='utf-8'?> | <?xml version='1.0' encoding='utf-8'?> | ||
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap-env:Body> | |||
<ns0:ПроверитьПодключение xmlns:ns0="http://gateway.aspcom.ru"> | |||
</ns0:ПроверитьПодключение> | |||
</soap-env:Body> | |||
</soap-env:Envelope> | </soap-env:Envelope> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Пример ответа XML | |||
| | | | ||
Строка 54: | Строка 48: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== СоздатьНоменклатуру ==== | ==== СоздатьНоменклатуру ==== | ||
Описание | |||
| | | | ||
'''Назначение:''' Операция предназначена для выгрузки и обновления номенклатуры из учетной системы в АСП.Склад WMS. | |||
'Назначение: | |||
В случае если выгружаемая номенклатура уже есть в сборке, она будет обновлена. Если нет возможности выгрузить некоторые поля из учетной системы, их можно заполнить в сборке. При редактировании номенклатуры в сборке может возникнуть диалоговое окно, предлагающее запретить редактирование номенклатуры из учетной системы. С момента подтверждения запрета редактирования номенклатуре присваивается статус "РучнаяКорректировка" (Запрет изменения) и редактирование номенклатуры при выгрузке в Сборку будет заблокировано. Для того чтобы обратно включить редактирование необходимо нажать кнопку "Запрет изменения" в карточке номенклатуры. | В случае если выгружаемая номенклатура уже есть в сборке, она будет обновлена. Если нет возможности выгрузить некоторые поля из учетной системы, их можно заполнить в сборке. При редактировании номенклатуры в сборке может возникнуть диалоговое окно, предлагающее запретить редактирование номенклатуры из учетной системы. С момента подтверждения запрета редактирования номенклатуре присваивается статус "РучнаяКорректировка" (Запрет изменения) и редактирование номенклатуры при выгрузке в Сборку будет заблокировано. Для того чтобы обратно включить редактирование необходимо нажать кнопку "Запрет изменения" в карточке номенклатуры. | ||
Строка 69: | Строка 61: | ||
При выгрузке документов новая номенклатура будет создаваться автоматически, однако, если не передавать при выгрузке ГУИД подкатегории и единицу хранения, перед регистрацией документа нужно сопоставить номенклатуру в АСП.Склад WMS. | При выгрузке документов новая номенклатура будет создаваться автоматически, однако, если не передавать при выгрузке ГУИД подкатегории и единицу хранения, перед регистрацией документа нужно сопоставить номенклатуру в АСП.Склад WMS. | ||
'''Параметры:''' | |||
'Параметры: | * Номенклатура (Тип: [[3_асп.склад_wms:сборка_выгрузка:описание_типов_сборка#Номенклатура|Номенклатура]]) | ||
* Номенклатура (Тип: [[ | |||
'''Возвращаемое значение:''' | |||
'Возвращаемое значение: | |||
* Строка, описывающая результат загрузки. В случае успешной загрузки будет выведено сообщение: "Номенклатура загружена: {Наименование номенклатуры}". Иначе, в ответе будет указана причина отказа. | * Строка, описывающая результат загрузки. В случае успешной загрузки будет выведено сообщение: "Номенклатура загружена: {Наименование номенклатуры}". Иначе, в ответе будет указана причина отказа. | ||
Пример вызова 1С | |||
| | | | ||
<1c> | <syntaxhighlight lang='1c'> | ||
Процедура ВыгрузитьНоменклатуруНаСервере() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | (&ВсяНоменклатура | ИЛИ Номенклатура.Ссылка В ИЕРАРХИИ (&Номенклатура)) | И НЕ Номенклатура.ЭтоГруппа"; Запрос.УстановитьПараметр("Номенклатура", Номенклатура); Запрос.УстановитьПараметр("ВсяНоменклатура", НЕ ЗначениеЗаполнено(Номенклатура)); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Результат = Прокси.СоздатьНоменклатуру(СформироватьНоменклатуру(Выборка.Ссылка,Фабрика)); Сообщить(Результат); КонецЦикла; КонецПроцедуры </ | Процедура ВыгрузитьНоменклатуруНаСервере() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | (&ВсяНоменклатура | ИЛИ Номенклатура.Ссылка В ИЕРАРХИИ (&Номенклатура)) | И НЕ Номенклатура.ЭтоГруппа"; Запрос.УстановитьПараметр("Номенклатура", Номенклатура); Запрос.УстановитьПараметр("ВсяНоменклатура", НЕ ЗначениеЗаполнено(Номенклатура)); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Результат = Прокси.СоздатьНоменклатуру(СформироватьНоменклатуру(Выборка.Ссылка,Фабрика)); Сообщить(Результат); КонецЦикла; КонецПроцедуры </syntaxhighlight>Пример вызова XML | ||
| | | | ||
<syntaxhighlight lang="xml createProduct.xml"> | <syntaxhighlight lang="xml createProduct.xml"> | ||
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap-env:Body> | |||
<ns0:СоздатьНоменклатуру xmlns:ns0="http://gateway.aspcom.ru"> | |||
<ns0:Номенклатура> | |||
<ns0:Код>test_0002695</ns0:Код> <!--Если выгрузка номенклатуры в сборку осуществлялась по коду--> | <ns0:Код>test_0002695</ns0:Код> <!--Если выгрузка номенклатуры в сборку осуществлялась по коду--> | ||
<!--<ns0:КодЗагрузки></ns0:КодЗагрузки>--> <!--Если выгрузка номенклатуры в сборку осуществлялась по ПОЛНОМУ коду--> | <!--<ns0:КодЗагрузки></ns0:КодЗагрузки>--> <!--Если выгрузка номенклатуры в сборку осуществлялась по ПОЛНОМУ коду--> | ||
Строка 142: | Строка 130: | ||
</ns0:ТЧGtin> | </ns0:ТЧGtin> | ||
</ns0:Номенклатура> | </ns0:Номенклатура> | ||
</ns0:СоздатьНоменклатуру> | |||
</soap-env:Body> | |||
</soap-env:Envelope> | </soap-env:Envelope> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Пример ответа XML | |||
| | | | ||
Строка 163: | Строка 151: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== СоздатьКонтрагента ==== | ==== СоздатьКонтрагента ==== | ||
Описание | |||
| | | | ||
'''Назначение:''' Выполняет загрузку контрагентов в АСП.Склад WMS. | |||
'Назначение: | |||
'''Параметры:''' | |||
'Параметры: | * Контрагент (Тип: [[3_асп.склад_wms:сборка_выгрузка:описание_типов_сборка#контрагент|Контрагент]]); | ||
* Контрагент (Тип: [[ | |||
'''Возвращаемое значение:''' Строка, описывающая результат загрузки. В случае успешной загрузки будет выведено сообщение: "Контрагент загружен: {Наименование контрагента}". Иначе, в ответе будет указана причина отказа. | |||
'Возвращаемое значение: | |||
Пример вызова 1C | |||
| | | | ||
<1c> | <syntaxhighlight lang='1c'> | ||
Процедура ВыгрузитьКонтрагентаНаСервере() | Процедура ВыгрузитьКонтрагентаНаСервере()Прокси = ПолучитьПрокси();Фабрика = Прокси.ФабрикаXDTO;Запрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ| Контрагенты.Ссылка|ИЗ| Справочник.Контрагенты КАК Контрагенты|ГДЕ| Контрагенты.Ссылка В ИЕРАРХИИ(&Контрагент)| И НЕ Контрагенты.ЭтоГруппа";Запрос.УстановитьПараметр("Контрагент", Контрагент); Выборка = Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() ЦиклКонтрагент = СформироватьКонтрагента(Выборка.Ссылка,Фабрика);Если ТипЗнч(Контрагент) = Тип("Строка") ТогдаСообщить(Контрагент);Продолжить;КонецЕсли; Результат = Прокси.СоздатьКонтрагента(Контрагент);КонецЦикла; КонецПроцедуры </syntaxhighlight>Пример вызова XML | ||
| | | | ||
Строка 196: | Строка 178: | ||
<?xml version='1.0' encoding='utf-8'?> | <?xml version='1.0' encoding='utf-8'?> | ||
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap-env:Body> | |||
<ns0:СоздатьКонтрагента xmlns:ns0="http://gateway.aspcom.ru"> | |||
<ns0:Контрагент> | |||
<ns0:ИНН>222642678456</ns0:ИНН><!--Если выгрузка контрагента в сборку осуществлялась по ИНН--> | <ns0:ИНН>222642678456</ns0:ИНН><!--Если выгрузка контрагента в сборку осуществлялась по ИНН--> | ||
<ns0:Наименование>Тест контрагент</ns0:Наименование> | <ns0:Наименование>Тест контрагент</ns0:Наименование> | ||
<ns0:Код>000221</ns0:Код> <!--Если выгрузка контрагента в сборку осуществлялась по коду--> | <ns0:Код>000221</ns0:Код> <!--Если выгрузка контрагента в сборку осуществлялась по коду--> | ||
</ns0:Контрагент> | </ns0:Контрагент> | ||
</ns0:СоздатьКонтрагента> | |||
</soap-env:Body> | |||
</soap-env:Envelope> | </soap-env:Envelope> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Пример ответа XML | |||
| | | | ||
Строка 224: | Строка 206: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== СоздатьУпаковку ==== | ==== СоздатьУпаковку ==== | ||
Описание | |||
| | | | ||
'''Назначение:''' Выполняет загрузку упаковок в АСП.Склад WMS. | |||
'Назначение: | |||
'''Параметры:''' | |||
'Параметры: | * Упаковка(Тип: [[3_асп.склад_wms:сборка_выгрузка:описание_типов_сборка|Упаковка]]); | ||
* Упаковка(Тип: [[ | |||
'''Возвращаемое значение:''' | |||
'Возвращаемое значение: | |||
* Строка, описывающая результат загрузки. В случае успешной загрузки будет выведено сообщение: «Упаковка загружена: {Наименование упаковки}». Иначе, в ответе будет указана причина отказа. | * Строка, описывающая результат загрузки. В случае успешной загрузки будет выведено сообщение: «Упаковка загружена: {Наименование упаковки}». Иначе, в ответе будет указана причина отказа. | ||
Пример вызова 1C | |||
| | | | ||
<1c> | <syntaxhighlight lang='1c'> | ||
&НаСервере Процедура ВыгрузитьУпаковкуНаСервере() | &НаСервере Процедура ВыгрузитьУпаковкуНаСервере()Прокси = ПолучитьПрокси();Фабрика = Прокси.ФабрикаXDTO;Запрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ| Упаковки.Ссылка|ИЗ| Справочник.УпаковкиЕдиницыИзмерения КАК Упаковки; Выборка = Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() ЦиклУпаковка = СформироватьУпаковку(Выборка.Ссылка,Фабрика);Если ТипЗнч(Упаковка) = Тип("Строка") ТогдаСообщить(Упаковка);Продолжить;КонецЕсли; Результат = Прокси.СоздатьУпаковку(Упаковка);КонецЦикла; КонецПроцедуры </syntaxhighlight>Пример вызова XML | ||
| | | | ||
Строка 258: | Строка 234: | ||
<?xml version='1.0' encoding='utf-8'?> | <?xml version='1.0' encoding='utf-8'?> | ||
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap-env:Body> | |||
<ns0:СоздатьУпаковку xmlns:ns0="http://gateway.aspcom.ru"> | |||
<ns0:Упаковка> | |||
<ns0:Код>000212</ns0:Код> | <ns0:Код>000212</ns0:Код> | ||
<ns0:Наименование>Тест упаковка</ns0:Наименование> | <ns0:Наименование>Тест упаковка</ns0:Наименование> | ||
<ns0:Объем>0.5</ns0:Объем> | <ns0:Объем>0.5</ns0:Объем> | ||
</ns0:Упаковка> | |||
</ns0:СоздатьУпаковку> | |||
</soap-env:Body> | |||
</soap-env:Envelope> | </soap-env:Envelope> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Пример ответа XML | |||
| | | | ||
Строка 286: | Строка 262: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== ЗагрузитьДокументы ==== | ==== ЗагрузитьДокументы ==== | ||
Описание | |||
| | | | ||
'''Назначение:''' Выполняет загрузку массива документов в АСП.Склад WMS. | |||
'Назначение: | |||
'''Параметры:''' | |||
'Параметры: | * СписокДокументов(Тип: [[3_асп.склад_wms:сборка_выгрузка:описание_типов_сборка#Документ|СписокДокументов]]) - структура, содержащая массив обрабатываемых документов и параметры загрузки; | ||
* СписокДокументов(Тип: [[ | |||
* ОбновлятьПодчиненные (Тип: boolean) - если параметр принимает значение Истина, функция будет обновлять вложенные данные заполненные в документе; | * ОбновлятьПодчиненные (Тип: boolean) - если параметр принимает значение Истина, функция будет обновлять вложенные данные заполненные в документе; | ||
* МобильноеУстройство(Тип: [[ | * МобильноеУстройство(Тип: [[3_асп.склад_wms:сборка_выгрузка:описание_типов_сборка|МобильноеУстройство]]) - мобильное устройство, куда распределяется сборка. | ||
'''Возвращаемое значение:''' | |||
'Возвращаемое значение: | * [[3_асп.склад_wms:сборка_выгрузка:описание_типов_сборка|ОтветСервиса]] - структура, содержащая массив результатов загрузки документов. | ||
* [[ | |||
Пример вызова 1С | |||
| | | | ||
<1c> | <syntaxhighlight lang='1c'> | ||
Процедура ГрупповаяОбработкаДокументов() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов")); | Процедура ГрупповаяОбработкаДокументов() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов")); хМобильноеУстройство = Неопределено; Если ЗначениеЗаполнено(МобильныеУстройства) Тогда МобУстройства = СтрРазбить(МобильныеУстройства,":"); хМобильноеУстройство = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"МобильноеУстройство")); хМобильноеУстройство.Наименование = МобУстройства[0]; хМобильноеУстройство.Код = МобУстройства[1]; КонецЕсли; КоличествоВыгружено = 0; Для Каждого Стр Из ТаблицаДок Цикл Если НЕ Стр.Выбран Тогда Продолжить; КонецЕсли; Док = СформироватьДокумент(Стр.Ссылка, Фабрика); Если Док <> Неопределено Тогда СписокДокументов.МассивДокументов.Добавить(Док); КоличествоВыгружено = КоличествоВыгружено + 1; КонецЕсли; КонецЦикла; Если СписокДокументов.МассивДокументов.Количество()>0 Тогда ДанныеОтвета = Прокси.ЗагрузитьДокументы(СписокДокументов, Ложь, хМобильноеУстройство); Сообщить("Отправлено на выгрузку документов: "+КоличествоВыгружено); РазобратьОтвет(ДанныеОтвета); КонецЕсли; КонецПроцедуры </syntaxhighlight>Пример разбора ответа 1С | ||
|<1c> | |<syntaxhighlight lang='1c'> | ||
Процедура РазобратьОтвет(ДанныеОтвета) ТаблицаРезультатов = Новый ТаблицаЗначений; ТаблицаРезультатов.Колонки.Добавить("ТипДокумента"); ТаблицаРезультатов.Колонки.Добавить("Документ"); ТаблицаРезультатов.Колонки.Добавить("Результат"); Для Каждого Ответ Из ДанныеОтвета.МассивРезультатов Цикл | Процедура РазобратьОтвет(ДанныеОтвета) ТаблицаРезультатов = Новый ТаблицаЗначений; ТаблицаРезультатов.Колонки.Добавить("ТипДокумента"); ТаблицаРезультатов.Колонки.Добавить("Документ"); ТаблицаРезультатов.Колонки.Добавить("Результат"); Для Каждого Ответ Из ДанныеОтвета.МассивРезультатов Цикл НовРез = ТаблицаРезультатов.Добавить(); НовРез.ТипДокумента = ТекущееСоответствие.Сборка; НовРез.Документ = НайтиДокумент(Ответ.Документ, ТекущееСоответствие); НовРез.Результат = Ответ.РезультатТранзакции; КонецЦикла; ТаблицаРезультатов.Сортировать("ТипДокумента"); Обработка = РеквизитФормыВЗначение("Объект"); Макет = Обработка.ПолучитьМакет("Макет"); ШапкаТД = Макет.ПолучитьОбласть("Шапка"); ГруппаДок = Макет.ПолучитьОбласть("ГруппаДокументов"); СтрокаДок = Макет.ПолучитьОбласть("СтрокаДокумент"); ТД.Очистить(); ШапкаТД.Параметры.ТипОбъекта = "Документ"; ТД.Вывести(ШапкаТД); ТД.НачатьАвтогруппировкуСтрок(); ТекТип = ""; ПараметрыОтбора = Новый Структура; ПараметрыОтбора.Вставить("ТипДокумента"); Для Каждого Рез Из ТаблицаРезультатов Цикл Если ТекТип <> Рез.ТипДокумента Тогда ТекТип = Рез.ТипДокумента; ГруппаДок.Параметры.Заполнить(Рез); ГруппаДок.Параметры.ТипДокумента = ТипВСборке(Рез.ТипДокумента); ПараметрыОтбора.ТипДокумента = Рез.ТипДокумента; ГруппаДок.Параметры.КоличествоЗагружено = ТаблицаРезультатов.НайтиСтроки(ПараметрыОтбора).Количество(); ТД.Вывести(ГруппаДок,1); КонецЕсли; СтрокаДок.Параметры.Заполнить(Рез); ТД.Вывести(СтрокаДок); КонецЦикла; ТД.ЗакончитьАвтогруппировкуСтрок(); ТД.ТолькоПросмотр = Истина; КонецПроцедуры Функция НайтиДокумент(ДокументХ, ТипДокументаСтрокой) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТипДок.Ссылка |ИЗ | Документ.#ТипДок# КАК ТипДок |ГДЕ | ТипДок.Номер ПОДОБНО &Номер | И НАЧАЛОПЕРИОДА(ТипДок.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)"; Запрос.УстановитьПараметр("Дата", ДокументХ.Дата); Запрос.УстановитьПараметр("Номер", "%"+СокрЛП(ДокументХ.Номер)+"%"); Запрос.Текст = СтрЗаменить(Запрос.Текст,"#ТипДок#",СтрЗаменить(ТипДокументаСтрокой," ","")); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Возврат Выборка.Ссылка; Иначе Возврат Документы[СтрЗаменить(ТипДокументаСтрокой," ","")].ПустаяСсылка(); КонецЕсли; КонецФункции </syntaxhighlight>Пример вызова XML | ||
| | | | ||
Строка 324: | Строка 294: | ||
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap-env:Body> | <soap-env:Body> | ||
<ns0:ЗагрузитьДокументы xmlns:ns0="http://gateway.aspcom.ru"> | |||
<ns0:СписокДокументов> | <ns0:СписокДокументов> | ||
<ns0:МассивДокументов> | <ns0:МассивДокументов> | ||
Строка 498: | Строка 468: | ||
<ns0:Код>13c7487c-f6c3-9488-6d7a-4cb9ba61c394</ns0:Код> | <ns0:Код>13c7487c-f6c3-9488-6d7a-4cb9ba61c394</ns0:Код> | ||
</ns0:МобильноеУстройство> | </ns0:МобильноеУстройство> | ||
</ns0:ЗагрузитьДокументы> | |||
</soap-env:Body> | |||
</soap-env:Envelope> | </soap-env:Envelope> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Пример ответа XML | |||
| | | | ||
Строка 692: | Строка 662: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== ПолучитьДокументыЗаказНаСборку ==== | ==== ПолучитьДокументыЗаказНаСборку ==== | ||
Описание | |||
| | | | ||
'''Назначение:''' Сервис предназначен для получения документов сборки у которых не установлена галочка выгружен в 1С со статусом частичная или полная из АСП.Склад WMS. | |||
'Назначение: | |||
'''Параметры:''' | |||
'''Возвращаемое значение:''' | |||
' | * [[3_асп.склад_wms:сборка_выгрузка:описание_типов_сборка|ОтветСервиса]] - структура, содержащая массив результатов получения документов из АСП.Склад WMS. | ||
Пример вызова 1C | |||
| | | | ||
<1c> | <syntaxhighlight lang='1c'> | ||
&НаСервере Процедура ВернутьИзСборщика() Прокси = ПолучитьПрокси(); Результат = Прокси.ПолучитьДокументыЗаказНаСборку(); Если Результат<> Неопределено Тогда КоличествоЗагруженно = 0; Для каждого ДокХДТО Из Результат.МассивРезультатов Цикл Документ = Документы.АСП_ЗаказНаСборку.НайтиПоНомеру(ДокХДТО.Документ.Номер, ДокХДТО.Документ.Дата); Если Документ.Пустая() Тогда ДокСсылка = Документы.АСП_ЗаказНаСборку.СоздатьДокумент(); ДокСсылка.Дата = ДокХДТО.Документ.Дата; ДокСсылка.Номер = ДокХДТО.Документ.Номер; Иначе ДокСсылка = Документ.ПолучитьОбъект(); КонецЕсли; ДокСсылка.Склад = Справочники.Склады.НайтиПоКоду(СокрЛП(ДокХДТО.Документ.Склад.Код)); Если ПустаяСтрока(ДокХДТО.Документ.Организация.ИНН) Тогда ДокСсылка.Организация = Справочники.Организации.НайтиПоКоду(ДокХДТО.Документ.Организация.Код); Иначе ДокСсылка.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", ДокХДТО.Документ.Организация.ИНН); КонецЕсли; СообщениеСтатуса = ""; ПеречСтатус = ПолучитьСтатусСборки(ДокХДТО.Документ.Статус); Если ТипЗнч(ПеречСтатус) <> Тип("Строка") Тогда ДокСсылка.СтатусСборки = ПеречСтатус; Иначе СообщениеСтатуса = ("Документ №"+ ДокСсылка.Номер+ " загружен без статуса. "+ ПеречСтатус); КонецЕсли; ДокСсылка.Товары.Очистить(); Для каждого СтрокиТЧ Из ДокХДТО.Документ.Товары Цикл НовСтр = ДокСсылка.Товары.Добавить(); ЗаполнитьЗначенияСвойств(НовСтр,СтрокиТЧ); НовСтр.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(СокрЛП(СтрокиТЧ.Номенклатура.Код)); Если НовСтр.Номенклатура.Пустая() Тогда Сообщить("Номенклатура по данному коду "+ СокрЛП(СтрокиТЧ.Номенклатура.Код)+ " не обнаружена"); Продолжить; КонецЕсли; НовСтр.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоКоду(СокрЛП(СтрокиТЧ.Упаковка.КодЗагрузки)); НовСтр.Производитель = Справочники.Организации.НайтиПоКоду(СокрЛП(СтрокиТЧ.Производитель.Код)); НомерЗаказаСборки = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Номер,СтрЗаменить(СтрокиТЧ.Заказ.Номер,"З_","")); ДатаЗаказаСборка = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Дата,СтрокиТЧ.Заказ.Дата); НовСтр.Заказ = Документы[ТекущееСоответствие.База].НайтиПоНомеру(НомерЗаказаСборки, ДатаЗаказаСборка); Если Не ЗначениеЗаполнено(НовСтр.Заказ) Тогда Сообщить("Заказ не указан в заказе на сборку №"+ СокрЛП(ДокХДТО.Документ.Номер)); Продолжить; КонецЕсли; Если НовСтр.Заказ <> Неопределено И Не НовСтр.Заказ.Пустая() Тогда УстановитьСтатус(НовСтр.Заказ,ДокСсылка.СтатусСборки); КонецЕсли; КонецЦикла; Если ДокСсылка.Товары.Количество()> 0 Тогда ДокСсылка.Записать(); КонецЕсли; Если Не ДокСсылка.Ссылка.Пустая() Тогда КоличествоЗагруженно = КоличествоЗагруженно + 1; Если ДокХДТО.Документ <> Неопределено Тогда | &НаСервере Процедура ВернутьИзСборщика() Прокси = ПолучитьПрокси(); Результат = Прокси.ПолучитьДокументыЗаказНаСборку(); Если Результат<> Неопределено Тогда КоличествоЗагруженно = 0; Для каждого ДокХДТО Из Результат.МассивРезультатов Цикл Документ = Документы.АСП_ЗаказНаСборку.НайтиПоНомеру(ДокХДТО.Документ.Номер, ДокХДТО.Документ.Дата); Если Документ.Пустая() Тогда ДокСсылка = Документы.АСП_ЗаказНаСборку.СоздатьДокумент(); ДокСсылка.Дата = ДокХДТО.Документ.Дата; ДокСсылка.Номер = ДокХДТО.Документ.Номер; Иначе ДокСсылка = Документ.ПолучитьОбъект(); КонецЕсли; ДокСсылка.Склад = Справочники.Склады.НайтиПоКоду(СокрЛП(ДокХДТО.Документ.Склад.Код)); Если ПустаяСтрока(ДокХДТО.Документ.Организация.ИНН) Тогда ДокСсылка.Организация = Справочники.Организации.НайтиПоКоду(ДокХДТО.Документ.Организация.Код); Иначе ДокСсылка.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", ДокХДТО.Документ.Организация.ИНН); КонецЕсли; СообщениеСтатуса = ""; ПеречСтатус = ПолучитьСтатусСборки(ДокХДТО.Документ.Статус); Если ТипЗнч(ПеречСтатус) <> Тип("Строка") Тогда ДокСсылка.СтатусСборки = ПеречСтатус; Иначе СообщениеСтатуса = ("Документ №"+ ДокСсылка.Номер+ " загружен без статуса. "+ ПеречСтатус); КонецЕсли; ДокСсылка.Товары.Очистить(); Для каждого СтрокиТЧ Из ДокХДТО.Документ.Товары Цикл НовСтр = ДокСсылка.Товары.Добавить(); ЗаполнитьЗначенияСвойств(НовСтр,СтрокиТЧ); НовСтр.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(СокрЛП(СтрокиТЧ.Номенклатура.Код)); Если НовСтр.Номенклатура.Пустая() Тогда Сообщить("Номенклатура по данному коду "+ СокрЛП(СтрокиТЧ.Номенклатура.Код)+ " не обнаружена"); Продолжить; КонецЕсли; НовСтр.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоКоду(СокрЛП(СтрокиТЧ.Упаковка.КодЗагрузки)); НовСтр.Производитель = Справочники.Организации.НайтиПоКоду(СокрЛП(СтрокиТЧ.Производитель.Код)); НомерЗаказаСборки = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Номер,СтрЗаменить(СтрокиТЧ.Заказ.Номер,"З_","")); ДатаЗаказаСборка = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Дата,СтрокиТЧ.Заказ.Дата); НовСтр.Заказ = Документы[ТекущееСоответствие.База].НайтиПоНомеру(НомерЗаказаСборки, ДатаЗаказаСборка); Если Не ЗначениеЗаполнено(НовСтр.Заказ) Тогда Сообщить("Заказ не указан в заказе на сборку №"+ СокрЛП(ДокХДТО.Документ.Номер)); Продолжить; КонецЕсли; Если НовСтр.Заказ <> Неопределено И Не НовСтр.Заказ.Пустая() Тогда УстановитьСтатус(НовСтр.Заказ,ДокСсылка.СтатусСборки); КонецЕсли; КонецЦикла; Если ДокСсылка.Товары.Количество()> 0 Тогда ДокСсылка.Записать(); КонецЕсли; Если Не ДокСсылка.Ссылка.Пустая() Тогда КоличествоЗагруженно = КоличествоЗагруженно + 1; Если ДокХДТО.Документ <> Неопределено Тогда СписокДокументов.МассивДокументов.Добавить(ДокХДТО.Документ); КонецЕсли; КонецЕсли; СтрокаДок.Параметры.Документ = Строка(ДокСсылка); СтрокаДок.Параметры.Результат = Строка(ДокХДТО.РезультатТранзакции) + " " + СообщениеСтатуса; ТД.Вывести(СтрокаДок); КонецЦикла; КонецЕсли; КонецПроцедуры </syntaxhighlight>Пример вызова XML | ||
| | | | ||
Строка 725: | Строка 689: | ||
<?xml version='1.0' encoding='utf-8'?> | <?xml version='1.0' encoding='utf-8'?> | ||
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap-env:Body> | |||
<ns0:ПолучитьДокументыЗаказНаСборку xmlns:ns0="http://gateway.aspcom.ru"> | |||
</ns0:ПолучитьДокументыЗаказНаСборку> | </ns0:ПолучитьДокументыЗаказНаСборку> | ||
</soap-env:Body> | |||
</soap-env:Envelope> | </soap-env:Envelope> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Пример ответа XML | |||
| | | | ||
Строка 893: | Строка 857: | ||
<m:Статус>Частичная</m:Статус> | <m:Статус>Частичная</m:Статус> | ||
</m:Документ> | </m:Документ> | ||
<m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку | <m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку №21от 09.02.2021 не заполнена табличная часть | ||
</m:РезультатТранзакции> | </m:РезультатТранзакции> | ||
</m:МассивРезультатов> | </m:МассивРезультатов> | ||
Строка 911: | Строка 875: | ||
<m:Статус>Частичная</m:Статус> | <m:Статус>Частичная</m:Статус> | ||
</m:Документ> | </m:Документ> | ||
<m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку | <m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку №22от 09.02.2021 не заполнена табличная часть | ||
</m:РезультатТранзакции> | </m:РезультатТранзакции> | ||
</m:МассивРезультатов> | </m:МассивРезультатов> | ||
Строка 929: | Строка 893: | ||
<m:Статус>Частичная</m:Статус> | <m:Статус>Частичная</m:Статус> | ||
</m:Документ> | </m:Документ> | ||
<m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку | <m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку №23от 09.02.2021 не заполнена табличная часть | ||
</m:РезультатТранзакции> | </m:РезультатТранзакции> | ||
</m:МассивРезультатов> | </m:МассивРезультатов> | ||
Строка 938: | Строка 902: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== ПолучитьДокументыЗаказНаСборку2 ==== | ==== ПолучитьДокументыЗаказНаСборку2 ==== | ||
Описание | |||
| | | | ||
'''Назначение:''' Сервис предназначен для получения документов сборки которые зарегистрированы планом обмена из АСП.Склад WMS. | |||
'Назначение: | |||
'''Параметры:''' | |||
'Параметры: | |||
* КодУзла(Тип: string) - код узла плана обмена "УчетнаяСистема" в котором регистрируются изменения документов. | * КодУзла(Тип: string) - код узла плана обмена "УчетнаяСистема" в котором регистрируются изменения документов. | ||
'''Возвращаемое значение:''' | |||
'Возвращаемое значение: | * [[3_асп.склад_wms:сборка_выгрузка:описание_типов_сборка|ОтветСервиса]] - структура, содержащая массив результатов получения документов из АСП.Склад WMS. | ||
* [[ | |||
Пример вызова 1C | |||
| | | | ||
<1c> | <syntaxhighlight lang='1c'> | ||
&НаСервере Процедура ВернутьИзСборщика2() Прокси = ПолучитьПрокси(); Результат = Прокси.ПолучитьДокументыЗаказНаСборку2("П6"); Если Результат<> Неопределено Тогда КоличествоЗагруженно = 0; Для каждого ДокХДТО Из Результат.МассивРезультатов Цикл Документ = Документы.АСП_ЗаказНаСборку.НайтиПоНомеру(ДокХДТО.Документ.Номер, ДокХДТО.Документ.Дата); Если Документ.Пустая() Тогда ДокСсылка = Документы.АСП_ЗаказНаСборку.СоздатьДокумент(); ДокСсылка.Дата = ДокХДТО.Документ.Дата; ДокСсылка.Номер = ДокХДТО.Документ.Номер; Иначе ДокСсылка = Документ.ПолучитьОбъект(); КонецЕсли; ДокСсылка.Склад = Справочники.Склады.НайтиПоКоду(СокрЛП(ДокХДТО.Документ.Склад.Код)); Если ПустаяСтрока(ДокХДТО.Документ.Организация.ИНН) Тогда ДокСсылка.Организация = Справочники.Организации.НайтиПоКоду(ДокХДТО.Документ.Организация.Код); Иначе ДокСсылка.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", ДокХДТО.Документ.Организация.ИНН); КонецЕсли; СообщениеСтатуса = ""; ПеречСтатус = ПолучитьСтатусСборки(ДокХДТО.Документ.Статус); Если ТипЗнч(ПеречСтатус) <> Тип("Строка") Тогда ДокСсылка.СтатусСборки = ПеречСтатус; Иначе СообщениеСтатуса = ("Документ №"+ ДокСсылка.Номер+ " загружен без статуса. "+ ПеречСтатус); КонецЕсли; ДокСсылка.Товары.Очистить(); Для каждого СтрокиТЧ Из ДокХДТО.Документ.Товары Цикл НовСтр = ДокСсылка.Товары.Добавить(); ЗаполнитьЗначенияСвойств(НовСтр,СтрокиТЧ); НовСтр.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(СокрЛП(СтрокиТЧ.Номенклатура.Код)); Если НовСтр.Номенклатура.Пустая() Тогда Сообщить("Номенклатура по данному коду "+ СокрЛП(СтрокиТЧ.Номенклатура.Код)+ " не обнаружена"); Продолжить; КонецЕсли; НовСтр.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоКоду(СокрЛП(СтрокиТЧ.Упаковка.КодЗагрузки)); НовСтр.Производитель = Справочники.Организации.НайтиПоКоду(СокрЛП(СтрокиТЧ.Производитель.Код)); НомерЗаказаСборки = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Номер,СтрЗаменить(СтрокиТЧ.Заказ.Номер,"З_","")); ДатаЗаказаСборка = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Дата,СтрокиТЧ.Заказ.Дата); НовСтр.Заказ = Документы[ТекущееСоответствие.База].НайтиПоНомеру(НомерЗаказаСборки, ДатаЗаказаСборка); Если Не ЗначениеЗаполнено(НовСтр.Заказ) Тогда Сообщить("Заказ не указан в заказе на сборку №"+ СокрЛП(ДокХДТО.Документ.Номер)); Продолжить; КонецЕсли; Если НовСтр.Заказ <> Неопределено И Не НовСтр.Заказ.Пустая() Тогда УстановитьСтатус(НовСтр.Заказ,ДокСсылка.СтатусСборки); КонецЕсли; КонецЦикла; Если ДокСсылка.Товары.Количество()> 0 Тогда ДокСсылка.Записать(); КонецЕсли; Если Не ДокСсылка.Ссылка.Пустая() Тогда КоличествоЗагруженно = КоличествоЗагруженно + 1; Если ДокХДТО.Документ <> Неопределено Тогда | &НаСервере Процедура ВернутьИзСборщика2() Прокси = ПолучитьПрокси(); Результат = Прокси.ПолучитьДокументыЗаказНаСборку2("П6"); Если Результат<> Неопределено Тогда КоличествоЗагруженно = 0; Для каждого ДокХДТО Из Результат.МассивРезультатов Цикл Документ = Документы.АСП_ЗаказНаСборку.НайтиПоНомеру(ДокХДТО.Документ.Номер, ДокХДТО.Документ.Дата); Если Документ.Пустая() Тогда ДокСсылка = Документы.АСП_ЗаказНаСборку.СоздатьДокумент(); ДокСсылка.Дата = ДокХДТО.Документ.Дата; ДокСсылка.Номер = ДокХДТО.Документ.Номер; Иначе ДокСсылка = Документ.ПолучитьОбъект(); КонецЕсли; ДокСсылка.Склад = Справочники.Склады.НайтиПоКоду(СокрЛП(ДокХДТО.Документ.Склад.Код)); Если ПустаяСтрока(ДокХДТО.Документ.Организация.ИНН) Тогда ДокСсылка.Организация = Справочники.Организации.НайтиПоКоду(ДокХДТО.Документ.Организация.Код); Иначе ДокСсылка.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", ДокХДТО.Документ.Организация.ИНН); КонецЕсли; СообщениеСтатуса = ""; ПеречСтатус = ПолучитьСтатусСборки(ДокХДТО.Документ.Статус); Если ТипЗнч(ПеречСтатус) <> Тип("Строка") Тогда ДокСсылка.СтатусСборки = ПеречСтатус; Иначе СообщениеСтатуса = ("Документ №"+ ДокСсылка.Номер+ " загружен без статуса. "+ ПеречСтатус); КонецЕсли; ДокСсылка.Товары.Очистить(); Для каждого СтрокиТЧ Из ДокХДТО.Документ.Товары Цикл НовСтр = ДокСсылка.Товары.Добавить(); ЗаполнитьЗначенияСвойств(НовСтр,СтрокиТЧ); НовСтр.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(СокрЛП(СтрокиТЧ.Номенклатура.Код)); Если НовСтр.Номенклатура.Пустая() Тогда Сообщить("Номенклатура по данному коду "+ СокрЛП(СтрокиТЧ.Номенклатура.Код)+ " не обнаружена"); Продолжить; КонецЕсли; НовСтр.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоКоду(СокрЛП(СтрокиТЧ.Упаковка.КодЗагрузки)); НовСтр.Производитель = Справочники.Организации.НайтиПоКоду(СокрЛП(СтрокиТЧ.Производитель.Код)); НомерЗаказаСборки = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Номер,СтрЗаменить(СтрокиТЧ.Заказ.Номер,"З_","")); ДатаЗаказаСборка = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Дата,СтрокиТЧ.Заказ.Дата); НовСтр.Заказ = Документы[ТекущееСоответствие.База].НайтиПоНомеру(НомерЗаказаСборки, ДатаЗаказаСборка); Если Не ЗначениеЗаполнено(НовСтр.Заказ) Тогда Сообщить("Заказ не указан в заказе на сборку №"+ СокрЛП(ДокХДТО.Документ.Номер)); Продолжить; КонецЕсли; Если НовСтр.Заказ <> Неопределено И Не НовСтр.Заказ.Пустая() Тогда УстановитьСтатус(НовСтр.Заказ,ДокСсылка.СтатусСборки); КонецЕсли; КонецЦикла; Если ДокСсылка.Товары.Количество()> 0 Тогда ДокСсылка.Записать(); КонецЕсли; Если Не ДокСсылка.Ссылка.Пустая() Тогда КоличествоЗагруженно = КоличествоЗагруженно + 1; Если ДокХДТО.Документ <> Неопределено Тогда СписокДокументов.МассивДокументов.Добавить(ДокХДТО.Документ); КонецЕсли; КонецЕсли; СтрокаДок.Параметры.Документ = Строка(ДокСсылка); СтрокаДок.Параметры.Результат = Строка(ДокХДТО.РезультатТранзакции) + " " + СообщениеСтатуса; ТД.Вывести(СтрокаДок); КонецЦикла; КонецЕсли; КонецПроцедуры </syntaxhighlight>Пример вызова XML | ||
| | | | ||
Строка 972: | Строка 930: | ||
<?xml version='1.0' encoding='utf-8'?> | <?xml version='1.0' encoding='utf-8'?> | ||
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap-env:Body> | |||
<ns0:ПолучитьДокументыЗаказНаСборку2 xmlns:ns0="http://gateway.aspcom.ru"> | |||
<ns0:КодУзла>П6</ns0:КодУзла> | <ns0:КодУзла>П6</ns0:КодУзла> | ||
</ns0:ПолучитьДокументыЗаказНаСборку2> | |||
</soap-env:Body> | |||
</soap-env:Envelope> | </soap-env:Envelope> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Пример ответа XML | |||
| | | | ||
Строка 1130: | Строка 1088: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== ЗарегистрироватьОтгрузку ==== | ==== ЗарегистрироватьОтгрузку ==== | ||
Описание | |||
| | | | ||
'''Назначение:''' Сервис предназначен для регистрации документа отгрузки связанного с передаваемым заказом в АСП.Склад WMS. | |||
'Назначение: | |||
'''Параметры:''' | |||
'Параметры: | * Документ (Тип: [[3_асп.склад_wms:сборка_выгрузка:описание_типов_сборка#документ|Документ]]); | ||
* Документ (Тип: [[ | |||
'''Возвращаемое значение:''' | |||
'Возвращаемое значение: | |||
* Результат регистрации документа отгрузки в АСП.Склад WMS. | * Результат регистрации документа отгрузки в АСП.Склад WMS. | ||
Пример вызова 1C | |||
| | | | ||
<1c> | <syntaxhighlight lang='1c'> | ||
&НаСервере Процедура ЗарегистрироватьОтгрузку(ДокЗаказ) | &НаСервере Процедура ЗарегистрироватьОтгрузку(ДокЗаказ)Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; хДокумент = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"Документ")); хДокумент.Номер = ДокЗаказ.Номер; хДокумент.Дата = ДокЗаказ.Дата; Результат = Прокси.ЗарегистрироватьОтгрузку(хДокумент);Сообщить(Результат); КонецПроцедуры </syntaxhighlight>Пример вызова XML | ||
| | | | ||
Строка 1164: | Строка 1116: | ||
<?xml version='1.0' encoding='utf-8'?> | <?xml version='1.0' encoding='utf-8'?> | ||
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap-env:Body> | |||
<ns0:ЗарегистрироватьОтгрузку xmlns:ns0="http://gateway.aspcom.ru"> | |||
<ns0:Документ> | <ns0:Документ> | ||
<ns0:Номер>З_00000000087</ns0:Номер> | <ns0:Номер>З_00000000087</ns0:Номер> | ||
<ns0:Дата>2021-03-25T10:00:28</ns0:Дата> | <ns0:Дата>2021-03-25T10:00:28</ns0:Дата> | ||
</ns0:Документ> | </ns0:Документ> | ||
</ns0:ЗарегистрироватьОтгрузку> | |||
</soap-env:Body> | |||
</soap-env:Envelope> | </soap-env:Envelope> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== ПолучитьДокументСборки ==== | ==== ПолучитьДокументСборки ==== | ||
Описание | |||
| | | | ||
'''Назначение:''' Сервис предназначен для получения документов по типу документа из АСП.Склад WMS. | |||
'Назначение: | |||
'''Параметры:''' | |||
'Параметры: | |||
* ТипДокумента(Тип: string) - тип документа по которому определяется список получаемых документов. | * ТипДокумента(Тип: string) - тип документа по которому определяется список получаемых документов. | ||
'''Возвращаемое значение:''' | |||
'Возвращаемое значение: | * [[3_асп.склад_wms:сборка_выгрузка:описание_типов_сборка|ОтветСервиса]] - структура, содержащая массив результатов получения документов из АСП.Склад WMS. | ||
* [[ | |||
Пример вызова 1C | |||
| | | | ||
<1c> | <syntaxhighlight lang='1c'> | ||
&НаСервере Процедура ВернутьДокументыИзСборщика(ДокументыСборщика) Прокси = ПолучитьПрокси(); | &НаСервере Процедура ВернутьДокументыИзСборщика(ДокументыСборщика) Прокси = ПолучитьПрокси();Фабрика = Прокси.ФабрикаXDTO; СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов")); ДокументыСборщика = ?(Найти(ТекущееСоответствие.Шлюз,"Заказ") = 0,ТекущееСоответствие.Шлюз,"ЗаказНаСборку"); Результат = Прокси.ПолучитьДокументСборки(ДокументыСборщика); Если Результат <> Неопределено Тогда Если Найти(ДокументыСборщика,"ЗаказНаСборку") > 0 Тогда КоличествоЗагруженно = ВернутьЗаказыНаСборку(Результат,СтрокаДок,СписокДокументов,ТекущееСоответствие); ИначеЕсли Найти(ДокументыСборщика,"Перемещение") > 0 Тогда КоличествоЗагруженно = ВернутьПеремещение(Результат,СтрокаДок,ТекущееСоответствие); Иначе Сообщить("Данный документ не настроен для возврата в базу"); Возврат; КонецЕсли; КонецЕсли;Сообщить("Загружено документов: "+Строка(КоличествоЗагруженно)); КонецПроцедуры </syntaxhighlight>Пример вызова XML | ||
| | | | ||
Строка 1209: | Строка 1155: | ||
<?xml version='1.0' encoding='utf-8'?> | <?xml version='1.0' encoding='utf-8'?> | ||
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap-env:Body> | |||
<ns0:ПолучитьДокументСборки xmlns:ns0="http://gateway.aspcom.ru"> | |||
<ns0:ТипДокумента>ЗаказНаСборку</ns0:ТипДокумента> | <ns0:ТипДокумента>ЗаказНаСборку</ns0:ТипДокумента> | ||
</ns0:ПолучитьДокументСборки> | |||
</soap-env:Body> | |||
</soap-env:Envelope> | </soap-env:Envelope> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Пример ответа XML | |||
| | | | ||
Строка 1387: | Строка 1333: | ||
<m:Статус>Частичная</m:Статус> | <m:Статус>Частичная</m:Статус> | ||
</m:Документ> | </m:Документ> | ||
<m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку | <m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку №21от 09.02.2021 не заполнена табличная часть</m:РезультатТранзакции> | ||
</m:МассивРезультатов> | </m:МассивРезультатов> | ||
<m:МассивРезультатов> | <m:МассивРезультатов> | ||
Строка 1403: | Строка 1349: | ||
<m:Статус>Частичная</m:Статус> | <m:Статус>Частичная</m:Статус> | ||
</m:Документ> | </m:Документ> | ||
<m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку | <m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку №23от 09.02.2021 не заполнена табличная часть</m:РезультатТранзакции> | ||
</m:МассивРезультатов> | </m:МассивРезультатов> | ||
</m:return> | </m:return> | ||
Строка 1411: | Строка 1357: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== ПолучитьДокументСборки2 ==== | ==== ПолучитьДокументСборки2 ==== | ||
Описание | |||
| | | | ||
'''Назначение:''' Сервис предназначен для получения документов сборки по типу документа которые зарегистрированы планом обмена из АСП.Склад WMS. | |||
'Назначение: | |||
'''Параметры:''' | |||
'Параметры: | |||
* ТипДокумента(Тип: string) - тип документа по которому определяется список получаемых документов. | * ТипДокумента(Тип: string) - тип документа по которому определяется список получаемых документов. | ||
* КодУзла(Тип: string) - код узла плана обмена "УчетнаяСистема" в котором регистрируются изменения документов. | * КодУзла(Тип: string) - код узла плана обмена "УчетнаяСистема" в котором регистрируются изменения документов. | ||
'''Возвращаемое значение:''' | |||
'Возвращаемое значение: | * [[3_асп.склад_wms:сборка_выгрузка:описание_типов_сборка|ОтветСервиса]] - структура, содержащая массив результатов получения документов из АСП.Склад WMS. | ||
* [[ | |||
Пример вызова 1C | |||
| | | | ||
<1c> | <syntaxhighlight lang='1c'> | ||
&НаСервере Процедура ВернутьДокументыИзСборщика2(ДокументыСборщика) | &НаСервере Процедура ВернутьДокументыИзСборщика2(ДокументыСборщика)Прокси = ПолучитьПрокси();Фабрика = Прокси.ФабрикаXDTO;СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов"));ДокументыСборщика = ?(Найти(ТекущееСоответствие.Шлюз,"Заказ") = 0,ТекущееСоответствие.Шлюз,"ЗаказНаСборку");Результат = Прокси.ПолучитьДокументСборки(ДокументыСборщика,"П6");Если Результат <> Неопределено Тогда Если Найти(ДокументыСборщика,"ЗаказНаСборку") > 0 ТогдаКоличествоЗагруженно = ВернутьЗаказыНаСборку(Результат,СтрокаДок,СписокДокументов,ТекущееСоответствие);ИначеЕсли Найти(ДокументыСборщика,"Перемещение") > 0 ТогдаКоличествоЗагруженно = ВернутьПеремещение(Результат,СтрокаДок,ТекущееСоответствие);ИначеСообщить("Данный документ не настроен для возврата в базу");Возврат;КонецЕсли; КонецЕсли;Сообщить("Загружено документов: "+Строка(КоличествоЗагруженно)); КонецПроцедуры </syntaxhighlight>Пример вызова XML | ||
| | | | ||
Строка 1446: | Строка 1386: | ||
<?xml version='1.0' encoding='utf-8'?> | <?xml version='1.0' encoding='utf-8'?> | ||
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap-env:Body> | |||
<ns0:ПолучитьДокументСборки2 xmlns:ns0="http://gateway.aspcom.ru"> | |||
<ns0:ТипДокумента>ЗаказНаСборку</ns0:ТипДокумента> | <ns0:ТипДокумента>ЗаказНаСборку</ns0:ТипДокумента> | ||
<ns0:КодУзла>П6</ns0:КодУзла> | <ns0:КодУзла>П6</ns0:КодУзла> | ||
</ns0:ПолучитьДокументСборки2> | |||
</soap-env:Body> | |||
</soap-env:Envelope> | </soap-env:Envelope> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Пример ответа XML | |||
| | | | ||
Строка 1601: | Строка 1541: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== ПолучитьМобильныеУстройства ==== | ==== ПолучитьМобильныеУстройства ==== | ||
Описание | |||
| | | | ||
'''Назначение:''' Сервис предназначен для получения активных мобильных устройств из АСП.Склад WMS. | |||
'Назначение: | |||
'''Параметры:''' | |||
'''Возвращаемое значение:''' | |||
' | * [[3_асп.склад_wms:сборка_выгрузка:описание_типов_сборка|МобильныеУстройства]] - структура, содержащая массив мобильных устройств полученных из АСП.Склад WMS. | ||
Пример вызова 1C | |||
| | | | ||
<1c> | <syntaxhighlight lang='1c'> | ||
&НаСервере Процедура СформироватьСписокМобУстройства() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; МобУстройства = Прокси.ПолучитьМобильныеУстройства(); ЭлементыФормы.МобильныеУстройства.СписокВыбора.Очистить(); Для Каждого Стр Из МобУстройства.МобильноеУстройство Цикл ЭлементыФормы.МобильныеУстройства.СписокВыбора.Добавить(Стр.Наименование + " :"+ Стр.Код); КонецЦикла; КонецПроцедуры </ | &НаСервере Процедура СформироватьСписокМобУстройства() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; МобУстройства = Прокси.ПолучитьМобильныеУстройства(); ЭлементыФормы.МобильныеУстройства.СписокВыбора.Очистить(); Для Каждого Стр Из МобУстройства.МобильноеУстройство Цикл ЭлементыФормы.МобильныеУстройства.СписокВыбора.Добавить(Стр.Наименование + " :"+ Стр.Код); КонецЦикла; КонецПроцедуры </syntaxhighlight>Пример вызова XML | ||
| | | | ||
Строка 1634: | Строка 1568: | ||
<?xml version='1.0' encoding='utf-8'?> | <?xml version='1.0' encoding='utf-8'?> | ||
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap-env:Body> | |||
<ns0:ПолучитьМобильныеУстройства xmlns:ns0="http://gateway.aspcom.ru"> | |||
</ns0:ПолучитьМобильныеУстройства> | |||
</soap-env:Body> | |||
</soap-env:Envelope> | </soap-env:Envelope> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Пример ответа XML | |||
| | | | ||
Строка 1676: | Строка 1610: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== УстановитьСтатусВыгружен ==== | ==== УстановитьСтатусВыгружен ==== | ||
Описание | |||
| | | | ||
'''Назначение:''' Сервис предназначен для установки признака "Выгружен" в АСП.Склад WMS для успешно выгруженных оттуда документов. | |||
'Назначение: | |||
'''Параметры:''' | |||
'Параметры: | * СписокДокументов(Тип: [[3_асп.склад_wms:сборка_выгрузка:описание_типов_сборка#Документ|СписокДокументов]]) - структура, содержащая массив обрабатываемых документов; | ||
* СписокДокументов(Тип: [[ | |||
'''Возвращаемое значение:''' | |||
'Возвращаемое значение: | |||
* Число успешно перезаписанных документов с установленным признаком "Выгружен". | * Число успешно перезаписанных документов с установленным признаком "Выгружен". | ||
Пример вызова 1C | |||
| | | | ||
<1c> | <syntaxhighlight lang='1c'> | ||
&НаСервере Процедура УстановитьСтатусВыгружен() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; | &НаСервере Процедура УстановитьСтатусВыгружен() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO;СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"СписокДокументов"));Для Каждого Стр Из ТаблицаДок ЦиклЕсли НЕ Стр.Выбран ТогдаПродолжить;КонецЕсли; Док = СформироватьДокумент(Стр.Ссылка, Фабрика);Если Док <> Неопределено ТогдаСписокДокументов.МассивДокументов.Добавить(Док);КонецЕсли;КонецЦикла; Выгружено = Прокси.УстановитьСтатусВыгружен(СписокДокументов); Сообщить("Документов в статусе выгруженно: "+Строка(Выгружено)); КонецПроцедуры </syntaxhighlight>Пример вызова XML | ||
| | | | ||
Строка 1710: | Строка 1638: | ||
<?xml version='1.0' encoding='utf-8'?> | <?xml version='1.0' encoding='utf-8'?> | ||
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap-env:Body> | |||
<ns0:УстановитьСтатусВыгружен xmlns:ns0="http://gateway.aspcom.ru"> | |||
<ns0:СписокДокументов> | <ns0:СписокДокументов> | ||
<ns0:МассивДокументов> | <ns0:МассивДокументов> | ||
Строка 1880: | Строка 1808: | ||
</ns0:МассивДокументов> | </ns0:МассивДокументов> | ||
</ns0:СписокДокументов> | </ns0:СписокДокументов> | ||
</ns0:УстановитьСтатусВыгружен> | |||
</soap-env:Body> | |||
</soap-env:Envelope> | </soap-env:Envelope> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Пример ответа XML | |||
| | | | ||
Строка 1901: | Строка 1829: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== ПолучитьНастройкиОбработки ==== | ==== ПолучитьНастройкиОбработки ==== | ||
Описание | |||
| | | | ||
'''Назначение:''' Сервис предназначен для получение настроек правил обработки выгрузки в АСП.Склад WMS. | |||
'Назначение: | |||
'''Параметры:''' | |||
'Параметры: | |||
'''Возвращаемое значение:''' | |||
'Возвращаемое значение: | * НастройкиОбработки(Тип: [[3_асп.склад_wms:сборка_выгрузка:описание_типов_сборка|НастройкиОбработки]]) - Структура, в которой содержатся скомпонованные настройки обработки по вкладкам. | ||
* НастройкиОбработки(Тип: [[ | |||
Пример вызова 1C | |||
| | | | ||
<1c> | <syntaxhighlight lang='1c'> | ||
&НаСервере Процедура ПроверитьПодключениеНаСервере() Прокси = ПолучитьПрокси(); Результат = Прокси.ПолучитьНастройкиОбработки(); ТаблицыНастроек = "СоответствиеДокументов,СоответствиеНом,СоответствиеКонтрагентов,СоответствиеОрганизации,СоответствиеСкладов,ВидыКиХС,ВидыКиПО"; Для Каждого Имя Из СтрРазделить(ТаблицыНастроек,",") Цикл Если ЗначениеЗаполнено(Результат[Имя]) Тогда ТекНастройки.Вставить(Имя,Результат[Имя]); КонецЕсли; КонецЦикла; КонецПроцедуры </ | &НаСервере Процедура ПроверитьПодключениеНаСервере() Прокси = ПолучитьПрокси(); Результат = Прокси.ПолучитьНастройкиОбработки(); ТаблицыНастроек = "СоответствиеДокументов,СоответствиеНом,СоответствиеКонтрагентов,СоответствиеОрганизации,СоответствиеСкладов,ВидыКиХС,ВидыКиПО"; Для Каждого Имя Из СтрРазделить(ТаблицыНастроек,",") Цикл Если ЗначениеЗаполнено(Результат[Имя]) Тогда ТекНастройки.Вставить(Имя,Результат[Имя]); КонецЕсли; КонецЦикла; КонецПроцедуры </syntaxhighlight>ЗагрузитьНастройкиОбработкиОписание | ||
| | |'''Назначение:''' Сервис предназначен для сохранения настроек правил для обработки выгрузки в АСП.Склад WMS.'''Параметры:''' | ||
'Назначение: | * Настройки(Тип: [[3_асп.склад_wms:сборка_выгрузка:описание_типов_сборка|НастройкиОбработки]]) - Структура, в которой содержатся скомпонованные настройки обработки по вкладкам. | ||
'Параметры: | |||
* Настройки(Тип: [[ | |||
'''Возвращаемое значение:''' | |||
'Возвращаемое значение: | |||
* Если настройки загружены успешно, возвращает значение "Истина". | * Если настройки загружены успешно, возвращает значение "Истина". | ||
Пример вызова 1C | |||
| | | | ||
<1c> | <syntaxhighlight lang='1c'> | ||
&НаСервере | &НаСервере | ||
Процедура ПроверитьПодключениеНаСервере() | Процедура ПроверитьПодключениеНаСервере() | ||
Прокси = ПолучитьПрокси(); | Прокси = ПолучитьПрокси(); | ||
Настройки = СформироватьНастройкиОбработки(); | |||
Результат = Прокси.ЗагрузитьНастройкиОбработки(Настройки); | Результат = Прокси.ЗагрузитьНастройкиОбработки(Настройки); | ||
Если Не Результат = Неопределено | Если Не Результат = Неопределено | ||
И Результат Тогда | |||
Сообщить("Настройки правил обработки сохранены"); | |||
КонецЕсли; | |||
КонецПроцедуры | КонецПроцедуры | ||
</ | </syntaxhighlight> | ||
[[Category:сборка выгрузка]] | [[Category:сборка выгрузка]] | ||
<vote type=1 /> |