Описание сервисов сборка: различия между версиями

Нет описания правки
Нет описания правки
 
Строка 24: Строка 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>
<soap-env:Body>
        <ns0:ПроверитьПодключение xmlns:ns0="http://gateway.aspcom.ru">
<ns0:ПроверитьПодключение xmlns:ns0="http://gateway.aspcom.ru">
           
 
        </ns0:ПроверитьПодключение>
</ns0:ПроверитьПодключение>
    </soap-env:Body>
</soap-env:Body>
</soap-env:Envelope>
</soap-env:Envelope>
</syntaxhighlight>
</syntaxhighlight>
Строка 79: Строка 79:
<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>
<soap-env:Body>
        <ns0:СоздатьНоменклатуру xmlns:ns0="http://gateway.aspcom.ru">
<ns0:СоздатьНоменклатуру xmlns:ns0="http://gateway.aspcom.ru">
            <ns0:Номенклатура>
<ns0:Номенклатура>
<ns0:Код>test_0002695</ns0:Код> <!--Если выгрузка номенклатуры в сборку осуществлялась по коду-->
<ns0:Код>test_0002695</ns0:Код> <!--Если выгрузка номенклатуры в сборку осуществлялась по коду-->
<!--<ns0:КодЗагрузки></ns0:КодЗагрузки>-->  <!--Если выгрузка номенклатуры в сборку осуществлялась по ПОЛНОМУ коду-->
<!--<ns0:КодЗагрузки></ns0:КодЗагрузки>-->  <!--Если выгрузка номенклатуры в сборку осуществлялась по ПОЛНОМУ коду-->
Строка 130: Строка 130:
</ns0:ТЧGtin>
</ns0:ТЧGtin>
</ns0:Номенклатура>
</ns0:Номенклатура>
        </ns0:СоздатьНоменклатуру>
</ns0:СоздатьНоменклатуру>
    </soap-env:Body>
</soap-env:Body>
</soap-env:Envelope>
</soap-env:Envelope>
</syntaxhighlight>
</syntaxhighlight>
Строка 172: Строка 172:
<syntaxhighlight lang='1c'>
<syntaxhighlight lang='1c'>


Процедура ВыгрузитьКонтрагентаНаСервере()     Прокси = ПолучитьПрокси();     Фабрика = Прокси.ФабрикаXDTO;     Запрос = Новый Запрос;     Запрос.Текст =         "ВЫБРАТЬ         | Контрагенты.Ссылка         |ИЗ         | Справочник.Контрагенты КАК Контрагенты         |ГДЕ         | Контрагенты.Ссылка В ИЕРАРХИИ(&Контрагент)         | И НЕ Контрагенты.ЭтоГруппа";         Запрос.УстановитьПараметр("Контрагент", Контрагент);     Выборка = Запрос.Выполнить().Выбрать();         Пока Выборка.Следующий() Цикл        Контрагент = СформироватьКонтрагента(Выборка.Ссылка,Фабрика);         Если ТипЗнч(Контрагент) = Тип("Строка") Тогда            Сообщить(Контрагент);             Продолжить;         КонецЕсли;         Результат = Прокси.СоздатьКонтрагента(Контрагент);     КонецЦикла; КонецПроцедуры </syntaxhighlight>Пример вызова XML
Процедура ВыгрузитьКонтрагентаНаСервере()Прокси = ПолучитьПрокси();Фабрика = Прокси.ФабрикаXDTO;Запрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ| Контрагенты.Ссылка|ИЗ| Справочник.Контрагенты КАК Контрагенты|ГДЕ| Контрагенты.Ссылка В ИЕРАРХИИ(&Контрагент)| И НЕ Контрагенты.ЭтоГруппа";Запрос.УстановитьПараметр("Контрагент", Контрагент); Выборка = Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() ЦиклКонтрагент = СформироватьКонтрагента(Выборка.Ссылка,Фабрика);Если ТипЗнч(Контрагент) = Тип("Строка") ТогдаСообщить(Контрагент);Продолжить;КонецЕсли; Результат = Прокси.СоздатьКонтрагента(Контрагент);КонецЦикла; КонецПроцедуры </syntaxhighlight>Пример вызова XML
|
|


Строка 178: Строка 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>
<soap-env:Body>
        <ns0:СоздатьКонтрагента xmlns:ns0="http://gateway.aspcom.ru">
<ns0:СоздатьКонтрагента xmlns:ns0="http://gateway.aspcom.ru">
            <ns0:Контрагент>
<ns0:Контрагент>
<ns0:ИНН>222642678456</ns0:ИНН><!--Если выгрузка контрагента в сборку осуществлялась по ИНН-->
<ns0:ИНН>222642678456</ns0:ИНН><!--Если выгрузка контрагента в сборку осуществлялась по ИНН-->
<ns0:Наименование>Тест контрагент</ns0:Наименование>
<ns0:Наименование>Тест контрагент</ns0:Наименование>
<ns0:Код>000221</ns0:Код> <!--Если выгрузка контрагента в сборку осуществлялась по коду-->
<ns0:Код>000221</ns0:Код> <!--Если выгрузка контрагента в сборку осуществлялась по коду-->
</ns0:Контрагент>
</ns0:Контрагент>
        </ns0:СоздатьКонтрагента>
</ns0:СоздатьКонтрагента>
    </soap-env:Body>
</soap-env:Body>
</soap-env:Envelope>
</soap-env:Envelope>
</syntaxhighlight>
</syntaxhighlight>
Строка 228: Строка 228:
<syntaxhighlight lang='1c'>
<syntaxhighlight lang='1c'>


&НаСервере Процедура ВыгрузитьУпаковкуНаСервере()     Прокси = ПолучитьПрокси();     Фабрика = Прокси.ФабрикаXDTO;     Запрос = Новый Запрос;     Запрос.Текст =         "ВЫБРАТЬ         | Упаковки.Ссылка         |ИЗ         | Справочник.УпаковкиЕдиницыИзмерения КАК Упаковки;         Выборка = Запрос.Выполнить().Выбрать();         Пока Выборка.Следующий() Цикл        Упаковка = СформироватьУпаковку(Выборка.Ссылка,Фабрика);         Если ТипЗнч(Упаковка) = Тип("Строка") Тогда            Сообщить(Упаковка);             Продолжить;         КонецЕсли;         Результат = Прокси.СоздатьУпаковку(Упаковка);     КонецЦикла; КонецПроцедуры </syntaxhighlight>Пример вызова XML
&НаСервере Процедура ВыгрузитьУпаковкуНаСервере()Прокси = ПолучитьПрокси();Фабрика = Прокси.ФабрикаXDTO;Запрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ| Упаковки.Ссылка|ИЗ| Справочник.УпаковкиЕдиницыИзмерения КАК Упаковки; Выборка = Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() ЦиклУпаковка = СформироватьУпаковку(Выборка.Ссылка,Фабрика);Если ТипЗнч(Упаковка) = Тип("Строка") ТогдаСообщить(Упаковка);Продолжить;КонецЕсли; Результат = Прокси.СоздатьУпаковку(Упаковка);КонецЦикла; КонецПроцедуры </syntaxhighlight>Пример вызова XML
|
|


Строка 234: Строка 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>
<soap-env:Body>
        <ns0:СоздатьУпаковку xmlns:ns0="http://gateway.aspcom.ru">
<ns0:СоздатьУпаковку xmlns:ns0="http://gateway.aspcom.ru">
            <ns0:Упаковка>
<ns0:Упаковка>
<ns0:Код>000212</ns0:Код>
<ns0:Код>000212</ns0:Код>
<ns0:Наименование>Тест упаковка</ns0:Наименование>
<ns0:Наименование>Тест упаковка</ns0:Наименование>
<ns0:Объем>0.5</ns0:Объем>
<ns0:Объем>0.5</ns0:Объем>
    </ns0:Упаковка>
</ns0:Упаковка>
        </ns0:СоздатьУпаковку>
</ns0:СоздатьУпаковку>
    </soap-env:Body>
</soap-env:Body>
</soap-env:Envelope>
</soap-env:Envelope>
</syntaxhighlight>
</syntaxhighlight>
Строка 286: Строка 286:
<syntaxhighlight lang='1c'>
<syntaxhighlight lang='1c'>


Процедура ГрупповаяОбработкаДокументов() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов"));       хМобильноеУстройство = Неопределено; Если ЗначениеЗаполнено(МобильныеУстройства) Тогда МобУстройства = СтрРазбить(МобильныеУстройства,":"); хМобильноеУстройство = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"МобильноеУстройство")); хМобильноеУстройство.Наименование = МобУстройства[0]; хМобильноеУстройство.Код = МобУстройства[1]; КонецЕсли;  КоличествоВыгружено = 0; Для Каждого Стр Из ТаблицаДок Цикл Если НЕ Стр.Выбран Тогда Продолжить; КонецЕсли; Док = СформироватьДокумент(Стр.Ссылка, Фабрика); Если Док <> Неопределено Тогда  СписокДокументов.МассивДокументов.Добавить(Док); КоличествоВыгружено = КоличествоВыгружено + 1; КонецЕсли; КонецЦикла; Если СписокДокументов.МассивДокументов.Количество()>0 Тогда   ДанныеОтвета = Прокси.ЗагрузитьДокументы(СписокДокументов, Ложь, хМобильноеУстройство); Сообщить("Отправлено на выгрузку документов: "+КоличествоВыгружено); РазобратьОтвет(ДанныеОтвета); КонецЕсли; КонецПроцедуры </syntaxhighlight>Пример разбора ответа 1С
Процедура ГрупповаяОбработкаДокументов() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов")); хМобильноеУстройство = Неопределено; Если ЗначениеЗаполнено(МобильныеУстройства) Тогда МобУстройства = СтрРазбить(МобильныеУстройства,":"); хМобильноеУстройство = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"МобильноеУстройство")); хМобильноеУстройство.Наименование = МобУстройства[0]; хМобильноеУстройство.Код = МобУстройства[1]; КонецЕсли;  КоличествоВыгружено = 0; Для Каждого Стр Из ТаблицаДок Цикл Если НЕ Стр.Выбран Тогда Продолжить; КонецЕсли; Док = СформироватьДокумент(Стр.Ссылка, Фабрика); Если Док <> Неопределено Тогда  СписокДокументов.МассивДокументов.Добавить(Док); КоличествоВыгружено = КоличествоВыгружено + 1; КонецЕсли; КонецЦикла; Если СписокДокументов.МассивДокументов.Количество()>0 Тогда ДанныеОтвета = Прокси.ЗагрузитьДокументы(СписокДокументов, Ложь, хМобильноеУстройство); Сообщить("Отправлено на выгрузку документов: "+КоличествоВыгружено); РазобратьОтвет(ДанныеОтвета); КонецЕсли; КонецПроцедуры </syntaxhighlight>Пример разбора ответа 1С
|<syntaxhighlight lang='1c'>
|<syntaxhighlight lang='1c'>
Процедура РазобратьОтвет(ДанныеОтвета) ТаблицаРезультатов = Новый ТаблицаЗначений; ТаблицаРезультатов.Колонки.Добавить("ТипДокумента"); ТаблицаРезультатов.Колонки.Добавить("Документ"); ТаблицаРезультатов.Колонки.Добавить("Результат"); Для Каждого Ответ Из ДанныеОтвета.МассивРезультатов Цикл         НовРез = ТаблицаРезультатов.Добавить(); НовРез.ТипДокумента = ТекущееСоответствие.Сборка; НовРез.Документ = НайтиДокумент(Ответ.Документ, ТекущееСоответствие); НовРез.Результат = Ответ.РезультатТранзакции; КонецЦикла; ТаблицаРезультатов.Сортировать("ТипДокумента"); Обработка = РеквизитФормыВЗначение("Объект"); Макет = Обработка.ПолучитьМакет("Макет"); ШапкаТД = Макет.ПолучитьОбласть("Шапка"); ГруппаДок = Макет.ПолучитьОбласть("ГруппаДокументов"); СтрокаДок = Макет.ПолучитьОбласть("СтрокаДокумент"); ТД.Очистить(); ШапкаТД.Параметры.ТипОбъекта = "Документ"; ТД.Вывести(ШапкаТД); ТД.НачатьАвтогруппировкуСтрок(); ТекТип = ""; ПараметрыОтбора = Новый Структура; ПараметрыОтбора.Вставить("ТипДокумента"); Для Каждого Рез Из ТаблицаРезультатов Цикл Если ТекТип <> Рез.ТипДокумента Тогда ТекТип = Рез.ТипДокумента; ГруппаДок.Параметры.Заполнить(Рез); ГруппаДок.Параметры.ТипДокумента = ТипВСборке(Рез.ТипДокумента); ПараметрыОтбора.ТипДокумента = Рез.ТипДокумента; ГруппаДок.Параметры.КоличествоЗагружено = ТаблицаРезультатов.НайтиСтроки(ПараметрыОтбора).Количество(); ТД.Вывести(ГруппаДок,1); КонецЕсли; СтрокаДок.Параметры.Заполнить(Рез); ТД.Вывести(СтрокаДок); КонецЦикла; ТД.ЗакончитьАвтогруппировкуСтрок(); ТД.ТолькоПросмотр = Истина; КонецПроцедуры  Функция НайтиДокумент(ДокументХ, ТипДокументаСтрокой) Запрос = Новый Запрос; Запрос.Текст =  "ВЫБРАТЬ | ТипДок.Ссылка |ИЗ | Документ.#ТипДок# КАК ТипДок |ГДЕ | ТипДок.Номер ПОДОБНО &Номер | И НАЧАЛОПЕРИОДА(ТипДок.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)"; Запрос.УстановитьПараметр("Дата", ДокументХ.Дата); Запрос.УстановитьПараметр("Номер", "%"+СокрЛП(ДокументХ.Номер)+"%"); Запрос.Текст = СтрЗаменить(Запрос.Текст,"#ТипДок#",СтрЗаменить(ТипДокументаСтрокой," ","")); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда  Возврат Выборка.Ссылка; Иначе  Возврат Документы[СтрЗаменить(ТипДокументаСтрокой," ","")].ПустаяСсылка(); КонецЕсли; КонецФункции  </syntaxhighlight>Пример вызова XML
Процедура РазобратьОтвет(ДанныеОтвета) ТаблицаРезультатов = Новый ТаблицаЗначений; ТаблицаРезультатов.Колонки.Добавить("ТипДокумента"); ТаблицаРезультатов.Колонки.Добавить("Документ"); ТаблицаРезультатов.Колонки.Добавить("Результат"); Для Каждого Ответ Из ДанныеОтвета.МассивРезультатов Цикл НовРез = ТаблицаРезультатов.Добавить(); НовРез.ТипДокумента = ТекущееСоответствие.Сборка; НовРез.Документ = НайтиДокумент(Ответ.Документ, ТекущееСоответствие); НовРез.Результат = Ответ.РезультатТранзакции; КонецЦикла; ТаблицаРезультатов.Сортировать("ТипДокумента"); Обработка = РеквизитФормыВЗначение("Объект"); Макет = Обработка.ПолучитьМакет("Макет"); ШапкаТД = Макет.ПолучитьОбласть("Шапка"); ГруппаДок = Макет.ПолучитьОбласть("ГруппаДокументов"); СтрокаДок = Макет.ПолучитьОбласть("СтрокаДокумент"); ТД.Очистить(); ШапкаТД.Параметры.ТипОбъекта = "Документ"; ТД.Вывести(ШапкаТД); ТД.НачатьАвтогруппировкуСтрок(); ТекТип = ""; ПараметрыОтбора = Новый Структура; ПараметрыОтбора.Вставить("ТипДокумента"); Для Каждого Рез Из ТаблицаРезультатов Цикл Если ТекТип <> Рез.ТипДокумента Тогда ТекТип = Рез.ТипДокумента; ГруппаДок.Параметры.Заполнить(Рез); ГруппаДок.Параметры.ТипДокумента = ТипВСборке(Рез.ТипДокумента); ПараметрыОтбора.ТипДокумента = Рез.ТипДокумента; ГруппаДок.Параметры.КоличествоЗагружено = ТаблицаРезультатов.НайтиСтроки(ПараметрыОтбора).Количество(); ТД.Вывести(ГруппаДок,1); КонецЕсли; СтрокаДок.Параметры.Заполнить(Рез); ТД.Вывести(СтрокаДок); КонецЦикла; ТД.ЗакончитьАвтогруппировкуСтрок(); ТД.ТолькоПросмотр = Истина; КонецПроцедуры  Функция НайтиДокумент(ДокументХ, ТипДокументаСтрокой) Запрос = Новый Запрос; Запрос.Текст =  "ВЫБРАТЬ | ТипДок.Ссылка |ИЗ | Документ.#ТипДок# КАК ТипДок |ГДЕ | ТипДок.Номер ПОДОБНО &Номер | И НАЧАЛОПЕРИОДА(ТипДок.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ)"; Запрос.УстановитьПараметр("Дата", ДокументХ.Дата); Запрос.УстановитьПараметр("Номер", "%"+СокрЛП(ДокументХ.Номер)+"%"); Запрос.Текст = СтрЗаменить(Запрос.Текст,"#ТипДок#",СтрЗаменить(ТипДокументаСтрокой," ","")); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда  Возврат Выборка.Ссылка; Иначе  Возврат Документы[СтрЗаменить(ТипДокументаСтрокой," ","")].ПустаяСсылка(); КонецЕсли; КонецФункции  </syntaxhighlight>Пример вызова XML
|
|


