Имя: Пароль:
1C
 
web сервис. Передать массив
0 Dimarik_1
 
16.03.16
14:50
Реализую web сервис. Необходимо передать массив как результат. В операции веб-сервиса я добавил функцию getData, которая возвращает Массив. А в типе возращаемого значения операции нет array. Я только string нашёл
Ну и как результат, когда я пытаюсь подключиться из другой базы - у меня ошибка возникает по преобразованию типов массива в string
вот так этот массив формируется

Функция ЭкспортЗначенийРегистраптПромежуточныеДанныеВедомостьПоОстаткам() Экспорт
    
    
    ЗначенияРегистраТип = ФабрикаXDTO.Тип("http://www.teh.ru";, "balanceData");
         //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Представление(птПромежуточныеДанныеВедомостьПоОстаткам.Номенклатура) КАК nomenclature,
        |    Представление(птПромежуточныеДанныеВедомостьПоОстаткам.Склад) КАК stock,
        |    птПромежуточныеДанныеВедомостьПоОстаткам.ВсегоЗаказов КАК totalOrders,
        |    птПромежуточныеДанныеВедомостьПоОстаткам.Остаток КАК balance,
        |    птПромежуточныеДанныеВедомостьПоОстаткам.ОстатокНаСкладе КАК balanceStock
        |ИЗ
        |    РегистрСведений.птПромежуточныеДанныеВедомостьПоОстаткам КАК птПромежуточныеДанныеВедомостьПоОстаткам";
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Если ВыборкаДетальныеЗаписи.Количество() = 0 Тогда
        Возврат Null;
    КонецЕсли;
    
    
    МассивЗначенийРегистра = Новый Массив;
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        // Вставить обработку выборки ВыборкаДетальныеЗаписи
        ЗаписьРегистра =  ФабрикаXDTO.Создать(ЗначенияРегистраТип);
        ЗаполнитьЗначенияСвойств(ЗаписьРегистра,ВыборкаДетальныеЗаписи);
        МассивЗначенийРегистра.Добавить(ЗаписьРегистра);
    КонецЦикла;
    
    
    Возврат МассивЗначенийРегистра;
    
    
    
    
    
КонецФункции
1 Господин ПЖ
 
16.03.16
14:59
есть там массивы
2 NcSteel
 
16.03.16
15:00
Возврат Null;

Не вижу массива...

А так смотри пространства имен и вообще гугли
3 lubitelxml
 
16.03.16
15:05
уложи в строку и не парься
4 xxTANATORxx
 
16.03.16
15:07
(0)запакуй в json
5 cons74
 
16.03.16
15:16
ОбъектXDTO = СериализаторXDTO.ЗаписатьXDTO(Результат);
Возврат ОбъектXDTO;
6 Serginio1
 
16.03.16
15:18
Если обмен между 1С то используй
{http://v8.1c.ru/8.1/data/core}. Имя типа XDTO: Array.

Правда нужно добовить в пакет сервиса http://v8.1c.ru/8.1/data/core
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.