Имя: Пароль:
1C
1С v8
Сериализация XDTO
0 ВаликТР
 
16.01.14
00:18
Ребята, чувствую это раизловать не слишком трудно, но не знаю с чего начать.

Есть Справочники.Номенклатура
1.Дисплеи
3.Дисплей для Canon
4.Дисплей для Nikon
2.Объективы
5.Объектив для Canon
6.Объектив для Nikon

Получил выборку

Код    Номенклатура
3    Дисплей для Canon
4    Дисплей для Nikon
5    Объектив для Canon
6    Объектив для Nikon

Как эту выборку выгрузить в XML. Как пользоваться этой волшебно-загадочной штуковиной ФабрикаXDTO | СериализаторXDTO?

<категории>
    <категория код="1">Дисплеи</категория>
    <категория код="2">Объективы</категория>
</категории>
<Товары>
<товар код="3" категория="1">Дисплей для Canon</товар>
<товар код="4" категория="1">Дисплей для Nikon</товар>
<товар код="5" категория="2">Объектив для Canon</товар>
<товар код="6" категория="2">Объектив для Nikon</товар>
</товары>

Перечитал кучу теории, а где реализована практика - не найду.
Буду признателен за любую наводку.
1 Ksandr
 
16.01.14
00:24
Документооборот есть под боком?
Общий модуль ОбработкаЗапросовXDTO рекомендуется к курению.
2 ВаликТР
 
16.01.14
00:28
(1) У меня такого нет. Конфигурация не стандартная. "Управление Сервисным центром". Я там по глобальному поиску прошерстил все "XDTO" - такого, как мне надо - нет :-(
3 Asmody
 
16.01.14
00:36
Зачем тебе тут XDTO? Просто через ЗаписьXML не проще будет?
4 ВаликТР
 
16.01.14
00:40
(3) Кажись не проще. Эти ЗаписатьНачалоЭлемента, ЗаписатьКОнецЕлемента...
В XDTO просто пишешь .Добавить() а при сериализации само формирует структуру.
Может  и не правильно понимаю.
5 Ksandr
 
16.01.14
00:44
(4) Не правда. Речь шла о сериализацииXML.

по XDTO:
1. Запись:
Запись = Новый ЗаписьXML;
Запись.УстановитьСтроку();

ОбъектХДТО = СериализаторXDTO.ЗаписатьXDTO(Объект);
ФабрикаXDTO.ЗаписатьXML(Запись, ОбъектХДТО);
    
Путь = КаталогНастроек + "Объект.xml";

ТекДок = Новый ТекстовыйДокумент;
ТекДок.УстановитьТекст(Запись.Закрыть());
ТекДок.Записать(Путь, КодировкаТекста.UTF8);

2. Чтение:
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(Путь);
    
Объект = СериализаторXDTO.ПрочитатьXML(ЧтениеXML);
6 jsmith82
 
16.01.14
00:45
(2) кури (1) всё-таки
7 Джинн
 
16.01.14
00:45
8 jsmith82
 
16.01.14
00:46
(7) классика жанра
9 ВаликТР
 
16.01.14
01:06
(5) СериализаторXDTO.ЗаписатьXDTO(Объект)
а если мне нужны не все свойства Объекта, а лишь отдельные?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.