Отправляет email-рассылки с помощью сервиса Sendsay

Заметки 1С-Программиста

  Все выпуски  

Заметки 1С-Программиста 1С:Предприятие 8. Веб-сервисы. Возвращаем массив



1С:Предприятие 8. Веб-сервисы. Возвращаем массив



Содержание статей: 1С:Предприятие 8. Веб-сервисы
Предыдущая статья: 1С:Предприятие 8. Веб-сервисы. Классы Платформы 1С для вызова операций веб-сервис


При вызове ws-операций очень часто надо вернуть массив значений. В этой статье я расскажу как это сделать используя XDTOОбъект.



Создайте веб-сервис. В задайте свойство "URI пространства имен" веб-сервиса например "http://ghostaz.no-ip.org".
И создайте ws-операцию, например "ВозвратитьМассив".

Далее создайте XDTO-пакет и добавьте в него Тип объекта как это показано на картинке:
И создайте свойство объекта:
У свойства укажите "Максимальное количество" равное -1. Это свойство и указывает что Элемент объекта "Свойство1" может быть повторен любое количество раз. Не забудьте указать тип свойства например string.

Теперь в ws-операции можно указывать XDTOОбъект "ТипОбъекта1" как Тип возвращаемого значения, но перед этим необходимо в у веб сервиса указать XDTO пакет:

После этого можно у ws-операции "ВозвратитьМассив" указать Тип возвращаемого значения:

Можно приступать к написанию кода. В обработке вызова операции мы создадим тип объекта XDTO, затем сам объект и в цикле добавим ему несколько элементов.


Функция ВозвратитьМассив()

ТипXDTOТипОбъекта1 = ФабрикаXDTO.Тип("http://ghostaz.no-ip.org", "ТипОбъекта1");
ТипОбъекта1 = ФабрикаXDTO.Создать(ТипXDTOТипОбъекта1);

Для Ай = 1 по 4 Цикл
//добавим строку в массив
ТипОбъекта1.Свойство1.Добавить("Строка"+Ай);
КонецЦикла;
   
Возврат ТипОбъекта1;

КонецФункции

Вот и все. Можно публиковать и смотреть результат. А результат такой:




В избранное