1CLenta.ru  

XML сериализация данных в 1С:Предприятии 8

Программирование системы     29.10.2016 13:17     22321

XML сериализация - это преобразование объектов 1С:Предприятия 8 в строку содержащию данные в xml формате. Данный механизм часто применяется при переносе данных из одной базы в другую. Не все объекты могут быть сериализованы. В Синтаксис-пощнике можно посмотреть информацию о том сериализуется или нет тот или иной объект. Если он сериализуется, то в его свойствах будет написано об этом: Сериализуется. Данный объект может быть сериализован в/из XDTO.

1. Сериализованные объекты платформы, такие как массив, структура, соответствие, и.т.д. могут быть распознаны в любых базах, так как их структура определена в платформе 1С:Предприятие.

2. Сериализованные объекты платформы, такие как Документ, Справочник или другие метаданные, могут быть перенесены, если их структура в базе источнике и в базе приемнике одинаковая.

3. Объекты имеющие разную структуру в источнике и приемнике не могут быть перенесены только с использованием сериализации, так как не могут быть автоматически распознаны в базе приемнике.

Чтобы выполнить перенос, нужно из базы источника выгрузить в XML файл сериализованное представление объекта. В базе приемнике прочитать содержимое XML файла и преобразовать в объект.

Для сериализации предназначен специальный объект "СериализаторXDTO".

Функция СериализоватьОбъект(Значение)

ЗаписьXML = Новый ЗаписьXML();
ЗаписьXML.УстановитьСтроку();
СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Значение);
СтрокаXML = ЗаписьXML.Закрыть();

Возврат СтрокаXML;

КонецФункции


Функция ДеСериализоватьОбъект(СтрокаXML)

ЧтениеXML = Новый ЧтениеXML();
ЧтениеXML.УстановитьСтроку(СтрокаXML);

Попытка
Значение = СериализаторXDTO.ПрочитатьXML(ЧтениеXML);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;

Возврат Значение;

КонецФункции

Комментарии (0)