В настоящее время со стороны 1С существуют 3 метода сериализации значений:
- Старый способ со времен 7.7. Мобильные устройства требуют отдельных костылей.
- Работа с XML. Поддерживается всей линейкой 1С 8x.
- Метод JSON - начиная с 8.3.6.
Вызвать XML сводно можно следующим образом
| Метод вызова | Особенности |
| БСП/СерилиазаторXDTO | 1C 8.1 и новее. Нет сохранения РезультатаЗапроса |
| XMLСтрока/XMLЗначение | 1С 8.0 и новее.Нет сохранения РезультатаЗапроса |
Вызов БСП (приведен из комментария)
Ведомость = ОбщегоНазначения.ЗначениеИзСтрокиXML(СтрокаXML); // ТЗ из XML строки
СтрокаXML = ОбщегоНазначения.ЗначениеВСтрокуXML(Ведомость); // ТЗ в XML строку
Второй проблемой, не все типы которые сериализуются через внутренний формат можно сохранить в XML (например, это РезультатЗапроса, и на некоторых версиях 1С 8.2 есть проблемы с графической схемой).
Поэтому, для работы через сериализацию по методу XML подойдут вот эти функции:
//Для сложных типов данных - читаем через Хранилище Значения (метод 1с 8.0 и новее!!! - заменил БСП):
Функция ЗначениеВСтрокуXML(Значение) Экспорт
возврат XMLСтрока(новый ХранилищеЗначения(Значение));
КонецФункции
Функция ЗначениеИзСтрокиXML(СтрокаXML) Экспорт
возврат XMLЗначение(Тип("ХранилищеЗначения"),СтрокаXML).Получить();
КонецФункции
PS: приведенными функции, позволяют решить проблему сериализации специфических типов через XML, но они являются пригодными только для одной базы.
Эти функции обеспечивают необходимое дополнение для получения XML Строки для этих типов.
Вступайте в нашу телеграмм-группу Инфостарт
