Имя: Пароль:
1C
1С v8
Сериализация ХДТО - как получить реквизиты объекта
,
0 Kateryne
 
08.04.14
16:27
Разбираюсь с механизмом ХДТО.
Не поняла, а что, под сериализацией объекта в XML понимается запись только гуида этого объекта?

Сериализатор = Новый СериализаторXDTO(ФабрикаXDTO);
КонтрагентОбъект = Справочники.Контрагенты.НайтиПоНаименованию("Тест");
ОбъектXDTO = Сериализатор.ЗаписатьXDTO(КонтрагентОбъект);
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл("C:\1\test.xml");
ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, ОбъектXDTO);
ЗаписьXML.Закрыть();

Ожидала, что в файл будет записан не просто гуид объекта, но и все его реквизиты (ссылочные - гуидами, простого типа - значениями).

Может я где-то не разобралась?
Как-то можно преобразовать объект в XML без описания пакета ХДТО или прочего ручного формирования перечня реквизитов?
1 Serginio1
 
08.04.14
16:32
ОбъектXDTO = Сериализатор.ЗаписатьXDTO(КонтрагентОбъект.ПолучитьОбъект());
2 VikingKosmo
 
08.04.14
16:32
А может записывать стоит объект, а не ссылку?
3 Maxus43
 
08.04.14
16:33
НовыйСXDTO = Новый СериализаторXDTO(ФабрикаXDTO);

// получим объект справочника
Спр = Справочники.Номенклатура.НайтиПоКоду(14).ПолучитьОбъект();

// сериализуем его в XDTO
СпрXDTO = НовыйСXDTO.ЗаписатьXDTO(Спр);
4 romix
 
08.04.14
16:33
Да глюкодром это имхо. Можно же просто писать XML.
5 Kateryne
 
08.04.14
16:45
(2) Я невнимательный тормоз. Была же уверена, что ПолучитОбъект был в коде - вон, даже имя переменной КонтрагентОбъект :)))
Все, спасибо!
6 Kateryne
 
08.04.14
16:50
(4) Почему глюкодром? Медленно работает, или нестабильно?
Объект нужен для передачи через веб-сервис, мне кажется, что XDTO тут удобнее.