Чтобы передать массив в 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-каналы с уроками программирования Сайты для обучения программированию Лекции и уроки