Различия
Здесь показаны различия между двумя версиями данной страницы.
3_асп.склад_wms:сборка_выгрузка:описание_сервисов_сборка [2022/07/04 18:57] 127.0.0.1 внешнее изменение |
3_асп.склад_wms:сборка_выгрузка:описание_сервисов_сборка [2023/06/28 14:52] (текущий) l.khorokhorina |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
==== ПроверитьПодключение ==== | ==== ПроверитьПодключение ==== | ||
+ | |||
++++Описание | ++++Описание | ||
| | | | ||
- | **Назначение:** Сервис предназначен для проверки соединения с АСП.Сборка. | + | |
+ | **Назначение:** Сервис предназначен для проверки соединения с АСП.Склад WMS. | ||
**Параметры:** | **Параметры:** | ||
- | **Возвращаемое значение:** | + | **Возвращаемое значение:** |
* Если подключение прошло успешно, возвращает значение "Подключено". | * Если подключение прошло успешно, возвращает значение "Подключено". | ||
+ | |||
++++ | ++++ | ||
+ | |||
++++Пример вызова 1C | ++++Пример вызова 1C | ||
| | | | ||
+ | |||
<1c> | <1c> | ||
- | &НаСервере | + | |
- | Процедура ПроверитьПодключениеНаСервере() | + | &НаСервере Процедура ПроверитьПодключениеНаСервере() Прокси = ПолучитьПрокси(); Результат = Прокси.ПроверитьПодключение(); Сообщить(Результат); КонецПроцедуры </1c>++++++++Пример вызова XML |
- | Прокси = ПолучитьПрокси(); | + | |
- | Результат = Прокси.ПроверитьПодключение(); | + | |
- | Сообщить(Результат); | + | |
- | КонецПроцедуры | + | |
- | </1c> | + | |
- | ++++ | + | |
- | ++++Пример вызова XML | + | |
| | | | ||
- | <file xml checkConnect.xml> | + | |
+ | <code xml checkConnect.xml> | ||
<?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/"> | ||
Строка 31: | Строка 31: | ||
</soap-env:Body> | </soap-env:Body> | ||
</soap-env:Envelope> | </soap-env:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
++++Пример ответа XML | ++++Пример ответа XML | ||
| | | | ||
- | <file xml checkConnectResponse.xml> | + | |
+ | <code xml checkConnectResponse.xml> | ||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap:Body> | <soap:Body> | ||
Строка 45: | Строка 47: | ||
</soap:Body> | </soap:Body> | ||
</soap:Envelope> | </soap:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
- | |||
- | |||
- | |||
==== СоздатьНоменклатуру ==== | ==== СоздатьНоменклатуру ==== | ||
+ | |||
++++Описание | ++++Описание | ||
| | | | ||
- | **Назначение:** Операция предназначена для выгрузки и обновления номенклатуры из учетной системы в АСП Сборка. | + | |
+ | **Назначение:** Операция предназначена для выгрузки и обновления номенклатуры из учетной системы в АСП.Склад WMS. | ||
В случае если выгружаемая номенклатура уже есть в сборке, она будет обновлена. Если нет возможности выгрузить некоторые поля из учетной системы, их можно заполнить в сборке. При редактировании номенклатуры в сборке может возникнуть диалоговое окно, предлагающее запретить редактирование номенклатуры из учетной системы. С момента подтверждения запрета редактирования номенклатуре присваивается статус "РучнаяКорректировка" (Запрет изменения) и редактирование номенклатуры при выгрузке в Сборку будет заблокировано. Для того чтобы обратно включить редактирование необходимо нажать кнопку "Запрет изменения" в карточке номенклатуры. | В случае если выгружаемая номенклатура уже есть в сборке, она будет обновлена. Если нет возможности выгрузить некоторые поля из учетной системы, их можно заполнить в сборке. При редактировании номенклатуры в сборке может возникнуть диалоговое окно, предлагающее запретить редактирование номенклатуры из учетной системы. С момента подтверждения запрета редактирования номенклатуре присваивается статус "РучнаяКорректировка" (Запрет изменения) и редактирование номенклатуры при выгрузке в Сборку будет заблокировано. Для того чтобы обратно включить редактирование необходимо нажать кнопку "Запрет изменения" в карточке номенклатуры. | ||
- | При выгрузке документов новая номенклатура будет создаваться автоматически, однако, если не передавать при выгрузке ГУИД подкатегории и единицу хранения, перед регистрацией документа нужно сопоставить номенклатуру в Сборке. | + | При выгрузке документов новая номенклатура будет создаваться автоматически, однако, если не передавать при выгрузке ГУИД подкатегории и единицу хранения, перед регистрацией документа нужно сопоставить номенклатуру в АСП.Склад WMS. |
**Параметры:** | **Параметры:** | ||
+ | |||
* Номенклатура (Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка#Номенклатура|Номенклатура]]) | * Номенклатура (Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка#Номенклатура|Номенклатура]]) | ||
- | **Возвращаемое значение:** | + | **Возвращаемое значение:** |
* Строка, описывающая результат загрузки. В случае успешной загрузки будет выведено сообщение: "Номенклатура загружена: {Наименование номенклатуры}". Иначе, в ответе будет указана причина отказа. | * Строка, описывающая результат загрузки. В случае успешной загрузки будет выведено сообщение: "Номенклатура загружена: {Наименование номенклатуры}". Иначе, в ответе будет указана причина отказа. | ||
++++ | ++++ | ||
+ | |||
++++Пример вызова 1С | ++++Пример вызова 1С | ||
| | | | ||
+ | |||
<1c> | <1c> | ||
- | Процедура ВыгрузитьНоменклатуруНаСервере() | ||
- | Прокси = ПолучитьПрокси(); | ||
- | Фабрика = Прокси.ФабрикаXDTO; | ||
- | |||
- | Запрос = Новый Запрос; | ||
- | Запрос.Текст = | ||
- | "ВЫБРАТЬ | ||
- | | Номенклатура.Ссылка | ||
- | |ИЗ | ||
- | | Справочник.Номенклатура КАК Номенклатура | ||
- | |ГДЕ | ||
- | | (&ВсяНоменклатура | ||
- | | ИЛИ Номенклатура.Ссылка В ИЕРАРХИИ (&Номенклатура)) | ||
- | | И НЕ Номенклатура.ЭтоГруппа"; | ||
- | |||
- | Запрос.УстановитьПараметр("Номенклатура", Номенклатура); | ||
- | Запрос.УстановитьПараметр("ВсяНоменклатура", НЕ ЗначениеЗаполнено(Номенклатура)); | ||
- | Выборка = Запрос.Выполнить().Выбрать(); | ||
- | |||
- | Пока Выборка.Следующий() Цикл | ||
- | Результат = Прокси.СоздатьНоменклатуру(СформироватьНоменклатуру(Выборка.Ссылка,Фабрика)); | ||
- | Сообщить(Результат); | ||
- | КонецЦикла; | ||
- | КонецПроцедуры | + | Процедура ВыгрузитьНоменклатуруНаСервере() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | (&ВсяНоменклатура | ИЛИ Номенклатура.Ссылка В ИЕРАРХИИ (&Номенклатура)) | И НЕ Номенклатура.ЭтоГруппа"; Запрос.УстановитьПараметр("Номенклатура", Номенклатура); Запрос.УстановитьПараметр("ВсяНоменклатура", НЕ ЗначениеЗаполнено(Номенклатура)); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Результат = Прокси.СоздатьНоменклатуру(СформироватьНоменклатуру(Выборка.Ссылка,Фабрика)); Сообщить(Результат); КонецЦикла; КонецПроцедуры </1c>++++++++Пример вызова XML |
- | </1c> | + | |
- | ++++ | + | |
- | ++++Пример вызова XML | + | |
| | | | ||
- | <file xml createProduct.xml> | + | |
+ | <code 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> | <soap-env:Body> | ||
Строка 155: | Строка 136: | ||
</soap-env:Body> | </soap-env:Body> | ||
</soap-env:Envelope> | </soap-env:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
++++Пример ответа XML | ++++Пример ответа XML | ||
| | | | ||
- | <file xml createProductResponse.xml> | + | |
+ | <code xml createProductResponse.xml> | ||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap:Body> | <soap:Body> | ||
Строка 169: | Строка 152: | ||
</soap:Body> | </soap:Body> | ||
</soap:Envelope> | </soap:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
==== СоздатьКонтрагента ==== | ==== СоздатьКонтрагента ==== | ||
+ | |||
++++Описание | ++++Описание | ||
| | | | ||
- | **Назначение:** Выполняет загрузку контрагентов в АСП Сборку. | + | |
+ | **Назначение:** Выполняет загрузку контрагентов в АСП.Склад WMS. | ||
**Параметры:** | **Параметры:** | ||
+ | |||
* Контрагент (Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка#контрагент|Контрагент]]); | * Контрагент (Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка#контрагент|Контрагент]]); | ||
- | **Возвращаемое значение:** | + | **Возвращаемое значение:** Строка, описывающая результат загрузки. В случае успешной загрузки будет выведено сообщение: "Контрагент загружен: {Наименование контрагента}". Иначе, в ответе будет указана причина отказа. |
- | Строка, описывающая результат загрузки. В случае успешной загрузки будет выведено сообщение: "Контрагент загружен: {Наименование контрагента}". Иначе, в ответе будет указана причина отказа. | + | |
++++ | ++++ | ||
+ | |||
++++Пример вызова 1C | ++++Пример вызова 1C | ||
| | | | ||
+ | |||
<1c> | <1c> | ||
- | Процедура ВыгрузитьКонтрагентаНаСервере() | ||
- | Прокси = ПолучитьПрокси(); | ||
- | Фабрика = Прокси.ФабрикаXDTO; | ||
- | Запрос = Новый Запрос; | + | Процедура ВыгрузитьКонтрагентаНаСервере() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Контрагенты.Ссылка |ИЗ | Справочник.Контрагенты КАК Контрагенты |ГДЕ | Контрагенты.Ссылка В ИЕРАРХИИ(&Контрагент) | И НЕ Контрагенты.ЭтоГруппа"; Запрос.УстановитьПараметр("Контрагент", Контрагент); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Контрагент = СформироватьКонтрагента(Выборка.Ссылка,Фабрика); Если ТипЗнч(Контрагент) = Тип("Строка") Тогда Сообщить(Контрагент); Продолжить; КонецЕсли; Результат = Прокси.СоздатьКонтрагента(Контрагент); КонецЦикла; КонецПроцедуры </1c>++++++++Пример вызова XML |
- | Запрос.Текст = | + | |
- | "ВЫБРАТЬ | + | |
- | | Контрагенты.Ссылка | + | |
- | |ИЗ | + | |
- | | Справочник.Контрагенты КАК Контрагенты | + | |
- | |ГДЕ | + | |
- | | Контрагенты.Ссылка В ИЕРАРХИИ(&Контрагент) | + | |
- | | И НЕ Контрагенты.ЭтоГруппа"; | + | |
- | + | ||
- | Запрос.УстановитьПараметр("Контрагент", Контрагент); | + | |
- | Выборка = Запрос.Выполнить().Выбрать(); | + | |
- | + | ||
- | Пока Выборка.Следующий() Цикл | + | |
- | Контрагент = СформироватьКонтрагента(Выборка.Ссылка,Фабрика); | + | |
- | Если ТипЗнч(Контрагент) = Тип("Строка") Тогда | + | |
- | Сообщить(Контрагент); | + | |
- | Продолжить; | + | |
- | КонецЕсли; | + | |
- | Результат = Прокси.СоздатьКонтрагента(Контрагент); | + | |
- | КонецЦикла; | + | |
- | КонецПроцедуры | + | |
- | </1c> | + | |
- | ++++ | + | |
- | ++++Пример вызова XML | + | |
| | | | ||
- | <file xml createAgent.xml> | + | |
+ | <code xml createAgent.xml> | ||
<?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/"> | ||
Строка 230: | Строка 192: | ||
</soap-env:Body> | </soap-env:Body> | ||
</soap-env:Envelope> | </soap-env:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
++++Пример ответа XML | ++++Пример ответа XML | ||
| | | | ||
- | <file xml createAgentResponse.xml> | + | |
+ | <code xml createAgentResponse.xml> | ||
soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap:Body> | <soap:Body> | ||
Строка 244: | Строка 208: | ||
</soap:Body> | </soap:Body> | ||
</soap:Envelope> | </soap:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
- | ==== СоздатьУпаковку==== | + | ==== СоздатьУпаковку ==== |
++++Описание | ++++Описание | ||
| | | | ||
- | **Назначение:** Выполняет загрузку упаковок в АСП.Сборку. | + | |
+ | **Назначение:** Выполняет загрузку упаковок в АСП.Склад WMS. | ||
**Параметры:** | **Параметры:** | ||
- | * Упаковка(Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка|Упаковка]]); | ||
- | **Возвращаемое значение:** | + | * Упаковка(Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка|Упаковка]]); |
+ | |||
+ | **Возвращаемое значение:** | ||
* Строка, описывающая результат загрузки. В случае успешной загрузки будет выведено сообщение: «Упаковка загружена: {Наименование упаковки}». Иначе, в ответе будет указана причина отказа. | * Строка, описывающая результат загрузки. В случае успешной загрузки будет выведено сообщение: «Упаковка загружена: {Наименование упаковки}». Иначе, в ответе будет указана причина отказа. | ||
+ | |||
++++ | ++++ | ||
+ | |||
++++Пример вызова 1C | ++++Пример вызова 1C | ||
| | | | ||
+ | |||
<1c> | <1c> | ||
- | &НаСервере | ||
- | Процедура ВыгрузитьУпаковкуНаСервере() | ||
- | Прокси = ПолучитьПрокси(); | ||
- | Фабрика = Прокси.ФабрикаXDTO; | ||
- | Запрос = Новый Запрос; | + | &НаСервере Процедура ВыгрузитьУпаковкуНаСервере() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Упаковки.Ссылка |ИЗ | Справочник.УпаковкиЕдиницыИзмерения КАК Упаковки; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Упаковка = СформироватьУпаковку(Выборка.Ссылка,Фабрика); Если ТипЗнч(Упаковка) = Тип("Строка") Тогда Сообщить(Упаковка); Продолжить; КонецЕсли; Результат = Прокси.СоздатьУпаковку(Упаковка); КонецЦикла; КонецПроцедуры </1c>++++++++Пример вызова XML |
- | Запрос.Текст = | + | |
- | "ВЫБРАТЬ | + | |
- | | Упаковки.Ссылка | + | |
- | |ИЗ | + | |
- | | Справочник.УпаковкиЕдиницыИзмерения КАК Упаковки; | + | |
- | + | ||
- | Выборка = Запрос.Выполнить().Выбрать(); | + | |
- | + | ||
- | Пока Выборка.Следующий() Цикл | + | |
- | Упаковка = СформироватьУпаковку(Выборка.Ссылка,Фабрика); | + | |
- | Если ТипЗнч(Упаковка) = Тип("Строка") Тогда | + | |
- | Сообщить(Упаковка); | + | |
- | Продолжить; | + | |
- | КонецЕсли; | + | |
- | Результат = Прокси.СоздатьУпаковку(Упаковка); | + | |
- | КонецЦикла; | + | |
- | КонецПроцедуры | + | |
- | </1c> | + | |
- | ++++ | + | |
- | ++++Пример вызова XML | + | |
| | | | ||
- | <file xml createPackage.xml> | + | |
+ | <code xml createPackage.xml> | ||
<?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/"> | ||
Строка 301: | Строка 250: | ||
</soap-env:Body> | </soap-env:Body> | ||
</soap-env:Envelope> | </soap-env:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
++++Пример ответа XML | ++++Пример ответа XML | ||
| | | | ||
- | <file xml resposeСreatePackage.xml> | + | |
+ | <code xml resposeСreatePackage.xml> | ||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap:Body> | <soap:Body> | ||
Строка 315: | Строка 266: | ||
</soap:Body> | </soap:Body> | ||
</soap:Envelope> | </soap:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
- | ==== ЗагрузитьДокументы==== | + | |
+ | ==== ЗагрузитьДокументы ==== | ||
++++Описание | ++++Описание | ||
| | | | ||
- | **Назначение:** Выполняет загрузку массива документов в АСП Сборку. | + | |
+ | **Назначение:** Выполняет загрузку массива документов в АСП.Склад WMS. | ||
**Параметры:** | **Параметры:** | ||
+ | |||
* СписокДокументов(Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка#Документ|СписокДокументов]]) - структура, содержащая массив обрабатываемых документов и параметры загрузки; | * СписокДокументов(Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка#Документ|СписокДокументов]]) - структура, содержащая массив обрабатываемых документов и параметры загрузки; | ||
* ОбновлятьПодчиненные (Тип: boolean) - если параметр принимает значение Истина, функция будет обновлять вложенные данные заполненные в документе; | * ОбновлятьПодчиненные (Тип: boolean) - если параметр принимает значение Истина, функция будет обновлять вложенные данные заполненные в документе; | ||
* МобильноеУстройство(Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка|МобильноеУстройство]]) - мобильное устройство, куда распределяется сборка. | * МобильноеУстройство(Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка|МобильноеУстройство]]) - мобильное устройство, куда распределяется сборка. | ||
- | **Возвращаемое значение:** | + | **Возвращаемое значение:** |
* [[3_сборка:сборка_выгрузка:описание_типов_сборка|ОтветСервиса]] - структура, содержащая массив результатов загрузки документов. | * [[3_сборка:сборка_выгрузка:описание_типов_сборка|ОтветСервиса]] - структура, содержащая массив результатов загрузки документов. | ||
++++ | ++++ | ||
+ | |||
++++Пример вызова 1С | ++++Пример вызова 1С | ||
| | | | ||
+ | |||
<1c> | <1c> | ||
- | Процедура ГрупповаяОбработкаДокументов() | ||
- | Прокси = ПолучитьПрокси(); | ||
- | Фабрика = Прокси.ФабрикаXDTO; | ||
- | |||
- | СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов")); | ||
- | |||
- | хМобильноеУстройство = Неопределено; | ||
- | Если ЗначениеЗаполнено(МобильныеУстройства) Тогда | ||
- | МобУстройства = СтрРазбить(МобильныеУстройства,":"); | ||
- | хМобильноеУстройство = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"МобильноеУстройство")); | ||
- | хМобильноеУстройство.Наименование = МобУстройства[0]; | ||
- | хМобильноеУстройство.Код = МобУстройства[1]; | ||
- | КонецЕсли; | ||
- | КоличествоВыгружено = 0; | + | Процедура ГрупповаяОбработкаДокументов() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов")); хМобильноеУстройство = Неопределено; Если ЗначениеЗаполнено(МобильныеУстройства) Тогда МобУстройства = СтрРазбить(МобильныеУстройства,":"); хМобильноеУстройство = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"МобильноеУстройство")); хМобильноеУстройство.Наименование = МобУстройства[0]; хМобильноеУстройство.Код = МобУстройства[1]; КонецЕсли; КоличествоВыгружено = 0; Для Каждого Стр Из ТаблицаДок Цикл Если НЕ Стр.Выбран Тогда Продолжить; КонецЕсли; Док = СформироватьДокумент(Стр.Ссылка, Фабрика); Если Док <> Неопределено Тогда СписокДокументов.МассивДокументов.Добавить(Док); КоличествоВыгружено = КоличествоВыгружено + 1; КонецЕсли; КонецЦикла; Если СписокДокументов.МассивДокументов.Количество()>0 Тогда ДанныеОтвета = Прокси.ЗагрузитьДокументы(СписокДокументов, Ложь, хМобильноеУстройство); Сообщить("Отправлено на выгрузку документов: "+КоличествоВыгружено); РазобратьОтвет(ДанныеОтвета); КонецЕсли; КонецПроцедуры </1c>++++++++Пример разбора ответа 1С |
- | Для Каждого Стр Из ТаблицаДок Цикл | + | |<1c> |
- | Если НЕ Стр.Выбран Тогда | + | Процедура РазобратьОтвет(ДанныеОтвета) ТаблицаРезультатов = Новый ТаблицаЗначений; ТаблицаРезультатов.Колонки.Добавить("ТипДокумента"); ТаблицаРезультатов.Колонки.Добавить("Документ"); ТаблицаРезультатов.Колонки.Добавить("Результат"); Для Каждого Ответ Из ДанныеОтвета.МассивРезультатов Цикл НовРез = ТаблицаРезультатов.Добавить(); НовРез.ТипДокумента = ТекущееСоответствие.Сборка; НовРез.Документ = НайтиДокумент(Ответ.Документ, ТекущееСоответствие); НовРез.Результат = Ответ.РезультатТранзакции; КонецЦикла; ТаблицаРезультатов.Сортировать("ТипДокумента"); Обработка = РеквизитФормыВЗначение("Объект"); Макет = Обработка.ПолучитьМакет("Макет"); ШапкаТД = Макет.ПолучитьОбласть("Шапка"); ГруппаДок = Макет.ПолучитьОбласть("ГруппаДокументов"); СтрокаДок = Макет.ПолучитьОбласть("СтрокаДокумент"); ТД.Очистить(); ШапкаТД.Параметры.ТипОбъекта = "Документ"; ТД.Вывести(ШапкаТД); ТД.НачатьАвтогруппировкуСтрок(); ТекТип = ""; ПараметрыОтбора = Новый Структура; ПараметрыОтбора.Вставить("ТипДокумента"); Для Каждого Рез Из ТаблицаРезультатов Цикл Если ТекТип <> Рез.ТипДокумента Тогда ТекТип = Рез.ТипДокумента; ГруппаДок.Параметры.Заполнить(Рез); ГруппаДок.Параметры.ТипДокумента = ТипВСборке(Рез.ТипДокумента); ПараметрыОтбора.ТипДокумента = Рез.ТипДокумента; ГруппаДок.Параметры.КоличествоЗагружено = ТаблицаРезультатов.НайтиСтроки(ПараметрыОтбора).Количество(); ТД.Вывести(ГруппаДок,1); КонецЕсли; СтрокаДок.Параметры.Заполнить(Рез); ТД.Вывести(СтрокаДок); КонецЦикла; ТД.ЗакончитьАвтогруппировкуСтрок(); ТД.ТолькоПросмотр = Истина; КонецПроцедуры Функция НайтиДокумент(ДокументХ, ТипДокументаСтрокой) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ТипДок.Ссылка |ИЗ | Документ.#ТипДок# КАК ТипДок |ГДЕ | ТипДок.Номер ПОДОБНО &Номер | И НАЧАЛОПЕРИОДА(ТипДок.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)"; Запрос.УстановитьПараметр("Дата", ДокументХ.Дата); Запрос.УстановитьПараметр("Номер", "%"+СокрЛП(ДокументХ.Номер)+"%"); Запрос.Текст = СтрЗаменить(Запрос.Текст,"#ТипДок#",СтрЗаменить(ТипДокументаСтрокой," ","")); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Возврат Выборка.Ссылка; Иначе Возврат Документы[СтрЗаменить(ТипДокументаСтрокой," ","")].ПустаяСсылка(); КонецЕсли; КонецФункции </1c>++++++++Пример вызова XML |
- | Продолжить; | + | |
- | КонецЕсли; | + | |
- | Док = СформироватьДокумент(Стр.Ссылка, Фабрика); | + | |
- | Если Док <> Неопределено Тогда | + | |
- | СписокДокументов.МассивДокументов.Добавить(Док); | + | |
- | КоличествоВыгружено = КоличествоВыгружено + 1; | + | |
- | КонецЕсли; | + | |
- | КонецЦикла; | + | |
- | + | ||
- | Если СписокДокументов.МассивДокументов.Количество()>0 Тогда | + | |
- | ДанныеОтвета = Прокси.ЗагрузитьДокументы(СписокДокументов, Ложь, хМобильноеУстройство); | + | |
- | Сообщить("Отправлено на выгрузку документов: "+КоличествоВыгружено); | + | |
- | РазобратьОтвет(ДанныеОтвета); | + | |
- | КонецЕсли; | + | |
- | КонецПроцедуры | + | |
- | </1c> | + | |
- | ++++ | + | |
- | ++++Пример разбора ответа 1С | + | |
| | | | ||
- | <1c> | ||
- | Процедура РазобратьОтвет(ДанныеОтвета) | ||
- | |||
- | ТаблицаРезультатов = Новый ТаблицаЗначений; | ||
- | ТаблицаРезультатов.Колонки.Добавить("ТипДокумента"); | ||
- | ТаблицаРезультатов.Колонки.Добавить("Документ"); | ||
- | ТаблицаРезультатов.Колонки.Добавить("Результат"); | ||
- | |||
- | Для Каждого Ответ Из ДанныеОтвета.МассивРезультатов Цикл | ||
- | НовРез = ТаблицаРезультатов.Добавить(); | ||
- | НовРез.ТипДокумента = ТекущееСоответствие.Сборка; | ||
- | НовРез.Документ = НайтиДокумент(Ответ.Документ, ТекущееСоответствие); | ||
- | НовРез.Результат = Ответ.РезультатТранзакции; | ||
- | КонецЦикла; | ||
- | |||
- | ТаблицаРезультатов.Сортировать("ТипДокумента"); | ||
- | Обработка = РеквизитФормыВЗначение("Объект"); | ||
- | Макет = Обработка.ПолучитьМакет("Макет"); | ||
- | ШапкаТД = Макет.ПолучитьОбласть("Шапка"); | ||
- | ГруппаДок = Макет.ПолучитьОбласть("ГруппаДокументов"); | ||
- | СтрокаДок = Макет.ПолучитьОбласть("СтрокаДокумент"); | ||
- | |||
- | ТД.Очистить(); | ||
- | ШапкаТД.Параметры.ТипОбъекта = "Документ"; | ||
- | ТД.Вывести(ШапкаТД); | ||
- | ТД.НачатьАвтогруппировкуСтрок(); | ||
- | |||
- | ТекТип = ""; | ||
- | ПараметрыОтбора = Новый Структура; | ||
- | ПараметрыОтбора.Вставить("ТипДокумента"); | ||
- | Для Каждого Рез Из ТаблицаРезультатов Цикл | ||
- | Если ТекТип <> Рез.ТипДокумента Тогда | ||
- | ТекТип = Рез.ТипДокумента; | ||
- | ГруппаДок.Параметры.Заполнить(Рез); | ||
- | ГруппаДок.Параметры.ТипДокумента = ТипВСборке(Рез.ТипДокумента); | ||
- | ПараметрыОтбора.ТипДокумента = Рез.ТипДокумента; | ||
- | ГруппаДок.Параметры.КоличествоЗагружено = ТаблицаРезультатов.НайтиСтроки(ПараметрыОтбора).Количество(); | ||
- | ТД.Вывести(ГруппаДок,1); | ||
- | КонецЕсли; | ||
- | СтрокаДок.Параметры.Заполнить(Рез); | ||
- | ТД.Вывести(СтрокаДок); | ||
- | КонецЦикла; | ||
- | |||
- | ТД.ЗакончитьАвтогруппировкуСтрок(); | ||
- | ТД.ТолькоПросмотр = Истина; | ||
- | КонецПроцедуры | ||
- | Функция НайтиДокумент(ДокументХ, ТипДокументаСтрокой) | + | <code xml createDownloadDocuments.xml> |
- | Запрос = Новый Запрос; | + | |
- | Запрос.Текст = | + | |
- | "ВЫБРАТЬ | + | |
- | | ТипДок.Ссылка | + | |
- | |ИЗ | + | |
- | | Документ.#ТипДок# КАК ТипДок | + | |
- | |ГДЕ | + | |
- | | ТипДок.Номер ПОДОБНО &Номер | + | |
- | | И НАЧАЛОПЕРИОДА(ТипДок.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)"; | + | |
- | + | ||
- | Запрос.УстановитьПараметр("Дата", ДокументХ.Дата); | + | |
- | Запрос.УстановитьПараметр("Номер", "%"+СокрЛП(ДокументХ.Номер)+"%"); | + | |
- | Запрос.Текст = СтрЗаменить(Запрос.Текст,"#ТипДок#",СтрЗаменить(ТипДокументаСтрокой," ","")); | + | |
- | + | ||
- | Выборка = Запрос.Выполнить().Выбрать(); | + | |
- | Если Выборка.Следующий() Тогда | + | |
- | Возврат Выборка.Ссылка; | + | |
- | Иначе | + | |
- | Возврат Документы[СтрЗаменить(ТипДокументаСтрокой," ","")].ПустаяСсылка(); | + | |
- | КонецЕсли; | + | |
- | КонецФункции | + | |
- | + | ||
- | </1c> | + | |
- | ++++ | + | |
- | ++++Пример вызова XML | + | |
- | | | + | |
- | <file xml createDownloadDocuments.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> | <soap-env:Body> | ||
Строка 624: | Строка 479: | ||
</soap-env:Body> | </soap-env:Body> | ||
</soap-env:Envelope> | </soap-env:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
++++Пример ответа XML | ++++Пример ответа XML | ||
| | | | ||
- | <file xml resposeCreateDownloadDocuments.xml> | + | |
+ | <code xml resposeCreateDownloadDocuments.xml> | ||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap:Body> | <soap:Body> | ||
Строка 811: | Строка 668: | ||
</soap:Body> | </soap:Body> | ||
</soap:Envelope> | </soap:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
- | ==== ПолучитьДокументыЗаказНаСборку==== | + | ==== ПолучитьДокументыЗаказНаСборку ==== |
++++Описание | ++++Описание | ||
| | | | ||
- | **Назначение:** Сервис предназначен для получения документов сборки у которых не установлена галочка выгружен в 1С со статусом частичная или полная из АСП.Сборка. | + | |
+ | **Назначение:** Сервис предназначен для получения документов сборки у которых не установлена галочка выгружен в 1С со статусом частичная или полная из АСП.Склад WMS. | ||
**Параметры:** | **Параметры:** | ||
- | **Возвращаемое значение:** | + | **Возвращаемое значение:** |
- | * [[3_сборка:сборка_выгрузка:описание_типов_сборка|ОтветСервиса]] - структура, содержащая массив результатов получения документов из АСП.Сборка. | + | |
+ | * [[3_сборка:сборка_выгрузка:описание_типов_сборка|ОтветСервиса]] - структура, содержащая массив результатов получения документов из АСП.Склад WMS. | ||
++++ | ++++ | ||
+ | |||
++++Пример вызова 1C | ++++Пример вызова 1C | ||
| | | | ||
+ | |||
<1c> | <1c> | ||
- | &НаСервере | ||
- | Процедура ВернутьИзСборщика() | ||
- | Прокси = ПолучитьПрокси(); | ||
- | Результат = Прокси.ПолучитьДокументыЗаказНаСборку(); | ||
- | Если Результат<> Неопределено Тогда | ||
- | КоличествоЗагруженно = 0; | ||
- | Для каждого ДокХДТО Из Результат.МассивРезультатов Цикл | ||
- | |||
- | Документ = Документы.АСП_ЗаказНаСборку.НайтиПоНомеру(ДокХДТО.Документ.Номер, ДокХДТО.Документ.Дата); | ||
- | Если Документ.Пустая() Тогда | ||
- | ДокСсылка = Документы.АСП_ЗаказНаСборку.СоздатьДокумент(); | ||
- | ДокСсылка.Дата = ДокХДТО.Документ.Дата; | ||
- | ДокСсылка.Номер = ДокХДТО.Документ.Номер; | ||
- | Иначе | ||
- | ДокСсылка = Документ.ПолучитьОбъект(); | ||
- | КонецЕсли; | ||
- | |||
- | ДокСсылка.Склад = Справочники.Склады.НайтиПоКоду(СокрЛП(ДокХДТО.Документ.Склад.Код)); | ||
- | |||
- | Если ПустаяСтрока(ДокХДТО.Документ.Организация.ИНН) Тогда | ||
- | ДокСсылка.Организация = Справочники.Организации.НайтиПоКоду(ДокХДТО.Документ.Организация.Код); | ||
- | Иначе | ||
- | ДокСсылка.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", ДокХДТО.Документ.Организация.ИНН); | ||
- | КонецЕсли; | ||
- | |||
- | СообщениеСтатуса = ""; | ||
- | ПеречСтатус = ПолучитьСтатусСборки(ДокХДТО.Документ.Статус); | ||
- | Если ТипЗнч(ПеречСтатус) <> Тип("Строка") Тогда | ||
- | ДокСсылка.СтатусСборки = ПеречСтатус; | ||
- | Иначе | ||
- | СообщениеСтатуса = ("Документ №"+ ДокСсылка.Номер+ " загружен без статуса. "+ ПеречСтатус); | ||
- | КонецЕсли; | ||
- | |||
- | ДокСсылка.Товары.Очистить(); | ||
- | Для каждого СтрокиТЧ Из ДокХДТО.Документ.Товары Цикл | ||
- | НовСтр = ДокСсылка.Товары.Добавить(); | ||
- | ЗаполнитьЗначенияСвойств(НовСтр,СтрокиТЧ); | ||
- | НовСтр.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(СокрЛП(СтрокиТЧ.Номенклатура.Код)); | ||
- | Если НовСтр.Номенклатура.Пустая() Тогда | ||
- | Сообщить("Номенклатура по данному коду "+ СокрЛП(СтрокиТЧ.Номенклатура.Код)+ " не обнаружена"); | ||
- | Продолжить; | ||
- | КонецЕсли; | ||
- | НовСтр.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоКоду(СокрЛП(СтрокиТЧ.Упаковка.КодЗагрузки)); | ||
- | НовСтр.Производитель = Справочники.Организации.НайтиПоКоду(СокрЛП(СтрокиТЧ.Производитель.Код)); | ||
- | |||
- | НомерЗаказаСборки = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Номер,СтрЗаменить(СтрокиТЧ.Заказ.Номер,"З_","")); | ||
- | ДатаЗаказаСборка = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Дата,СтрокиТЧ.Заказ.Дата); | ||
- | НовСтр.Заказ = Документы[ТекущееСоответствие.База].НайтиПоНомеру(НомерЗаказаСборки, ДатаЗаказаСборка); | ||
- | Если Не ЗначениеЗаполнено(НовСтр.Заказ) Тогда | ||
- | Сообщить("Заказ не указан в заказе на сборку №"+ СокрЛП(ДокХДТО.Документ.Номер)); | ||
- | Продолжить; | ||
- | КонецЕсли; | ||
- | Если НовСтр.Заказ <> Неопределено И Не НовСтр.Заказ.Пустая() Тогда | + | &НаСервере Процедура ВернутьИзСборщика() Прокси = ПолучитьПрокси(); Результат = Прокси.ПолучитьДокументыЗаказНаСборку(); Если Результат<> Неопределено Тогда КоличествоЗагруженно = 0; Для каждого ДокХДТО Из Результат.МассивРезультатов Цикл Документ = Документы.АСП_ЗаказНаСборку.НайтиПоНомеру(ДокХДТО.Документ.Номер, ДокХДТО.Документ.Дата); Если Документ.Пустая() Тогда ДокСсылка = Документы.АСП_ЗаказНаСборку.СоздатьДокумент(); ДокСсылка.Дата = ДокХДТО.Документ.Дата; ДокСсылка.Номер = ДокХДТО.Документ.Номер; Иначе ДокСсылка = Документ.ПолучитьОбъект(); КонецЕсли; ДокСсылка.Склад = Справочники.Склады.НайтиПоКоду(СокрЛП(ДокХДТО.Документ.Склад.Код)); Если ПустаяСтрока(ДокХДТО.Документ.Организация.ИНН) Тогда ДокСсылка.Организация = Справочники.Организации.НайтиПоКоду(ДокХДТО.Документ.Организация.Код); Иначе ДокСсылка.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", ДокХДТО.Документ.Организация.ИНН); КонецЕсли; СообщениеСтатуса = ""; ПеречСтатус = ПолучитьСтатусСборки(ДокХДТО.Документ.Статус); Если ТипЗнч(ПеречСтатус) <> Тип("Строка") Тогда ДокСсылка.СтатусСборки = ПеречСтатус; Иначе СообщениеСтатуса = ("Документ №"+ ДокСсылка.Номер+ " загружен без статуса. "+ ПеречСтатус); КонецЕсли; ДокСсылка.Товары.Очистить(); Для каждого СтрокиТЧ Из ДокХДТО.Документ.Товары Цикл НовСтр = ДокСсылка.Товары.Добавить(); ЗаполнитьЗначенияСвойств(НовСтр,СтрокиТЧ); НовСтр.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(СокрЛП(СтрокиТЧ.Номенклатура.Код)); Если НовСтр.Номенклатура.Пустая() Тогда Сообщить("Номенклатура по данному коду "+ СокрЛП(СтрокиТЧ.Номенклатура.Код)+ " не обнаружена"); Продолжить; КонецЕсли; НовСтр.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоКоду(СокрЛП(СтрокиТЧ.Упаковка.КодЗагрузки)); НовСтр.Производитель = Справочники.Организации.НайтиПоКоду(СокрЛП(СтрокиТЧ.Производитель.Код)); НомерЗаказаСборки = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Номер,СтрЗаменить(СтрокиТЧ.Заказ.Номер,"З_","")); ДатаЗаказаСборка = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Дата,СтрокиТЧ.Заказ.Дата); НовСтр.Заказ = Документы[ТекущееСоответствие.База].НайтиПоНомеру(НомерЗаказаСборки, ДатаЗаказаСборка); Если Не ЗначениеЗаполнено(НовСтр.Заказ) Тогда Сообщить("Заказ не указан в заказе на сборку №"+ СокрЛП(ДокХДТО.Документ.Номер)); Продолжить; КонецЕсли; Если НовСтр.Заказ <> Неопределено И Не НовСтр.Заказ.Пустая() Тогда УстановитьСтатус(НовСтр.Заказ,ДокСсылка.СтатусСборки); КонецЕсли; КонецЦикла; Если ДокСсылка.Товары.Количество()> 0 Тогда ДокСсылка.Записать(); КонецЕсли; Если Не ДокСсылка.Ссылка.Пустая() Тогда КоличествоЗагруженно = КоличествоЗагруженно + 1; Если ДокХДТО.Документ <> Неопределено Тогда СписокДокументов.МассивДокументов.Добавить(ДокХДТО.Документ); КонецЕсли; КонецЕсли; СтрокаДок.Параметры.Документ = Строка(ДокСсылка); СтрокаДок.Параметры.Результат = Строка(ДокХДТО.РезультатТранзакции) + " " + СообщениеСтатуса; ТД.Вывести(СтрокаДок); КонецЦикла; КонецЕсли; КонецПроцедуры </1c>++++++++Пример вызова XML |
- | УстановитьСтатус(НовСтр.Заказ,ДокСсылка.СтатусСборки); | + | |
- | КонецЕсли; | + | |
- | КонецЦикла; | + | |
- | + | ||
- | Если ДокСсылка.Товары.Количество()> 0 Тогда | + | |
- | ДокСсылка.Записать(); | + | |
- | КонецЕсли; | + | |
- | Если Не ДокСсылка.Ссылка.Пустая() Тогда | + | |
- | КоличествоЗагруженно = КоличествоЗагруженно + 1; | + | |
- | Если ДокХДТО.Документ <> Неопределено Тогда | + | |
- | СписокДокументов.МассивДокументов.Добавить(ДокХДТО.Документ); | + | |
- | КонецЕсли; | + | |
- | КонецЕсли; | + | |
- | + | ||
- | СтрокаДок.Параметры.Документ = Строка(ДокСсылка); | + | |
- | СтрокаДок.Параметры.Результат = Строка(ДокХДТО.РезультатТранзакции) + " " + СообщениеСтатуса; | + | |
- | ТД.Вывести(СтрокаДок); | + | |
- | КонецЦикла; | + | |
- | КонецЕсли; | + | |
- | КонецПроцедуры | + | |
- | </1c> | + | |
- | ++++ | + | |
- | ++++Пример вызова XML | + | |
| | | | ||
- | <file xml createTakeAssembly.xml> | + | |
+ | <code xml createTakeAssembly.xml> | ||
<?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/"> | ||
Строка 914: | Строка 704: | ||
</soap-env:Body> | </soap-env:Body> | ||
</soap-env:Envelope> | </soap-env:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
++++Пример ответа XML | ++++Пример ответа XML | ||
| | | | ||
- | <file xml resposeCreateTakeAssembly.xml> | + | |
+ | <code xml resposeCreateTakeAssembly.xml> | ||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap:Body> | <soap:Body> | ||
Строка 1117: | Строка 909: | ||
</soap:Body> | </soap:Body> | ||
</soap:Envelope> | </soap:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
- | ==== ПолучитьДокументыЗаказНаСборку2==== | + | ==== ПолучитьДокументыЗаказНаСборку2 ==== |
++++Описание | ++++Описание | ||
| | | | ||
- | **Назначение:** Сервис предназначен для получения документов сборки которые зарегистрированы планом обмена из АСП.Сборка. | + | |
+ | **Назначение:** Сервис предназначен для получения документов сборки которые зарегистрированы планом обмена из АСП.Склад WMS. | ||
**Параметры:** | **Параметры:** | ||
- | *КодУзла(Тип: string) - код узла плана обмена "УчетнаяСистема" в котором регистрируются изменения документов. | + | |
- | **Возвращаемое значение:** | + | * КодУзла(Тип: string) - код узла плана обмена "УчетнаяСистема" в котором регистрируются изменения документов. |
- | * [[3_сборка:сборка_выгрузка:описание_типов_сборка|ОтветСервиса]] - структура, содержащая массив результатов получения документов из АСП.Сборка. | + | |
+ | **Возвращаемое значение:** | ||
+ | |||
+ | * [[3_сборка:сборка_выгрузка:описание_типов_сборка|ОтветСервиса]] - структура, содержащая массив результатов получения документов из АСП.Склад WMS. | ||
++++ | ++++ | ||
+ | |||
++++Пример вызова 1C | ++++Пример вызова 1C | ||
| | | | ||
+ | |||
<1c> | <1c> | ||
- | &НаСервере | ||
- | Процедура ВернутьИзСборщика2() | ||
- | Прокси = ПолучитьПрокси(); | ||
- | Результат = Прокси.ПолучитьДокументыЗаказНаСборку2("П6"); | ||
- | Если Результат<> Неопределено Тогда | ||
- | КоличествоЗагруженно = 0; | ||
- | Для каждого ДокХДТО Из Результат.МассивРезультатов Цикл | ||
- | |||
- | Документ = Документы.АСП_ЗаказНаСборку.НайтиПоНомеру(ДокХДТО.Документ.Номер, ДокХДТО.Документ.Дата); | ||
- | Если Документ.Пустая() Тогда | ||
- | ДокСсылка = Документы.АСП_ЗаказНаСборку.СоздатьДокумент(); | ||
- | ДокСсылка.Дата = ДокХДТО.Документ.Дата; | ||
- | ДокСсылка.Номер = ДокХДТО.Документ.Номер; | ||
- | Иначе | ||
- | ДокСсылка = Документ.ПолучитьОбъект(); | ||
- | КонецЕсли; | ||
- | |||
- | ДокСсылка.Склад = Справочники.Склады.НайтиПоКоду(СокрЛП(ДокХДТО.Документ.Склад.Код)); | ||
- | |||
- | Если ПустаяСтрока(ДокХДТО.Документ.Организация.ИНН) Тогда | ||
- | ДокСсылка.Организация = Справочники.Организации.НайтиПоКоду(ДокХДТО.Документ.Организация.Код); | ||
- | Иначе | ||
- | ДокСсылка.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", ДокХДТО.Документ.Организация.ИНН); | ||
- | КонецЕсли; | ||
- | |||
- | СообщениеСтатуса = ""; | ||
- | ПеречСтатус = ПолучитьСтатусСборки(ДокХДТО.Документ.Статус); | ||
- | Если ТипЗнч(ПеречСтатус) <> Тип("Строка") Тогда | ||
- | ДокСсылка.СтатусСборки = ПеречСтатус; | ||
- | Иначе | ||
- | СообщениеСтатуса = ("Документ №"+ ДокСсылка.Номер+ " загружен без статуса. "+ ПеречСтатус); | ||
- | КонецЕсли; | ||
- | |||
- | ДокСсылка.Товары.Очистить(); | ||
- | Для каждого СтрокиТЧ Из ДокХДТО.Документ.Товары Цикл | ||
- | НовСтр = ДокСсылка.Товары.Добавить(); | ||
- | ЗаполнитьЗначенияСвойств(НовСтр,СтрокиТЧ); | ||
- | НовСтр.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(СокрЛП(СтрокиТЧ.Номенклатура.Код)); | ||
- | Если НовСтр.Номенклатура.Пустая() Тогда | ||
- | Сообщить("Номенклатура по данному коду "+ СокрЛП(СтрокиТЧ.Номенклатура.Код)+ " не обнаружена"); | ||
- | Продолжить; | ||
- | КонецЕсли; | ||
- | НовСтр.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоКоду(СокрЛП(СтрокиТЧ.Упаковка.КодЗагрузки)); | ||
- | НовСтр.Производитель = Справочники.Организации.НайтиПоКоду(СокрЛП(СтрокиТЧ.Производитель.Код)); | ||
- | |||
- | НомерЗаказаСборки = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Номер,СтрЗаменить(СтрокиТЧ.Заказ.Номер,"З_","")); | ||
- | ДатаЗаказаСборка = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Дата,СтрокиТЧ.Заказ.Дата); | ||
- | НовСтр.Заказ = Документы[ТекущееСоответствие.База].НайтиПоНомеру(НомерЗаказаСборки, ДатаЗаказаСборка); | ||
- | Если Не ЗначениеЗаполнено(НовСтр.Заказ) Тогда | ||
- | Сообщить("Заказ не указан в заказе на сборку №"+ СокрЛП(ДокХДТО.Документ.Номер)); | ||
- | Продолжить; | ||
- | КонецЕсли; | ||
- | Если НовСтр.Заказ <> Неопределено И Не НовСтр.Заказ.Пустая() Тогда | + | &НаСервере Процедура ВернутьИзСборщика2() Прокси = ПолучитьПрокси(); Результат = Прокси.ПолучитьДокументыЗаказНаСборку2("П6"); Если Результат<> Неопределено Тогда КоличествоЗагруженно = 0; Для каждого ДокХДТО Из Результат.МассивРезультатов Цикл Документ = Документы.АСП_ЗаказНаСборку.НайтиПоНомеру(ДокХДТО.Документ.Номер, ДокХДТО.Документ.Дата); Если Документ.Пустая() Тогда ДокСсылка = Документы.АСП_ЗаказНаСборку.СоздатьДокумент(); ДокСсылка.Дата = ДокХДТО.Документ.Дата; ДокСсылка.Номер = ДокХДТО.Документ.Номер; Иначе ДокСсылка = Документ.ПолучитьОбъект(); КонецЕсли; ДокСсылка.Склад = Справочники.Склады.НайтиПоКоду(СокрЛП(ДокХДТО.Документ.Склад.Код)); Если ПустаяСтрока(ДокХДТО.Документ.Организация.ИНН) Тогда ДокСсылка.Организация = Справочники.Организации.НайтиПоКоду(ДокХДТО.Документ.Организация.Код); Иначе ДокСсылка.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", ДокХДТО.Документ.Организация.ИНН); КонецЕсли; СообщениеСтатуса = ""; ПеречСтатус = ПолучитьСтатусСборки(ДокХДТО.Документ.Статус); Если ТипЗнч(ПеречСтатус) <> Тип("Строка") Тогда ДокСсылка.СтатусСборки = ПеречСтатус; Иначе СообщениеСтатуса = ("Документ №"+ ДокСсылка.Номер+ " загружен без статуса. "+ ПеречСтатус); КонецЕсли; ДокСсылка.Товары.Очистить(); Для каждого СтрокиТЧ Из ДокХДТО.Документ.Товары Цикл НовСтр = ДокСсылка.Товары.Добавить(); ЗаполнитьЗначенияСвойств(НовСтр,СтрокиТЧ); НовСтр.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(СокрЛП(СтрокиТЧ.Номенклатура.Код)); Если НовСтр.Номенклатура.Пустая() Тогда Сообщить("Номенклатура по данному коду "+ СокрЛП(СтрокиТЧ.Номенклатура.Код)+ " не обнаружена"); Продолжить; КонецЕсли; НовСтр.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоКоду(СокрЛП(СтрокиТЧ.Упаковка.КодЗагрузки)); НовСтр.Производитель = Справочники.Организации.НайтиПоКоду(СокрЛП(СтрокиТЧ.Производитель.Код)); НомерЗаказаСборки = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Номер,СтрЗаменить(СтрокиТЧ.Заказ.Номер,"З_","")); ДатаЗаказаСборка = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Дата,СтрокиТЧ.Заказ.Дата); НовСтр.Заказ = Документы[ТекущееСоответствие.База].НайтиПоНомеру(НомерЗаказаСборки, ДатаЗаказаСборка); Если Не ЗначениеЗаполнено(НовСтр.Заказ) Тогда Сообщить("Заказ не указан в заказе на сборку №"+ СокрЛП(ДокХДТО.Документ.Номер)); Продолжить; КонецЕсли; Если НовСтр.Заказ <> Неопределено И Не НовСтр.Заказ.Пустая() Тогда УстановитьСтатус(НовСтр.Заказ,ДокСсылка.СтатусСборки); КонецЕсли; КонецЦикла; Если ДокСсылка.Товары.Количество()> 0 Тогда ДокСсылка.Записать(); КонецЕсли; Если Не ДокСсылка.Ссылка.Пустая() Тогда КоличествоЗагруженно = КоличествоЗагруженно + 1; Если ДокХДТО.Документ <> Неопределено Тогда СписокДокументов.МассивДокументов.Добавить(ДокХДТО.Документ); КонецЕсли; КонецЕсли; СтрокаДок.Параметры.Документ = Строка(ДокСсылка); СтрокаДок.Параметры.Результат = Строка(ДокХДТО.РезультатТранзакции) + " " + СообщениеСтатуса; ТД.Вывести(СтрокаДок); КонецЦикла; КонецЕсли; КонецПроцедуры </1c>++++++++Пример вызова XML |
- | УстановитьСтатус(НовСтр.Заказ,ДокСсылка.СтатусСборки); | + | |
- | КонецЕсли; | + | |
- | КонецЦикла; | + | |
- | + | ||
- | Если ДокСсылка.Товары.Количество()> 0 Тогда | + | |
- | ДокСсылка.Записать(); | + | |
- | КонецЕсли; | + | |
- | Если Не ДокСсылка.Ссылка.Пустая() Тогда | + | |
- | КоличествоЗагруженно = КоличествоЗагруженно + 1; | + | |
- | Если ДокХДТО.Документ <> Неопределено Тогда | + | |
- | СписокДокументов.МассивДокументов.Добавить(ДокХДТО.Документ); | + | |
- | КонецЕсли; | + | |
- | КонецЕсли; | + | |
- | + | ||
- | СтрокаДок.Параметры.Документ = Строка(ДокСсылка); | + | |
- | СтрокаДок.Параметры.Результат = Строка(ДокХДТО.РезультатТранзакции) + " " + СообщениеСтатуса; | + | |
- | ТД.Вывести(СтрокаДок); | + | |
- | КонецЦикла; | + | |
- | КонецЕсли; | + | |
- | КонецПроцедуры | + | |
- | </1c> | + | |
- | ++++ | + | |
- | ++++Пример вызова XML | + | |
| | | | ||
- | <file xml createTakeAssembly2.xml> | + | |
+ | <code xml createTakeAssembly2.xml> | ||
<?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/"> | ||
Строка 1220: | Строка 947: | ||
</soap-env:Body> | </soap-env:Body> | ||
</soap-env:Envelope> | </soap-env:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
++++Пример ответа XML | ++++Пример ответа XML | ||
| | | | ||
- | <file xml resposeCreateTakeAssembly2.xml> | + | |
+ | <code xml resposeCreateTakeAssembly2.xml> | ||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap:Body> | <soap:Body> | ||
Строка 1368: | Строка 1097: | ||
</soap:Body> | </soap:Body> | ||
</soap:Envelope> | </soap:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
- | ==== ЗарегистрироватьОтгрузку==== | + | ==== ЗарегистрироватьОтгрузку ==== |
++++Описание | ++++Описание | ||
| | | | ||
- | **Назначение:** Сервис предназначен для регистрации документа отгрузки связанного с передаваемым заказом в АСП.Сборка. | + | |
+ | **Назначение:** Сервис предназначен для регистрации документа отгрузки связанного с передаваемым заказом в АСП.Склад WMS. | ||
**Параметры:** | **Параметры:** | ||
+ | |||
* Документ (Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка#документ|Документ]]); | * Документ (Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка#документ|Документ]]); | ||
- | **Возвращаемое значение:** | + | |
- | * Результат регистрации документа отгрузки в АСП.Сборка. | + | **Возвращаемое значение:** |
+ | |||
+ | * Результат регистрации документа отгрузки в АСП.Склад WMS. | ||
++++ | ++++ | ||
+ | |||
++++Пример вызова 1C | ++++Пример вызова 1C | ||
| | | | ||
+ | |||
<1c> | <1c> | ||
- | &НаСервере | + | |
- | Процедура ЗарегистрироватьОтгрузку(ДокЗаказ) | + | &НаСервере Процедура ЗарегистрироватьОтгрузку(ДокЗаказ) Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; хДокумент = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"Документ")); хДокумент.Номер = ДокЗаказ.Номер; хДокумент.Дата = ДокЗаказ.Дата; Результат = Прокси.ЗарегистрироватьОтгрузку(хДокумент); Сообщить(Результат); КонецПроцедуры </1c>++++++++Пример вызова XML |
- | Прокси = ПолучитьПрокси(); | + | |
- | Фабрика = Прокси.ФабрикаXDTO; | + | |
- | хДокумент = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"Документ")); | + | |
- | хДокумент.Номер = ДокЗаказ.Номер; | + | |
- | хДокумент.Дата = ДокЗаказ.Дата; | + | |
- | + | ||
- | Результат = Прокси.ЗарегистрироватьОтгрузку(хДокумент); | + | |
- | Сообщить(Результат); | + | |
- | КонецПроцедуры | + | |
- | </1c> | + | |
- | ++++ | + | |
- | ++++Пример вызова XML | + | |
| | | | ||
- | <file xml createTakeDocuments.xml> | + | |
+ | <code xml createTakeDocuments.xml> | ||
<?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/"> | ||
Строка 1411: | Строка 1138: | ||
</soap-env:Body> | </soap-env:Body> | ||
</soap-env:Envelope> | </soap-env:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
+ | ==== ПолучитьДокументСборки ==== | ||
- | ==== ПолучитьДокументСборки==== | ||
++++Описание | ++++Описание | ||
| | | | ||
- | **Назначение:** Сервис предназначен для получения документов по типу документа из АСП.Сборка. | + | |
+ | **Назначение:** Сервис предназначен для получения документов по типу документа из АСП.Склад WMS. | ||
**Параметры:** | **Параметры:** | ||
- | *ТипДокумента(Тип: string) - тип документа по которому определяется список получаемых документов. | + | |
- | **Возвращаемое значение:** | + | * ТипДокумента(Тип: string) - тип документа по которому определяется список получаемых документов. |
- | * [[3_сборка:сборка_выгрузка:описание_типов_сборка|ОтветСервиса]] - структура, содержащая массив результатов получения документов из АСП.Сборка. | + | |
+ | **Возвращаемое значение:** | ||
+ | |||
+ | * [[3_сборка:сборка_выгрузка:описание_типов_сборка|ОтветСервиса]] - структура, содержащая массив результатов получения документов из АСП.Склад WMS. | ||
++++ | ++++ | ||
+ | |||
++++Пример вызова 1C | ++++Пример вызова 1C | ||
| | | | ||
+ | |||
<1c> | <1c> | ||
- | &НаСервере | + | |
- | Процедура ВернутьДокументыИзСборщика(ДокументыСборщика) | + | &НаСервере Процедура ВернутьДокументыИзСборщика(ДокументыСборщика) Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов")); ДокументыСборщика = ?(Найти(ТекущееСоответствие.Шлюз,"Заказ") = 0,ТекущееСоответствие.Шлюз,"ЗаказНаСборку"); Результат = Прокси.ПолучитьДокументСборки(ДокументыСборщика); Если Результат <> Неопределено Тогда Если Найти(ДокументыСборщика,"ЗаказНаСборку") > 0 Тогда КоличествоЗагруженно = ВернутьЗаказыНаСборку(Результат,СтрокаДок,СписокДокументов,ТекущееСоответствие); ИначеЕсли Найти(ДокументыСборщика,"Перемещение") > 0 Тогда КоличествоЗагруженно = ВернутьПеремещение(Результат,СтрокаДок,ТекущееСоответствие); Иначе Сообщить("Данный документ не настроен для возврата в базу"); Возврат; КонецЕсли; КонецЕсли; Сообщить("Загружено документов: "+Строка(КоличествоЗагруженно)); КонецПроцедуры </1c>++++++++Пример вызова XML |
- | Прокси = ПолучитьПрокси(); | + | |
- | Фабрика = Прокси.ФабрикаXDTO; | + | |
- | СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов")); | + | |
- | ДокументыСборщика = ?(Найти(ТекущееСоответствие.Шлюз,"Заказ") = 0,ТекущееСоответствие.Шлюз,"ЗаказНаСборку"); | + | |
- | + | ||
- | Результат = Прокси.ПолучитьДокументСборки(ДокументыСборщика); | + | |
- | Если Результат <> Неопределено Тогда | + | |
- | Если Найти(ДокументыСборщика,"ЗаказНаСборку") > 0 Тогда | + | |
- | КоличествоЗагруженно = ВернутьЗаказыНаСборку(Результат,СтрокаДок,СписокДокументов,ТекущееСоответствие); | + | |
- | ИначеЕсли Найти(ДокументыСборщика,"Перемещение") > 0 Тогда | + | |
- | КоличествоЗагруженно = ВернутьПеремещение(Результат,СтрокаДок,ТекущееСоответствие); | + | |
- | Иначе | + | |
- | Сообщить("Данный документ не настроен для возврата в базу"); | + | |
- | Возврат; | + | |
- | КонецЕсли; | + | |
- | КонецЕсли; | + | |
- | Сообщить("Загружено документов: "+Строка(КоличествоЗагруженно)); | + | |
- | КонецПроцедуры | + | |
- | </1c> | + | |
- | ++++ | + | |
- | ++++Пример вызова XML | + | |
| | | | ||
- | <file xml createTakeDocuments.xml> | + | |
+ | <code xml createTakeDocuments.xml> | ||
<?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/"> | ||
Строка 1461: | Строка 1176: | ||
</soap-env:Body> | </soap-env:Body> | ||
</soap-env:Envelope> | </soap-env:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
++++Пример ответа XML | ++++Пример ответа XML | ||
| | | | ||
- | <file xml resposeCreateTakeDocuments.xml> | + | |
+ | <code xml resposeCreateTakeDocuments.xml> | ||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap:Body> | <soap:Body> | ||
Строка 1653: | Строка 1370: | ||
</soap:Body> | </soap:Body> | ||
</soap:Envelope> | </soap:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
- | ==== ПолучитьДокументСборки2==== | + | ==== ПолучитьДокументСборки2 ==== |
++++Описание | ++++Описание | ||
| | | | ||
- | **Назначение:** Сервис предназначен для получения документов сборки по типу документа которые зарегистрированы планом обмена из АСП.Сборка. | + | |
+ | **Назначение:** Сервис предназначен для получения документов сборки по типу документа которые зарегистрированы планом обмена из АСП.Склад WMS. | ||
**Параметры:** | **Параметры:** | ||
- | *ТипДокумента(Тип: string) - тип документа по которому определяется список получаемых документов. | + | |
- | *КодУзла(Тип: string) - код узла плана обмена "УчетнаяСистема" в котором регистрируются изменения документов. | + | * ТипДокумента(Тип: string) - тип документа по которому определяется список получаемых документов. |
- | **Возвращаемое значение:** | + | * КодУзла(Тип: string) - код узла плана обмена "УчетнаяСистема" в котором регистрируются изменения документов. |
- | * [[3_сборка:сборка_выгрузка:описание_типов_сборка|ОтветСервиса]] - структура, содержащая массив результатов получения документов из АСП.Сборка. | + | |
+ | **Возвращаемое значение:** | ||
+ | |||
+ | * [[3_сборка:сборка_выгрузка:описание_типов_сборка|ОтветСервиса]] - структура, содержащая массив результатов получения документов из АСП.Склад WMS. | ||
++++ | ++++ | ||
+ | |||
++++Пример вызова 1C | ++++Пример вызова 1C | ||
| | | | ||
+ | |||
<1c> | <1c> | ||
- | &НаСервере | + | |
- | Процедура ВернутьДокументыИзСборщика2(ДокументыСборщика) | + | &НаСервере Процедура ВернутьДокументыИзСборщика2(ДокументыСборщика) Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов")); ДокументыСборщика = ?(Найти(ТекущееСоответствие.Шлюз,"Заказ") = 0,ТекущееСоответствие.Шлюз,"ЗаказНаСборку"); Результат = Прокси.ПолучитьДокументСборки(ДокументыСборщика,"П6"); Если Результат <> Неопределено Тогда Если Найти(ДокументыСборщика,"ЗаказНаСборку") > 0 Тогда КоличествоЗагруженно = ВернутьЗаказыНаСборку(Результат,СтрокаДок,СписокДокументов,ТекущееСоответствие); ИначеЕсли Найти(ДокументыСборщика,"Перемещение") > 0 Тогда КоличествоЗагруженно = ВернутьПеремещение(Результат,СтрокаДок,ТекущееСоответствие); Иначе Сообщить("Данный документ не настроен для возврата в базу"); Возврат; КонецЕсли; КонецЕсли; Сообщить("Загружено документов: "+Строка(КоличествоЗагруженно)); КонецПроцедуры </1c>++++++++Пример вызова XML |
- | Прокси = ПолучитьПрокси(); | + | |
- | Фабрика = Прокси.ФабрикаXDTO; | + | |
- | СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов")); | + | |
- | ДокументыСборщика = ?(Найти(ТекущееСоответствие.Шлюз,"Заказ") = 0,ТекущееСоответствие.Шлюз,"ЗаказНаСборку"); | + | |
- | + | ||
- | Результат = Прокси.ПолучитьДокументСборки(ДокументыСборщика,"П6"); | + | |
- | Если Результат <> Неопределено Тогда | + | |
- | Если Найти(ДокументыСборщика,"ЗаказНаСборку") > 0 Тогда | + | |
- | КоличествоЗагруженно = ВернутьЗаказыНаСборку(Результат,СтрокаДок,СписокДокументов,ТекущееСоответствие); | + | |
- | ИначеЕсли Найти(ДокументыСборщика,"Перемещение") > 0 Тогда | + | |
- | КоличествоЗагруженно = ВернутьПеремещение(Результат,СтрокаДок,ТекущееСоответствие); | + | |
- | Иначе | + | |
- | Сообщить("Данный документ не настроен для возврата в базу"); | + | |
- | Возврат; | + | |
- | КонецЕсли; | + | |
- | КонецЕсли; | + | |
- | Сообщить("Загружено документов: "+Строка(КоличествоЗагруженно)); | + | |
- | КонецПроцедуры | + | |
- | </1c> | + | |
- | ++++ | + | |
- | ++++Пример вызова XML | + | |
| | | | ||
- | <file xml createTakeDocuments2.xml> | + | |
+ | <code xml createTakeDocuments2.xml> | ||
<?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/"> | ||
Строка 1704: | Строка 1410: | ||
</soap-env:Body> | </soap-env:Body> | ||
</soap-env:Envelope> | </soap-env:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
++++Пример ответа XML | ++++Пример ответа XML | ||
| | | | ||
- | <file xml resposeCreateTakeDocuments2.xml> | + | |
+ | <code xml resposeCreateTakeDocuments2.xml> | ||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap:Body> | <soap:Body> | ||
Строка 1848: | Строка 1556: | ||
</soap:Body> | </soap:Body> | ||
</soap:Envelope> | </soap:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
- | ==== ПолучитьМобильныеУстройства==== | + | ==== ПолучитьМобильныеУстройства ==== |
++++Описание | ++++Описание | ||
| | | | ||
- | **Назначение:** Сервис предназначен для получения активных мобильных устройств из АСП.Сборка. | + | |
+ | **Назначение:** Сервис предназначен для получения активных мобильных устройств из АСП.Склад WMS. | ||
**Параметры:** | **Параметры:** | ||
- | **Возвращаемое значение:** | + | **Возвращаемое значение:** |
- | * [[3_сборка:сборка_выгрузка:описание_типов_сборка|МобильныеУстройства]] - структура, содержащая массив мобильных устройств полученных из АСП.Сборка. | + | |
+ | * [[3_сборка:сборка_выгрузка:описание_типов_сборка|МобильныеУстройства]] - структура, содержащая массив мобильных устройств полученных из АСП.Склад WMS. | ||
++++ | ++++ | ||
+ | |||
++++Пример вызова 1C | ++++Пример вызова 1C | ||
| | | | ||
+ | |||
<1c> | <1c> | ||
- | &НаСервере | + | |
- | Процедура СформироватьСписокМобУстройства() | + | &НаСервере Процедура СформироватьСписокМобУстройства() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; МобУстройства = Прокси.ПолучитьМобильныеУстройства(); ЭлементыФормы.МобильныеУстройства.СписокВыбора.Очистить(); Для Каждого Стр Из МобУстройства.МобильноеУстройство Цикл ЭлементыФормы.МобильныеУстройства.СписокВыбора.Добавить(Стр.Наименование + " :"+ Стр.Код); КонецЦикла; КонецПроцедуры </1c>++++++++Пример вызова XML |
- | Прокси = ПолучитьПрокси(); | + | |
- | Фабрика = Прокси.ФабрикаXDTO; | + | |
- | МобУстройства = Прокси.ПолучитьМобильныеУстройства(); | + | |
- | + | ||
- | ЭлементыФормы.МобильныеУстройства.СписокВыбора.Очистить(); | + | |
- | Для Каждого Стр Из МобУстройства.МобильноеУстройство Цикл | + | |
- | ЭлементыФормы.МобильныеУстройства.СписокВыбора.Добавить(Стр.Наименование + " :"+ Стр.Код); | + | |
- | КонецЦикла; | + | |
- | КонецПроцедуры | + | |
- | </1c> | + | |
- | ++++ | + | |
- | ++++Пример вызова XML | + | |
| | | | ||
- | <file xml createTakeDevices.xml> | + | |
+ | <code xml createTakeDevices.xml> | ||
<?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/"> | ||
Строка 1888: | Строка 1592: | ||
</soap-env:Body> | </soap-env:Body> | ||
</soap-env:Envelope> | </soap-env:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
++++Пример ответа XML | ++++Пример ответа XML | ||
| | | | ||
- | <file xml resposeCreateTakeDevices.xml> | + | |
+ | <code xml resposeCreateTakeDevices.xml> | ||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap:Body> | <soap:Body> | ||
Строка 1920: | Строка 1626: | ||
</soap:Body> | </soap:Body> | ||
</soap:Envelope> | </soap:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
- | ==== УстановитьСтатусВыгружен==== | + | ==== УстановитьСтатусВыгружен ==== |
++++Описание | ++++Описание | ||
| | | | ||
- | **Назначение:** Сервис предназначен для установки признака "Выгружен" в АСП.Сборка для успешно выгруженных оттуда документов. | + | |
+ | **Назначение:** Сервис предназначен для установки признака "Выгружен" в АСП.Склад WMS для успешно выгруженных оттуда документов. | ||
**Параметры:** | **Параметры:** | ||
+ | |||
* СписокДокументов(Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка#Документ|СписокДокументов]]) - структура, содержащая массив обрабатываемых документов; | * СписокДокументов(Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка#Документ|СписокДокументов]]) - структура, содержащая массив обрабатываемых документов; | ||
- | **Возвращаемое значение:** | + | |
+ | **Возвращаемое значение:** | ||
* Число успешно перезаписанных документов с установленным признаком "Выгружен". | * Число успешно перезаписанных документов с установленным признаком "Выгружен". | ||
+ | |||
++++ | ++++ | ||
+ | |||
++++Пример вызова 1C | ++++Пример вызова 1C | ||
| | | | ||
+ | |||
<1c> | <1c> | ||
- | &НаСервере | + | |
- | Процедура УстановитьСтатусВыгружен() | + | &НаСервере Процедура УстановитьСтатусВыгружен() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"СписокДокументов")); Для Каждого Стр Из ТаблицаДок Цикл Если НЕ Стр.Выбран Тогда Продолжить; КонецЕсли; Док = СформироватьДокумент(Стр.Ссылка, Фабрика); Если Док <> Неопределено Тогда СписокДокументов.МассивДокументов.Добавить(Док); КонецЕсли; КонецЦикла; Выгружено = Прокси.УстановитьСтатусВыгружен(СписокДокументов); Сообщить("Документов в статусе выгруженно: "+Строка(Выгружено)); КонецПроцедуры </1c>++++++++Пример вызова XML |
- | Прокси = ПолучитьПрокси(); | + | |
- | Фабрика = Прокси.ФабрикаXDTO; | + | |
- | СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"СписокДокументов")); | + | |
- | + | ||
- | Для Каждого Стр Из ТаблицаДок Цикл | + | |
- | Если НЕ Стр.Выбран Тогда | + | |
- | Продолжить; | + | |
- | КонецЕсли; | + | |
- | Док = СформироватьДокумент(Стр.Ссылка, Фабрика); | + | |
- | Если Док <> Неопределено Тогда | + | |
- | СписокДокументов.МассивДокументов.Добавить(Док); | + | |
- | КонецЕсли; | + | |
- | КонецЦикла; | + | |
- | Выгружено = Прокси.УстановитьСтатусВыгружен(СписокДокументов); | + | |
- | Сообщить("Документов в статусе выгруженно: "+Строка(Выгружено)); | + | |
- | КонецПроцедуры | + | |
- | </1c> | + | |
- | ++++ | + | |
- | ++++Пример вызова XML | + | |
| | | | ||
- | <file xml createMakeTick.xml> | + | |
+ | <code xml createMakeTick.xml> | ||
<?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/"> | ||
Строка 2134: | Строка 1831: | ||
</soap-env:Body> | </soap-env:Body> | ||
</soap-env:Envelope> | </soap-env:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
++++Пример ответа XML | ++++Пример ответа XML | ||
| | | | ||
- | <file xml resposeCreateMakeTick.xml> | + | |
+ | <code xml resposeCreateMakeTick.xml> | ||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> | ||
<soap:Body> | <soap:Body> | ||
Строка 2148: | Строка 1847: | ||
</soap:Body> | </soap:Body> | ||
</soap:Envelope> | </soap:Envelope> | ||
- | </file> | + | </code> |
++++ | ++++ | ||
- | ==== ПолучитьНастройкиОбработки==== | + | ==== ПолучитьНастройкиОбработки ==== |
++++Описание | ++++Описание | ||
| | | | ||
- | **Назначение:** Сервис предназначен для получение настроек правил обработки выгрузки в АСП.Сборка. | + | |
+ | **Назначение:** Сервис предназначен для получение настроек правил обработки выгрузки в АСП.Склад WMS. | ||
**Параметры:** | **Параметры:** | ||
- | **Возвращаемое значение:** | + | **Возвращаемое значение:** |
- | * НастройкиОбработки(Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка|НастройкиОбработки]]) - Структура, в которой содержатся скомпанованные настройки обработки по вкладкам. | + | |
+ | * НастройкиОбработки(Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка|НастройкиОбработки]]) - Структура, в которой содержатся скомпонованные настройки обработки по вкладкам. | ||
++++ | ++++ | ||
+ | |||
++++Пример вызова 1C | ++++Пример вызова 1C | ||
| | | | ||
+ | |||
<1c> | <1c> | ||
- | &НаСервере | ||
- | Процедура ПроверитьПодключениеНаСервере() | ||
- | Прокси = ПолучитьПрокси(); | ||
- | Результат = Прокси.ПолучитьНастройкиОбработки(); | ||
- | ТаблицыНастроек = "СоответствиеДокументов,СоответствиеНом,СоответствиеКонтрагентов,СоответствиеОрганизации,СоответствиеСкладов,ВидыКиХС,ВидыКиПО"; | ||
- | Для Каждого Имя Из СтрРазделить(ТаблицыНастроек,",") Цикл | ||
- | Если ЗначениеЗаполнено(Результат[Имя]) Тогда | ||
- | ТекНастройки.Вставить(Имя,Результат[Имя]); | ||
- | КонецЕсли; | ||
- | КонецЦикла; | ||
- | КонецПроцедуры | ||
- | </1c> | ||
- | ++++ | ||
- | ==== ЗагрузитьНастройкиОбработки==== | ||
- | ++++Описание | ||
- | | | ||
- | **Назначение:** Сервис предназначен для сохранения настроек правил для обработки выгрузки в АСП.Сборка. | ||
- | **Параметры:** | + | &НаСервере Процедура ПроверитьПодключениеНаСервере() Прокси = ПолучитьПрокси(); Результат = Прокси.ПолучитьНастройкиОбработки(); ТаблицыНастроек = "СоответствиеДокументов,СоответствиеНом,СоответствиеКонтрагентов,СоответствиеОрганизации,СоответствиеСкладов,ВидыКиХС,ВидыКиПО"; Для Каждого Имя Из СтрРазделить(ТаблицыНастроек,",") Цикл Если ЗначениеЗаполнено(Результат[Имя]) Тогда ТекНастройки.Вставить(Имя,Результат[Имя]); КонецЕсли; КонецЦикла; КонецПроцедуры </1c>++++ЗагрузитьНастройкиОбработки++++Описание |
+ | |**Назначение:** Сервис предназначен для сохранения настроек правил для обработки выгрузки в АСП.Склад WMS.**Параметры:** | ||
* Настройки(Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка|НастройкиОбработки]]) - Структура, в которой содержатся скомпонованные настройки обработки по вкладкам. | * Настройки(Тип: [[3_сборка:сборка_выгрузка:описание_типов_сборка|НастройкиОбработки]]) - Структура, в которой содержатся скомпонованные настройки обработки по вкладкам. | ||
- | **Возвращаемое значение:** | + | **Возвращаемое значение:** |
* Если настройки загружены успешно, возвращает значение "Истина". | * Если настройки загружены успешно, возвращает значение "Истина". | ||
+ | |||
++++ | ++++ | ||
+ | |||
++++Пример вызова 1C | ++++Пример вызова 1C | ||
| | | | ||
+ | |||
<1c> | <1c> | ||
+ | |||
&НаСервере | &НаСервере | ||
Процедура ПроверитьПодключениеНаСервере() | Процедура ПроверитьПодключениеНаСервере() | ||
Строка 2201: | Строка 1897: | ||
КонецЕсли; | КонецЕсли; | ||
КонецПроцедуры | КонецПроцедуры | ||
- | </1c> | + | </1c>++++ |
- | ++++ | + | |