Строка 294: Строка 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:ЗагрузитьДокументы xmlns:ns0="http://gateway.aspcom.ru">
<ns0:СписокДокументов>
<ns0:СписокДокументов>
<ns0:МассивДокументов>
<ns0:МассивДокументов>
Строка 468: Строка 468:
<ns0:Код>13c7487c-f6c3-9488-6d7a-4cb9ba61c394</ns0:Код>
<ns0:Код>13c7487c-f6c3-9488-6d7a-4cb9ba61c394</ns0:Код>
</ns0:МобильноеУстройство>
</ns0:МобильноеУстройство>
        </ns0:ЗагрузитьДокументы>
</ns0:ЗагрузитьДокументы>
    </soap-env:Body>
</soap-env:Body>
</soap-env:Envelope>
</soap-env:Envelope>
</syntaxhighlight>
</syntaxhighlight>
Строка 683: Строка 683:
<syntaxhighlight lang='1c'>
<syntaxhighlight lang='1c'>


&НаСервере Процедура ВернутьИзСборщика() Прокси = ПолучитьПрокси(); Результат = Прокси.ПолучитьДокументыЗаказНаСборку(); Если Результат<> Неопределено Тогда КоличествоЗагруженно = 0; Для каждого ДокХДТО Из Результат.МассивРезультатов Цикл Документ = Документы.АСП_ЗаказНаСборку.НайтиПоНомеру(ДокХДТО.Документ.Номер, ДокХДТО.Документ.Дата); Если Документ.Пустая() Тогда ДокСсылка = Документы.АСП_ЗаказНаСборку.СоздатьДокумент(); ДокСсылка.Дата = ДокХДТО.Документ.Дата; ДокСсылка.Номер = ДокХДТО.Документ.Номер; Иначе ДокСсылка = Документ.ПолучитьОбъект(); КонецЕсли; ДокСсылка.Склад = Справочники.Склады.НайтиПоКоду(СокрЛП(ДокХДТО.Документ.Склад.Код)); Если ПустаяСтрока(ДокХДТО.Документ.Организация.ИНН) Тогда  ДокСсылка.Организация = Справочники.Организации.НайтиПоКоду(ДокХДТО.Документ.Организация.Код); Иначе  ДокСсылка.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", ДокХДТО.Документ.Организация.ИНН); КонецЕсли; СообщениеСтатуса = ""; ПеречСтатус = ПолучитьСтатусСборки(ДокХДТО.Документ.Статус);  Если ТипЗнч(ПеречСтатус) <> Тип("Строка") Тогда ДокСсылка.СтатусСборки = ПеречСтатус; Иначе СообщениеСтатуса = ("Документ №"+ ДокСсылка.Номер+ " загружен без статуса. "+ ПеречСтатус); КонецЕсли; ДокСсылка.Товары.Очистить(); Для каждого СтрокиТЧ Из ДокХДТО.Документ.Товары Цикл НовСтр = ДокСсылка.Товары.Добавить(); ЗаполнитьЗначенияСвойств(НовСтр,СтрокиТЧ); НовСтр.Номенклатура =  Справочники.Номенклатура.НайтиПоКоду(СокрЛП(СтрокиТЧ.Номенклатура.Код)); Если НовСтр.Номенклатура.Пустая() Тогда  Сообщить("Номенклатура по данному коду "+ СокрЛП(СтрокиТЧ.Номенклатура.Код)+ " не обнаружена"); Продолжить;  КонецЕсли; НовСтр.ЕдиницаИзмерения =  Справочники.ЕдиницыИзмерения.НайтиПоКоду(СокрЛП(СтрокиТЧ.Упаковка.КодЗагрузки)); НовСтр.Производитель =  Справочники.Организации.НайтиПоКоду(СокрЛП(СтрокиТЧ.Производитель.Код)); НомерЗаказаСборки = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Номер,СтрЗаменить(СтрокиТЧ.Заказ.Номер,"З_","")); ДатаЗаказаСборка  = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Дата,СтрокиТЧ.Заказ.Дата); НовСтр.Заказ   =  Документы[ТекущееСоответствие.База].НайтиПоНомеру(НомерЗаказаСборки, ДатаЗаказаСборка); Если Не ЗначениеЗаполнено(НовСтр.Заказ) Тогда Сообщить("Заказ не указан в заказе на сборку №"+ СокрЛП(ДокХДТО.Документ.Номер)); Продолжить; КонецЕсли;  Если НовСтр.Заказ <> Неопределено И Не НовСтр.Заказ.Пустая() Тогда УстановитьСтатус(НовСтр.Заказ,ДокСсылка.СтатусСборки); КонецЕсли; КонецЦикла; Если ДокСсылка.Товары.Количество()> 0 Тогда ДокСсылка.Записать(); КонецЕсли; Если Не ДокСсылка.Ссылка.Пустая() Тогда  КоличествоЗагруженно = КоличествоЗагруженно + 1; Если ДокХДТО.Документ <> Неопределено Тогда   СписокДокументов.МассивДокументов.Добавить(ДокХДТО.Документ); КонецЕсли; КонецЕсли; СтрокаДок.Параметры.Документ = Строка(ДокСсылка); СтрокаДок.Параметры.Результат = Строка(ДокХДТО.РезультатТранзакции) + " " + СообщениеСтатуса; ТД.Вывести(СтрокаДок); КонецЦикла; КонецЕсли; КонецПроцедуры </syntaxhighlight>Пример вызова XML
&НаСервере Процедура ВернутьИзСборщика() Прокси = ПолучитьПрокси(); Результат = Прокси.ПолучитьДокументыЗаказНаСборку(); Если Результат<> Неопределено Тогда КоличествоЗагруженно = 0; Для каждого ДокХДТО Из Результат.МассивРезультатов Цикл Документ = Документы.АСП_ЗаказНаСборку.НайтиПоНомеру(ДокХДТО.Документ.Номер, ДокХДТО.Документ.Дата); Если Документ.Пустая() Тогда ДокСсылка = Документы.АСП_ЗаказНаСборку.СоздатьДокумент(); ДокСсылка.Дата = ДокХДТО.Документ.Дата; ДокСсылка.Номер = ДокХДТО.Документ.Номер; Иначе ДокСсылка = Документ.ПолучитьОбъект(); КонецЕсли; ДокСсылка.Склад = Справочники.Склады.НайтиПоКоду(СокрЛП(ДокХДТО.Документ.Склад.Код)); Если ПустаяСтрока(ДокХДТО.Документ.Организация.ИНН) Тогда  ДокСсылка.Организация = Справочники.Организации.НайтиПоКоду(ДокХДТО.Документ.Организация.Код); Иначе  ДокСсылка.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", ДокХДТО.Документ.Организация.ИНН); КонецЕсли; СообщениеСтатуса = ""; ПеречСтатус = ПолучитьСтатусСборки(ДокХДТО.Документ.Статус);  Если ТипЗнч(ПеречСтатус) <> Тип("Строка") Тогда ДокСсылка.СтатусСборки = ПеречСтатус; Иначе СообщениеСтатуса = ("Документ №"+ ДокСсылка.Номер+ " загружен без статуса. "+ ПеречСтатус); КонецЕсли; ДокСсылка.Товары.Очистить(); Для каждого СтрокиТЧ Из ДокХДТО.Документ.Товары Цикл НовСтр = ДокСсылка.Товары.Добавить(); ЗаполнитьЗначенияСвойств(НовСтр,СтрокиТЧ); НовСтр.Номенклатура =  Справочники.Номенклатура.НайтиПоКоду(СокрЛП(СтрокиТЧ.Номенклатура.Код)); Если НовСтр.Номенклатура.Пустая() Тогда  Сообщить("Номенклатура по данному коду "+ СокрЛП(СтрокиТЧ.Номенклатура.Код)+ " не обнаружена"); Продолжить;  КонецЕсли; НовСтр.ЕдиницаИзмерения =  Справочники.ЕдиницыИзмерения.НайтиПоКоду(СокрЛП(СтрокиТЧ.Упаковка.КодЗагрузки)); НовСтр.Производитель =  Справочники.Организации.НайтиПоКоду(СокрЛП(СтрокиТЧ.Производитель.Код)); НомерЗаказаСборки = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Номер,СтрЗаменить(СтрокиТЧ.Заказ.Номер,"З_","")); ДатаЗаказаСборка  = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Дата,СтрокиТЧ.Заказ.Дата); НовСтр.Заказ   =  Документы[ТекущееСоответствие.База].НайтиПоНомеру(НомерЗаказаСборки, ДатаЗаказаСборка); Если Не ЗначениеЗаполнено(НовСтр.Заказ) Тогда Сообщить("Заказ не указан в заказе на сборку №"+ СокрЛП(ДокХДТО.Документ.Номер)); Продолжить; КонецЕсли;  Если НовСтр.Заказ <> Неопределено И Не НовСтр.Заказ.Пустая() Тогда УстановитьСтатус(НовСтр.Заказ,ДокСсылка.СтатусСборки); КонецЕсли; КонецЦикла; Если ДокСсылка.Товары.Количество()> 0 Тогда ДокСсылка.Записать(); КонецЕсли; Если Не ДокСсылка.Ссылка.Пустая() Тогда  КоличествоЗагруженно = КоличествоЗагруженно + 1; Если ДокХДТО.Документ <> Неопределено Тогда СписокДокументов.МассивДокументов.Добавить(ДокХДТО.Документ); КонецЕсли; КонецЕсли; СтрокаДок.Параметры.Документ = Строка(ДокСсылка); СтрокаДок.Параметры.Результат = Строка(ДокХДТО.РезультатТранзакции) + " " + СообщениеСтатуса; ТД.Вывести(СтрокаДок); КонецЦикла; КонецЕсли; КонецПроцедуры </syntaxhighlight>Пример вызова XML
|
|


Строка 689: Строка 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>
<soap-env:Body>
        <ns0:ПолучитьДокументыЗаказНаСборку xmlns:ns0="http://gateway.aspcom.ru">
<ns0:ПолучитьДокументыЗаказНаСборку xmlns:ns0="http://gateway.aspcom.ru">
       
 
</ns0:ПолучитьДокументыЗаказНаСборку>
</ns0:ПолучитьДокументыЗаказНаСборку>
    </soap-env:Body>
</soap-env:Body>
</soap-env:Envelope>
</soap-env:Envelope>
</syntaxhighlight>
</syntaxhighlight>
Строка 857: Строка 857:
<m:Статус>Частичная</m:Статус>
<m:Статус>Частичная</m:Статус>
</m:Документ>
</m:Документ>
<m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку №21          от 09.02.2021 не заполнена табличная часть
<m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку №21от 09.02.2021 не заполнена табличная часть
</m:РезультатТранзакции>
</m:РезультатТранзакции>
</m:МассивРезультатов>
</m:МассивРезультатов>
Строка 875: Строка 875:
<m:Статус>Частичная</m:Статус>
<m:Статус>Частичная</m:Статус>
</m:Документ>
</m:Документ>
<m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку №22          от 09.02.2021 не заполнена табличная часть
<m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку №22от 09.02.2021 не заполнена табличная часть
</m:РезультатТранзакции>
</m:РезультатТранзакции>
</m:МассивРезультатов>
</m:МассивРезультатов>
Строка 893: Строка 893:
<m:Статус>Частичная</m:Статус>
<m:Статус>Частичная</m:Статус>
</m:Документ>
</m:Документ>
<m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку №23          от 09.02.2021 не заполнена табличная часть
<m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку №23от 09.02.2021 не заполнена табличная часть
</m:РезультатТранзакции>
</m:РезультатТранзакции>
</m:МассивРезультатов>
</m:МассивРезультатов>
Строка 924: Строка 924:
<syntaxhighlight lang='1c'>
<syntaxhighlight lang='1c'>


&НаСервере Процедура ВернутьИзСборщика2() Прокси = ПолучитьПрокси(); Результат = Прокси.ПолучитьДокументыЗаказНаСборку2("П6"); Если Результат<> Неопределено Тогда КоличествоЗагруженно = 0; Для каждого ДокХДТО Из Результат.МассивРезультатов Цикл Документ = Документы.АСП_ЗаказНаСборку.НайтиПоНомеру(ДокХДТО.Документ.Номер, ДокХДТО.Документ.Дата); Если Документ.Пустая() Тогда ДокСсылка = Документы.АСП_ЗаказНаСборку.СоздатьДокумент(); ДокСсылка.Дата = ДокХДТО.Документ.Дата; ДокСсылка.Номер = ДокХДТО.Документ.Номер; Иначе ДокСсылка = Документ.ПолучитьОбъект(); КонецЕсли; ДокСсылка.Склад = Справочники.Склады.НайтиПоКоду(СокрЛП(ДокХДТО.Документ.Склад.Код)); Если ПустаяСтрока(ДокХДТО.Документ.Организация.ИНН) Тогда  ДокСсылка.Организация = Справочники.Организации.НайтиПоКоду(ДокХДТО.Документ.Организация.Код); Иначе  ДокСсылка.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", ДокХДТО.Документ.Организация.ИНН); КонецЕсли; СообщениеСтатуса = ""; ПеречСтатус = ПолучитьСтатусСборки(ДокХДТО.Документ.Статус);  Если ТипЗнч(ПеречСтатус) <> Тип("Строка") Тогда ДокСсылка.СтатусСборки = ПеречСтатус; Иначе СообщениеСтатуса = ("Документ №"+ ДокСсылка.Номер+ " загружен без статуса. "+ ПеречСтатус); КонецЕсли; ДокСсылка.Товары.Очистить(); Для каждого СтрокиТЧ Из ДокХДТО.Документ.Товары Цикл НовСтр = ДокСсылка.Товары.Добавить(); ЗаполнитьЗначенияСвойств(НовСтр,СтрокиТЧ); НовСтр.Номенклатура =  Справочники.Номенклатура.НайтиПоКоду(СокрЛП(СтрокиТЧ.Номенклатура.Код)); Если НовСтр.Номенклатура.Пустая() Тогда  Сообщить("Номенклатура по данному коду "+ СокрЛП(СтрокиТЧ.Номенклатура.Код)+ " не обнаружена"); Продолжить;  КонецЕсли; НовСтр.ЕдиницаИзмерения =  Справочники.ЕдиницыИзмерения.НайтиПоКоду(СокрЛП(СтрокиТЧ.Упаковка.КодЗагрузки)); НовСтр.Производитель =  Справочники.Организации.НайтиПоКоду(СокрЛП(СтрокиТЧ.Производитель.Код)); НомерЗаказаСборки = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Номер,СтрЗаменить(СтрокиТЧ.Заказ.Номер,"З_","")); ДатаЗаказаСборка  = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Дата,СтрокиТЧ.Заказ.Дата); НовСтр.Заказ   =  Документы[ТекущееСоответствие.База].НайтиПоНомеру(НомерЗаказаСборки, ДатаЗаказаСборка); Если Не ЗначениеЗаполнено(НовСтр.Заказ) Тогда Сообщить("Заказ не указан в заказе на сборку №"+ СокрЛП(ДокХДТО.Документ.Номер)); Продолжить; КонецЕсли;  Если НовСтр.Заказ <> Неопределено И Не НовСтр.Заказ.Пустая() Тогда УстановитьСтатус(НовСтр.Заказ,ДокСсылка.СтатусСборки); КонецЕсли; КонецЦикла; Если ДокСсылка.Товары.Количество()> 0 Тогда ДокСсылка.Записать(); КонецЕсли; Если Не ДокСсылка.Ссылка.Пустая() Тогда  КоличествоЗагруженно = КоличествоЗагруженно + 1; Если ДокХДТО.Документ <> Неопределено Тогда   СписокДокументов.МассивДокументов.Добавить(ДокХДТО.Документ); КонецЕсли; КонецЕсли; СтрокаДок.Параметры.Документ = Строка(ДокСсылка); СтрокаДок.Параметры.Результат = Строка(ДокХДТО.РезультатТранзакции) + " " + СообщениеСтатуса; ТД.Вывести(СтрокаДок); КонецЦикла; КонецЕсли; КонецПроцедуры </syntaxhighlight>Пример вызова XML
&НаСервере Процедура ВернутьИзСборщика2() Прокси = ПолучитьПрокси(); Результат = Прокси.ПолучитьДокументыЗаказНаСборку2("П6"); Если Результат<> Неопределено Тогда КоличествоЗагруженно = 0; Для каждого ДокХДТО Из Результат.МассивРезультатов Цикл Документ = Документы.АСП_ЗаказНаСборку.НайтиПоНомеру(ДокХДТО.Документ.Номер, ДокХДТО.Документ.Дата); Если Документ.Пустая() Тогда ДокСсылка = Документы.АСП_ЗаказНаСборку.СоздатьДокумент(); ДокСсылка.Дата = ДокХДТО.Документ.Дата; ДокСсылка.Номер = ДокХДТО.Документ.Номер; Иначе ДокСсылка = Документ.ПолучитьОбъект(); КонецЕсли; ДокСсылка.Склад = Справочники.Склады.НайтиПоКоду(СокрЛП(ДокХДТО.Документ.Склад.Код)); Если ПустаяСтрока(ДокХДТО.Документ.Организация.ИНН) Тогда  ДокСсылка.Организация = Справочники.Организации.НайтиПоКоду(ДокХДТО.Документ.Организация.Код); Иначе  ДокСсылка.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", ДокХДТО.Документ.Организация.ИНН); КонецЕсли; СообщениеСтатуса = ""; ПеречСтатус = ПолучитьСтатусСборки(ДокХДТО.Документ.Статус);  Если ТипЗнч(ПеречСтатус) <> Тип("Строка") Тогда ДокСсылка.СтатусСборки = ПеречСтатус; Иначе СообщениеСтатуса = ("Документ №"+ ДокСсылка.Номер+ " загружен без статуса. "+ ПеречСтатус); КонецЕсли; ДокСсылка.Товары.Очистить(); Для каждого СтрокиТЧ Из ДокХДТО.Документ.Товары Цикл НовСтр = ДокСсылка.Товары.Добавить(); ЗаполнитьЗначенияСвойств(НовСтр,СтрокиТЧ); НовСтр.Номенклатура =  Справочники.Номенклатура.НайтиПоКоду(СокрЛП(СтрокиТЧ.Номенклатура.Код)); Если НовСтр.Номенклатура.Пустая() Тогда  Сообщить("Номенклатура по данному коду "+ СокрЛП(СтрокиТЧ.Номенклатура.Код)+ " не обнаружена"); Продолжить;  КонецЕсли; НовСтр.ЕдиницаИзмерения =  Справочники.ЕдиницыИзмерения.НайтиПоКоду(СокрЛП(СтрокиТЧ.Упаковка.КодЗагрузки)); НовСтр.Производитель =  Справочники.Организации.НайтиПоКоду(СокрЛП(СтрокиТЧ.Производитель.Код)); НомерЗаказаСборки = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Номер,СтрЗаменить(СтрокиТЧ.Заказ.Номер,"З_","")); ДатаЗаказаСборка  = ?(СтрокиТЧ.Заказ = Неопределено,ДокХДТО.Документ.Дата,СтрокиТЧ.Заказ.Дата); НовСтр.Заказ   =  Документы[ТекущееСоответствие.База].НайтиПоНомеру(НомерЗаказаСборки, ДатаЗаказаСборка); Если Не ЗначениеЗаполнено(НовСтр.Заказ) Тогда Сообщить("Заказ не указан в заказе на сборку №"+ СокрЛП(ДокХДТО.Документ.Номер)); Продолжить; КонецЕсли;  Если НовСтр.Заказ <> Неопределено И Не НовСтр.Заказ.Пустая() Тогда УстановитьСтатус(НовСтр.Заказ,ДокСсылка.СтатусСборки); КонецЕсли; КонецЦикла; Если ДокСсылка.Товары.Количество()> 0 Тогда ДокСсылка.Записать(); КонецЕсли; Если Не ДокСсылка.Ссылка.Пустая() Тогда  КоличествоЗагруженно = КоличествоЗагруженно + 1; Если ДокХДТО.Документ <> Неопределено Тогда СписокДокументов.МассивДокументов.Добавить(ДокХДТО.Документ); КонецЕсли; КонецЕсли; СтрокаДок.Параметры.Документ = Строка(ДокСсылка); СтрокаДок.Параметры.Результат = Строка(ДокХДТО.РезультатТранзакции) + " " + СообщениеСтатуса; ТД.Вывести(СтрокаДок); КонецЦикла; КонецЕсли; КонецПроцедуры </syntaxhighlight>Пример вызова XML
|
|


Строка 930: Строка 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>
<soap-env:Body>
        <ns0:ПолучитьДокументыЗаказНаСборку2 xmlns:ns0="http://gateway.aspcom.ru">
<ns0:ПолучитьДокументыЗаказНаСборку2 xmlns:ns0="http://gateway.aspcom.ru">
<ns0:КодУзла>П6</ns0:КодУзла>
<ns0:КодУзла>П6</ns0:КодУзла>
        </ns0:ПолучитьДокументыЗаказНаСборку2>
</ns0:ПолучитьДокументыЗаказНаСборку2>
    </soap-env:Body>
</soap-env:Body>
</soap-env:Envelope>
</soap-env:Envelope>
</syntaxhighlight>
</syntaxhighlight>
Строка 1110: Строка 1110:
<syntaxhighlight lang='1c'>
<syntaxhighlight lang='1c'>


&НаСервере Процедура ЗарегистрироватьОтгрузку(ДокЗаказ)     Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; хДокумент = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"Документ")); хДокумент.Номер = ДокЗаказ.Номер; хДокумент.Дата = ДокЗаказ.Дата; Результат = Прокси.ЗарегистрироватьОтгрузку(хДокумент);     Сообщить(Результат); КонецПроцедуры </syntaxhighlight>Пример вызова XML
&НаСервере Процедура ЗарегистрироватьОтгрузку(ДокЗаказ)Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO; хДокумент = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"Документ")); хДокумент.Номер = ДокЗаказ.Номер; хДокумент.Дата = ДокЗаказ.Дата; Результат = Прокси.ЗарегистрироватьОтгрузку(хДокумент);Сообщить(Результат); КонецПроцедуры </syntaxhighlight>Пример вызова XML
|
|


Строка 1116: Строка 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>
<soap-env:Body>
        <ns0:ЗарегистрироватьОтгрузку xmlns:ns0="http://gateway.aspcom.ru">
<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:ЗарегистрироватьОтгрузку>
</ns0:ЗарегистрироватьОтгрузку>
    </soap-env:Body>
</soap-env:Body>
</soap-env:Envelope>
</soap-env:Envelope>
</syntaxhighlight>
</syntaxhighlight>
Строка 1149: Строка 1149:
<syntaxhighlight lang='1c'>
<syntaxhighlight lang='1c'>


&НаСервере Процедура ВернутьДокументыИзСборщика(ДокументыСборщика) Прокси = ПолучитьПрокси();     Фабрика = Прокси.ФабрикаXDTO; СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов")); ДокументыСборщика = ?(Найти(ТекущееСоответствие.Шлюз,"Заказ") = 0,ТекущееСоответствие.Шлюз,"ЗаказНаСборку"); Результат = Прокси.ПолучитьДокументСборки(ДокументыСборщика); Если Результат <> Неопределено Тогда Если Найти(ДокументыСборщика,"ЗаказНаСборку") > 0 Тогда  КоличествоЗагруженно = ВернутьЗаказыНаСборку(Результат,СтрокаДок,СписокДокументов,ТекущееСоответствие); ИначеЕсли Найти(ДокументыСборщика,"Перемещение") > 0 Тогда КоличествоЗагруженно = ВернутьПеремещение(Результат,СтрокаДок,ТекущееСоответствие); Иначе  Сообщить("Данный документ не настроен для возврата в базу"); Возврат; КонецЕсли; КонецЕсли;     Сообщить("Загружено документов: "+Строка(КоличествоЗагруженно)); КонецПроцедуры </syntaxhighlight>Пример вызова XML
&НаСервере Процедура ВернутьДокументыИзСборщика(ДокументыСборщика) Прокси = ПолучитьПрокси();Фабрика = Прокси.ФабрикаXDTO; СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов")); ДокументыСборщика = ?(Найти(ТекущееСоответствие.Шлюз,"Заказ") = 0,ТекущееСоответствие.Шлюз,"ЗаказНаСборку"); Результат = Прокси.ПолучитьДокументСборки(ДокументыСборщика); Если Результат <> Неопределено Тогда Если Найти(ДокументыСборщика,"ЗаказНаСборку") > 0 Тогда  КоличествоЗагруженно = ВернутьЗаказыНаСборку(Результат,СтрокаДок,СписокДокументов,ТекущееСоответствие); ИначеЕсли Найти(ДокументыСборщика,"Перемещение") > 0 Тогда КоличествоЗагруженно = ВернутьПеремещение(Результат,СтрокаДок,ТекущееСоответствие); Иначе  Сообщить("Данный документ не настроен для возврата в базу"); Возврат; КонецЕсли; КонецЕсли;Сообщить("Загружено документов: "+Строка(КоличествоЗагруженно)); КонецПроцедуры </syntaxhighlight>Пример вызова XML
|
|


Строка 1155: Строка 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>
<soap-env:Body>
        <ns0:ПолучитьДокументСборки xmlns:ns0="http://gateway.aspcom.ru">
<ns0:ПолучитьДокументСборки xmlns:ns0="http://gateway.aspcom.ru">
<ns0:ТипДокумента>ЗаказНаСборку</ns0:ТипДокумента>
<ns0:ТипДокумента>ЗаказНаСборку</ns0:ТипДокумента>
        </ns0:ПолучитьДокументСборки>
</ns0:ПолучитьДокументСборки>
    </soap-env:Body>
</soap-env:Body>
</soap-env:Envelope>
</soap-env:Envelope>
</syntaxhighlight>
</syntaxhighlight>
Строка 1333: Строка 1333:
<m:Статус>Частичная</m:Статус>
<m:Статус>Частичная</m:Статус>
</m:Документ>
</m:Документ>
<m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку №21          от 09.02.2021 не заполнена табличная часть</m:РезультатТранзакции>
<m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку №21от 09.02.2021 не заполнена табличная часть</m:РезультатТранзакции>
</m:МассивРезультатов>
</m:МассивРезультатов>
<m:МассивРезультатов>
<m:МассивРезультатов>
Строка 1349: Строка 1349:
<m:Статус>Частичная</m:Статус>
<m:Статус>Частичная</m:Статус>
</m:Документ>
</m:Документ>
<m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку №23          от 09.02.2021 не заполнена табличная часть</m:РезультатТранзакции>
<m:РезультатТранзакции>Не удалось загрузить документ: В документе Заказ на сборку №23от 09.02.2021 не заполнена табличная часть</m:РезультатТранзакции>
</m:МассивРезультатов>
</m:МассивРезультатов>
</m:return>
</m:return>
Строка 1380: Строка 1380:
<syntaxhighlight lang='1c'>
<syntaxhighlight lang='1c'>


&НаСервере Процедура ВернутьДокументыИзСборщика2(ДокументыСборщика)     Прокси = ПолучитьПрокси();     Фабрика = Прокси.ФабрикаXDTO;     СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов"));     ДокументыСборщика = ?(Найти(ТекущееСоответствие.Шлюз,"Заказ") = 0,ТекущееСоответствие.Шлюз,"ЗаказНаСборку");         Результат = Прокси.ПолучитьДокументСборки(ДокументыСборщика,"П6");     Если Результат <> Неопределено Тогда         Если Найти(ДокументыСборщика,"ЗаказНаСборку") > 0 Тогда              КоличествоЗагруженно = ВернутьЗаказыНаСборку(Результат,СтрокаДок,СписокДокументов,ТекущееСоответствие);         ИначеЕсли Найти(ДокументыСборщика,"Перемещение") > 0 Тогда            КоличествоЗагруженно = ВернутьПеремещение(Результат,СтрокаДок,ТекущееСоответствие);         Иначе              Сообщить("Данный документ не настроен для возврата в базу");             Возврат;         КонецЕсли;     КонецЕсли;     Сообщить("Загружено документов: "+Строка(КоличествоЗагруженно)); КонецПроцедуры </syntaxhighlight>Пример вызова XML
&НаСервере Процедура ВернутьДокументыИзСборщика2(ДокументыСборщика)Прокси = ПолучитьПрокси();Фабрика = Прокси.ФабрикаXDTO;СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен,"СписокДокументов"));ДокументыСборщика = ?(Найти(ТекущееСоответствие.Шлюз,"Заказ") = 0,ТекущееСоответствие.Шлюз,"ЗаказНаСборку");Результат = Прокси.ПолучитьДокументСборки(ДокументыСборщика,"П6");Если Результат <> Неопределено Тогда Если Найти(ДокументыСборщика,"ЗаказНаСборку") > 0 ТогдаКоличествоЗагруженно = ВернутьЗаказыНаСборку(Результат,СтрокаДок,СписокДокументов,ТекущееСоответствие);ИначеЕсли Найти(ДокументыСборщика,"Перемещение") > 0 ТогдаКоличествоЗагруженно = ВернутьПеремещение(Результат,СтрокаДок,ТекущееСоответствие);ИначеСообщить("Данный документ не настроен для возврата в базу");Возврат;КонецЕсли; КонецЕсли;Сообщить("Загружено документов: "+Строка(КоличествоЗагруженно)); КонецПроцедуры </syntaxhighlight>Пример вызова XML
|
|


Строка 1386: Строка 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>
<soap-env:Body>
        <ns0:ПолучитьДокументСборки2 xmlns:ns0="http://gateway.aspcom.ru">
<ns0:ПолучитьДокументСборки2 xmlns:ns0="http://gateway.aspcom.ru">
<ns0:ТипДокумента>ЗаказНаСборку</ns0:ТипДокумента>
<ns0:ТипДокумента>ЗаказНаСборку</ns0:ТипДокумента>
<ns0:КодУзла>П6</ns0:КодУзла>
<ns0:КодУзла>П6</ns0:КодУзла>
        </ns0:ПолучитьДокументСборки2>
</ns0:ПолучитьДокументСборки2>
    </soap-env:Body>
</soap-env:Body>
</soap-env:Envelope>
</soap-env:Envelope>
</syntaxhighlight>
</syntaxhighlight>
Строка 1568: Строка 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>
<soap-env:Body>
        <ns0:ПолучитьМобильныеУстройства xmlns:ns0="http://gateway.aspcom.ru">
<ns0:ПолучитьМобильныеУстройства xmlns:ns0="http://gateway.aspcom.ru">
        </ns0:ПолучитьМобильныеУстройства>
</ns0:ПолучитьМобильныеУстройства>
    </soap-env:Body>
</soap-env:Body>
</soap-env:Envelope>
</soap-env:Envelope>
</syntaxhighlight>
</syntaxhighlight>
Строка 1632: Строка 1632:
<syntaxhighlight lang='1c'>
<syntaxhighlight lang='1c'>


&НаСервере Процедура УстановитьСтатусВыгружен() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO;     СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"СписокДокументов"));         Для Каждого Стр Из ТаблицаДок Цикл        Если НЕ Стр.Выбран Тогда            Продолжить;         КонецЕсли;         Док = СформироватьДокумент(Стр.Ссылка, Фабрика);         Если Док <> Неопределено Тогда              СписокДокументов.МассивДокументов.Добавить(Док);         КонецЕсли;     КонецЦикла; Выгружено = Прокси.УстановитьСтатусВыгружен(СписокДокументов); Сообщить("Документов в статусе выгруженно: "+Строка(Выгружено)); КонецПроцедуры </syntaxhighlight>Пример вызова XML
&НаСервере Процедура УстановитьСтатусВыгружен() Прокси = ПолучитьПрокси(); Фабрика = Прокси.ФабрикаXDTO;СписокДокументов = Фабрика.Создать(Фабрика.Тип(ПространствоИмен(),"СписокДокументов"));Для Каждого Стр Из ТаблицаДок ЦиклЕсли НЕ Стр.Выбран ТогдаПродолжить;КонецЕсли; Док = СформироватьДокумент(Стр.Ссылка, Фабрика);Если Док <> Неопределено ТогдаСписокДокументов.МассивДокументов.Добавить(Док);КонецЕсли;КонецЦикла; Выгружено = Прокси.УстановитьСтатусВыгружен(СписокДокументов); Сообщить("Документов в статусе выгруженно: "+Строка(Выгружено)); КонецПроцедуры </syntaxhighlight>Пример вызова XML
|
|


Строка 1638: Строка 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>
<soap-env:Body>
        <ns0:УстановитьСтатусВыгружен xmlns:ns0="http://gateway.aspcom.ru">
<ns0:УстановитьСтатусВыгружен xmlns:ns0="http://gateway.aspcom.ru">
<ns0:СписокДокументов>
<ns0:СписокДокументов>
<ns0:МассивДокументов>
<ns0:МассивДокументов>
Строка 1808: Строка 1808:
</ns0:МассивДокументов>
</ns0:МассивДокументов>
</ns0:СписокДокументов>
</ns0:СписокДокументов>
        </ns0:УстановитьСтатусВыгружен>
</ns0:УстановитьСтатусВыгружен>
    </soap-env:Body>
</soap-env:Body>
</soap-env:Envelope>
</soap-env:Envelope>
</syntaxhighlight>
</syntaxhighlight>
Строка 1867: Строка 1867:
Процедура ПроверитьПодключениеНаСервере()
Процедура ПроверитьПодключениеНаСервере()
Прокси = ПолучитьПрокси();
Прокси = ПолучитьПрокси();
    Настройки = СформироватьНастройкиОбработки();
Настройки = СформироватьНастройкиОбработки();
Результат = Прокси.ЗагрузитьНастройкиОбработки(Настройки);
Результат = Прокси.ЗагрузитьНастройкиОбработки(Настройки);
Если Не Результат = Неопределено
Если Не Результат = Неопределено
          И Результат Тогда
И Результат Тогда
          Сообщить("Настройки правил обработки сохранены");
Сообщить("Настройки правил обработки сохранены");
  КонецЕсли;   
КонецЕсли;   
КонецПроцедуры
КонецПроцедуры
</syntaxhighlight>
</syntaxhighlight>