Имя: Пароль:
1C
1С v8
Веб сервисы
0 dosent
 
20.12.13
14:06
Добрый день Гуру.
Подскажите начинающему разобраться. Создаю веб сервис на 1с.
Есть код который возвращает 1 организацию, как сделать чтобы можно было вернуть список организаций. XDTO пакет собственный создавать или есть стандартные типы?

    СпрОрганизации = Справочники.Организации;
    Выборка = СпрОрганизации.Выбрать();
    Пока Выборка.Следующий() Цикл
        ОрганизацияОбъект = Выборка.ПолучитьОбъект();
        организацииТип = ФабрикаXDTO.Тип("http://v8.1c.ru/8.1/data/enterprise/current-config";, "CatalogObject.Организации");
        организация = ФабрикаXDTO.Создать(организацииТип);
        ЗаполнитьЗначенияСвойств(организация,ОрганизацияОбъект);
    КонецЦикла;
1 Serginio1
 
20.12.13
14:15
Проще Использовать СериализаторXDTO.ЗаписатьXDTO(ОрганизацияОбъект)

Можно сериализовать и массив.
v8: Ошбика веб-сервисе: Обязательное возвращаемое значение не задано
2 Serginio1
 
20.12.13
14:18
3 Serginio1
 
20.12.13
14:21
4 Serginio1
 
20.12.13
14:27
5 Serginio1
 
20.12.13
14:28
Для списков лучше устанавливать минимальное количество 0 максимальное количество -1
6 dosent
 
20.12.13
16:47
Вернул так может кому понадобиться.

    ПеременнаяМассив = Новый Массив;
    
    МассивТип = ФабрикаXDTO.Тип("http://v8.1c.ru/8.1/data/core";, "Array");
    

    СпрОрганизации = Справочники.Организации;
    Выборка = СпрОрганизации.Выбрать();
    
    
    Результат = ФабрикаXDTO.Создать(МассивТип);    
    
    Пока Выборка.Следующий() Цикл
        ОрганизацияОбъект = Выборка.ПолучитьОбъект();
        организацииТип = ФабрикаXDTO.Тип("http://v8.1c.ru/8.1/data/enterprise/current-config";, "CatalogObject.Организации");
        организация = ФабрикаXDTO.Создать(организацииТип);
        ЗаполнитьЗначенияСвойств(организация,ОрганизацияОбъект);
        //ПеременнаяМассив.Добавить(организация);
        Результат.value.Добавить(организация);

    КонецЦикла;    
    
    
    Возврат Результат;
7 Serginio1
 
20.12.13
17:00
ПрощеЗаполнить массив и

СериализаторXDTO.ЗаписатьXDTO(ПеременнаяМассив)
Получится тоже самое, только буков значительно меньше.