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

Aug 12, 2022 11:34

Чтобы передать массив в 1С в качестве параметра операции веб сервиса достаточно просто этому параметру указать тип anyType (http://www.w3.org/2001/XMLSchema). После чего, переданный из php массив, в 1С будет передан как СписокXDTO, который можно обходить в цикле.

Давайте создадим веб сервис и операцию "GetMass". Для этой операции добавим один параметр "param" типа anyType (http://www.w3.org/2001/XMLSchema) как показано на рисунке.



В принципе, это все что необходимо сделать.

Следующий код передает массив в 1С.


// устанавливаем кодировку
header("Content-Type: text/html; charset=UTF-8");
ini_set("soap.wsdl_cache_enabled","0");
// создаем клиент для веб-сервисов и вызываем операцию
$SoapClient1C = new SoapClient("http://ghostaz.no-ip.org/mass/ws/WebСервис?wsdl");
$Mass = array(1,2,3);
$Result = $SoapClient1C->GetMass(array("param"=>$Mass));
print_r($Result);
?>

В 1С в отладчике можно увидеть что params имеет тип СписокXDTO.



Соответственно возможен обход в цикле:

Функция GetMass(param)

Результат = 0;
Для каждого Значение из param.int цикл
Результат = Результат + Значение;
КонецЦикла;

Возврат Результат;

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

Вместо типа anyType можно использовать другие типы, например, array из стандартных типов 1С datacore.

UPD от 01.09.2015:

По каким то причинам передать массив или структуру в веб сервис из 1С нельзя. Ругается на несоответствие типов. Но передать параметр можно, если в операцию передать ОбъектXDTO.



На рисунке приведен код, который передает структуру в 1С. Тип параметра WS операции должен быть Structure (http://v8.1c.ru/8.1/data/core).

Смотрите также:
Электронный учебник по программированию в 1С
Рекомендации по изучению программирования 1С с нуля
Игра "Кто хочет стать миллионером?" с вопросами на определенную тематику (язык программирования JavaScript, английские, немецкие, французские, испанские, португальские, ни­дер­ландские, итальянские слова, электробезопасность, промышленная безопасность, бокс и т.п.), написанная на 1С
Программирование в 1С 8.3 с нуля - краткий самоучитель
Комплексная подготовка программистов 1С:Предприятие 8.2
Сайты с уроками программирования и со справочниками
Youtube-каналы с уроками программирования
Сайты для обучения программированию
Лекции и уроки

программирование

Previous post Next post
Up