Имя: Пароль:
1C
1С v8
Подскажите контейнер для XDTO объекта
0 Alex_MA
 
13.10.11
14:26
Всем доброго дня уважаемые коллеги!

Есть Web сервис, у него есть выходной параметр
тип: InformationRegisterRecord.КонтактнаяИнформация (http://v8.1c.ru/8.1/data/enterprise/current-config)

В процедуре web сервиса пишу:


Запрос = Новый Запрос("ВЫБРАТЬ *
                 |ИЗ
                 |    РегистрСведений.КонтактнаяИнформация.СрезПоследних(&Период, Контрагент = &Контрагент ) КАК КонтактнаяИнформация");
                         
   Запрос.УстановитьПараметр("Период", КонецДня(ТекущаяДата()));
   Запрос.УстановитьПараметр("Контрагент ", Контрагент);
   
   Выборка = Запрос.Выполнить().Выбрать();
   
   ЗаписьРегистраКонтактнаяИнформацияXDTO = ФабрикаXDTO.Тип("http://v8.1c.ru/8.1/data/enterprise/current-config", "InformationRegisterRecord.КонтактнаяИнформация");
   
   Пока Выборка.Следующий() Цикл
       ОбъектЗаписьРегистраКонтактнаяИнформацияXDTO = ФабрикаXDTO.Создать(ЗаписьРегистраКонтактнаяИнформацияXDTO );    
       ЗаполнитьЗначенияСвойств(ОбъектЗаписьРегистраКонтактнаяИнформацияXDTO , Выборка);

               //Заполняет все Ок, а как их накапливать ???

   КонецЦикла;    

Спасибо за внимание.
1 Alex_MA
 
13.10.11
14:39
создать какой нибудь пакет XDTO в конфе, там добавить объект список и установить ему фасет = -1 ???
Есть другие способы ?
2 Alex_MA
 
13.10.11
15:16
апну?
3 Alexey_Morov
 
13.10.11
15:18
Ссылка дохлая (404 ошибка).
Как же так????
4 Alex_MA
 
13.10.11
16:32
(3)этож пространство имен :)
5 izekia
 
13.10.11
16:36
(3) батенька, Вы бы лучше тусовались в своих любимых темах, зачем Вам этот 1С
6 izekia
 
13.10.11
16:37
сорри, не сдержался
7 Широкий
 
13.10.11
16:38
Накапливать это как?
8 sivalor
 
13.10.11
16:57
(0) Сделай через XDTO и не парься.
9 Alex_MA
 
13.10.11
17:00
(8)так уже и сделал, создал свой XDTO и там объект с фасетом = -1 и все Ок
10 DmitrO
 
13.10.11
17:04
Если у веб-сервиса выходной параметр такого типа, то их не надо накапливать.
Все. Ты все сделал. Осталось только записать ОбъектЗаписьРегистраКонтактнаяИнформацияXDTO в переменную которая является выходным параметром функции обработчика веб-сервиса.
11 Alex_MA
 
13.10.11
17:07
(10)ага, согласен.
Еще интересно стало, как отправить xml файл при помощи web сервиса.
Вот записал все в файл:

ТекСериализаторXDTO = Новый СериализаторXDTO(ФабрикаXDTO);
   
ЗаписьXML = Новый ЗаписьXML();
ЗаписьXML.ОткрытьФайл("c:\ФайлДляОтправки.xml");
   
ТекСериализаторXDTO.Фабрика.ЗаписатьXML(ЗаписьXML, СписокЗаписейРегистраXDTO);
ЗаписьXML.Закрыть();

Кстати какое пространство имен отвечает за файл ?
12 sivalor
 
13.10.11
17:12
(11) через двоичные данные, например...
ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema","base64Binary")
13 Alex_MA
 
13.10.11
17:47
(12)О, спасибо.
А кстати где найти описания типов данных которые используются в XDTO ?
Например: http://gyazo.com/6f8e3f68ba9e2c7607c2147bd4d621e8