Сериализация ХДТО - как получить реквизиты объекта
☑
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 тут удобнее.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший