СКД. Программное чтение/запись СКД в/из XML.

Сериализация объектов в XML

Объект типа СхемаКомпоновкиДанных не имеет в своем арсенале метода записи/чтения себя в/из XML. Но все исправимо благодаря возможности сериализации схемы компоновки данных в объект XDTO.

// Запись СКД в XML-файл.
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ИмяФайлаСКД);
СериализаторXDTO.ЗаписатьXML(ЗаписьXML, СхемаКомпоновкиДанных);
ЗаписьXML.Закрыть();


Сериализация объектов 1С выполняется с помощью объекта глобального контекста СериализацияXDTO - это сериализатор XDTO, соответствующий глобальной фабрики XDTO.

Чтение СКД из XML-файла выполняется так же с участием сериализатора XDTO.

// Чтение СКД из XML-файла.
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяФайлаСКД);
СхемаКомпоновкиДанных = СериализаторXDTO.ПрочитатьXML(ЧтениеXML, Тип("СхемаКомпоновкиДанных"));


Во второй параметр метода ПрочитатьXML() передается тип значения, которое должно быть прочитано из XML. Важно, прочитаны могут значения тех типов, которые могут быть записаны методом ЗаписатьXML().

Если во второй параметр метода ПрочитатьXML() передать тип настроек компоновки данных, то вместо полного чтения СКД будут прочитаны только настройки.

// Чтение только настроек СКД.
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяФайлаСКД);
НастройкиКомпоновкиДанных = СериализаторXDTO.ПрочитатьXML(ЧтениеXML, Тип("НастройкиКомпоновкиДанных"));


Комментарии