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); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Возврат Значение; КонецФункции
|