Уважаемые Коллеги, добрый день!
Нужно выполнить сериализацию / десериализацию объекта через двоичные данные. С сериализацией проблем не возникает. А вот с десерализацией:
Сериализация:
ЗаписьFI = Новый ЗаписьFastInfoset;
ЗаписьFI.УстановитьДвоичныеДанные();
ЗаписьFI.ЗаписатьОбъявлениеXML();
СериализаторXDTO.ЗаписатьXML(ЗаписьFI,СериализуемыйОбъект,НазначениеТипаXML.Явное);
ДД = ЗаписьFI.Закрыть();
Десериализация
ЧтениеFI = Новый ЧтениеFastInfoset;
ЧтениеFI.УстановитьДвоичныеДанные(ДД);
Вот тут ошибка:
СериализаторXDTO.ПрочитатьXML(ЧтениеFI, Тип("Соответствие"));
Ошибка преобразования данных XDTO:
НачалоСвойства: {http://v8.1c.ru/8.1/data/core}Map Форма: Элемент Тип: {http://v8.1c.ru/8.1/data/core}Map по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: pair Форма: Элемент Тип: {http://v8.1c.ru/8.1/data/core}KeyAndValue по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://v8.1c.ru/8.1/data/core}KeyAndValue Проверка свойства 'Key':
форма: Элемент
имя: {http://v8.1c.ru/8.1/data/core}Key тип: {http://www.w3.org/2001/XMLSchema}anyType по причине:
Тип свойства неопределен
Квалифицированное имя типа: 'xs:decimal'
по причине:
Ошибка отображения пространства имен
Отсутствует отображение для префикса: 'xs'
ДД нет. его надо получить из сериализуемого значения.
Если предлагается сначала сериализация в строку (через XML например), а затем Base64Значение, то для этого FastInfoset и был придуман (за один шаг).
Насколько я понял он там только для конверсии объектов в дд используется для подсчета контрольной суммы, чтобы понять есть ли различия между разными версиями. Кстати, идею преобразования объектов в дд как раз из БСП и взял. Вопрос в обратном преобразовании.
Стандартные объекты сериализуются/десериализуются. К сожалению десириализация Соответствия вызывает ошибку. Видимо не все что может быть сериализовано с помощью FastInfoset может быть восстановленно обратно. Вопрос решил через ЗначениеВФайл/ЗначениеИзФайла. Как всегда в 1С через одно место...
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший