Среда, 16.10.2024, 11:32
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Сохранение / восстановление объектных параметров
cec2000Дата: Среда, 24.08.2022, 14:59 | Сообщение # 1
Майор
Группа: Пользователи
Сообщений: 91
Репутация: 110
Статус: Оффлайн
Сейчас в Консоли кода параметры объектного типа (например, ДокументОбъект) вообще не сохраняются в файлах f1c и t1c.
Хотелось бы уметь их сохранять/восстанавливать штатными средствами сериализации ЗаписатьXML и ПрочитатьXML.

Добавлено (24.08.2022, 16:20)
---------------------------------------------
Добавлю сюда же: из консоли кода не сохраняются значения переменных (в т.ч. как элементов Структуры) типа Запрос.
Насколько понимаю, это решабельная задача.

Понадобилось при отложенной отладке обработчиков событий из правил обмена КД 2.1

 
tormozitДата: Среда, 24.08.2022, 16:39 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 6396
Репутация: 165
Статус: Оффлайн
Создал задачу в самом ограниченном варианте https://www.hostedredmine.com/issues/948900
 
cec2000Дата: Четверг, 25.08.2022, 11:44 | Сообщение # 3
Майор
Группа: Пользователи
Сообщений: 91
Репутация: 110
Статус: Оффлайн
Я тут в целях общего развития разобрался с функциями ЗаписатьJSON и ЗаписатьXML.
ЗаписатьJSON умеет работать с типами:
  • Строка,
  • Число,
  • Булево,
  • Дата (преобразованная в строку),
  • Массив,
  • Структура,
  • Соответствие

ЗаписатьXML умеет работать с
  • Неопределено
  • Null
  • Булево
  • Число
  • Строка
  • Дата
  • Тип
  • УникальныйИдентификатор
  • ДвоичныеДанные
  • ХранилищеЗначения
  • ОписаниеТипов
  • а также ссылки объектов данных и сами объекты данных
  • наборы записей регистров
  • менеджер значения константы


Супер полезным оказалась возможность в вызове ЗаписатьJSON указывать свою функцию сериализации: вызываем ЗаписатьJSON, что сможет, она обработает. Что не сможет - вызовет эту функцию.

Дальше всё просто: в своей функции можно реализовать любую свою сериализацию. В том числе с рекурсивным вызовом.

Накидал простенькую тестовую обработку. На вход подаю структуру, на выходе получаю JSON строку с XML вкраплениями по мере необходимости.
Десериализацию не делал. Но, думаю, это не вызовет проблем.
Понятно, что это не решает задачу на все 100%, но, как минимум, даёт возможность сохранять данные в произвольных структурах без чрезмерных усилий.

Это интересно?
 
tormozitДата: Четверг, 25.08.2022, 14:57 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 6396
Репутация: 165
Статус: Оффлайн
На будущее это интересно. Но пока ЗаписатьJSON не могу использовать из-за поддержки старых платформ.
 
cec2000Дата: Пятница, 26.08.2022, 11:02 | Сообщение # 5
Майор
Группа: Пользователи
Сообщений: 91
Репутация: 110
Статус: Оффлайн
Цитата tormozit ()
Но пока ЗаписатьJSON не могу использовать из-за поддержки старых платформ.

Фокус в том, что ЗаписатьJSON нормально отработала даже в конфе с режимом совместимости 8.2.13
Правда, на платформе 8.3.19 :-)
 
  • Страница 1 из 1
  • 1
Поиск: