Обмен xml файлами через ВЕБ Сервисы (Запрос остаток товаров с одной базы на другую по wеб сервису,) настройка и создание web сервиса.
//1.Создаем web-сервис (заполняем только "Основные" и "Прочее", пока что ...)
// - Имя любое(не критично, но желательно на англ.)
// -URl пространство имен - вводим ip адресс для удобства (пример: 127.7.7.7)
// -Пакеты XDTO , я еще не совсем разобрался )), поэтому выбираю стандартный
// (http://v8.1c.ru/8.1/xdto), особой роли не играет в данном примере.
// -Имя файла публикации - Любое значение с форматом *.1cws(Пример: Obmen.1cws)
//2. Создаем Операцию с параметрами (Напоминает стандартную "Функцию" с параметрами)
// Например -Операция "ОстаткиТоваровНТТ"
// тип возвращаемого значение- "Строка"- string (http://www.w3.org/2001/XMLSchema)
//3 создаем операции :Время с Типом: DataTime , Склад с Типом: string - пока хватит )
//4 создаем процедуру для операции "ОстаткиТоваровНТТ", в свойствах операции и
// заполним функцию ниже:
//5 в самом конце, обновляем базу и публикуем, готово!
Функция ОстаткиТоваровНТТ(Склад, Время)
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку("UTF-8");
ЗаписьXML.ЗаписатьОбъявлениеXML(); // Записываем объявление XML
ЗаписьXML.ЗаписатьНачалоЭлемента("ОстаткиТоваров");
Запрос = Новый Запрос;
Запрос.Текст ="ВЫБРАТЬ
| ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
| ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад,
| СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
| СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход,
| СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход,
| СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачПериод, &КонПериод, Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты
|ГДЕ
| ТоварыНаСкладахОстаткиИОбороты.Склад = &Склад
|СГРУППИРОВАТЬ ПО
| ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
| ТоварыНаСкладахОстаткиИОбороты.Склад,
|
|УПОРЯДОЧИТЬ ПО
| Номенклатура УБЫВ";
Запрос.УстановитьПараметр("НачПериод", Дата(НачалоДня(Время)));
Запрос.УстановитьПараметр("КонПериод", Дата(КонецДня(Время)));
Запрос.УстановитьПараметр("Склад", Справочники.Склады.НайтиПоНаименованию(Склад,Истина)); //склад заморозки Москва
Если запрос.Выполнить().Пустой() тогда
ответ = "За выбранный период остатков не найдено";
возврат ответ;
КонецЕсли;
Результат = Запрос.Выполнить().Выбрать();
пока Результат.Следующий() цикл
ЗаписьXML.ЗаписатьНачалоЭлемента("Результат");
ЗаписьXML.ЗаписатьАтрибут("Склад", Строка(Результат.Склад));
ЗаписьXML.ЗаписатьАтрибут("КоличествоНачальныйОстаток", Строка(Результат.КоличествоНачальныйОстаток));
ЗаписьXML.ЗаписатьАтрибут("КоличествоПриход", Строка(Результат.КоличествоПриход));
ЗаписьXML.ЗаписатьАтрибут("Номенклатура", Строка(Результат.Номенклатура));
ЗаписьXML.ЗаписатьАтрибут("КоличествоРасход", Строка(Результат.КоличествоРасход));
ЗаписьXML.ЗаписатьАтрибут("КоличествоКонечныйОстаток", Строка(Результат.КоличествоКонечныйОстаток));
ЗаписьXML.ЗаписатьКонецЭлемента();
конеццикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
данные= ЗаписьXML.Закрыть();
Возврат Данные;
конецфункции
// Функция получает остатки из регистра по полученным параметрам (Время и склад),
// формирует XML запись , и отправляет обратно
Орфографическая ошибка в адресс: адресс Орфографическая ошибка в Obmen: Obmen
Обмен через ВЕБ Сервисы 2 часть
ПолучитьСообщениеОбменаВоВременныйКаталогИзИнформационнойБазыКорреспондентаЧерезВебСервис (БСП)
ВыполнитьОбменДаннымиДляУзлаИнформационнойБазыЗавершениеДлительнойОперации (БСП)
ТабличныеЧастиПланаОбмена (БСП)
ЗафиксироватьЗавершениеОбмена (БСП)
ПараметрыОбменаДаннымиЧерезФайлИлиСтроку (БСП)
#1, 29 июня 2020 14:20
Тут будет ошибка переменная "Ск" не определена.