Вход | Регистрация


примеры обмена с разными версиями конфигурации

примеры обмена с разными версиями конфигурации
Я
   Noxvil
 
07.11.16 - 16:23
Добрый день.
Самописная конфа на платформе 8.3.8
Есть подсистема, в которой несколько справочников, регистров сведений  и документов.
Конфа обновляется и у разных клиентов могут быть разные версии.

Нужно выгрузить в файл набор элементов справочников (шаблон настроек), которые можно будет загрузить в любую версию конфигурации.

Это должна быть внешняя обработка, в которой выбирается файл шаблона, сравниваются данные с уже имеющимися в базе, дается выбор - что загружать и после этого начинается выгрузка.

Ранее подумал сделать правила обмена, но на текущий момент понял, что выбор некоторых элементов через типовой обмен предоставить пользователю не удастся, а так же структура конфигурации может отличаться...

Сейчас думаю в сторону десериализации в json при выгрузке и сериализации при загрузке.

Вопрос- есть ли в сериализации xdto возможность десериализовать объект с заполнением тех полей, которые есть в конфигурации приёмнике, чтобы обмен не выпадал с ошибкой?
 
 
   Noxvil
 
1 - 07.11.16 - 16:42
Есть мысли?
   bolobol
 
2 - 07.11.16 - 17:04
Сериализации, мыльнооперизации...

Есть метаданные с необходимым набором данных для выгрузки и для загрузки. Создал таблицу, где Путь - это ключевой реквизит, Тип - тип выгруженных данных, Значение - выгруженное значение.
Загрузил всё что совпало в конечной базе, что не совпало - спросил, настройки сохранил.
Казалось бы - просто, но никто до сих пор не осилил)
   Noxvil
 
3 - 07.11.16 - 17:16
(2) В принципе - да, ты прав.
Если не получится, так и попробую.

Но, если можно обойти падение при разной структуре, то сериализация = меньше кода.
   quest
 
4 - 07.11.16 - 17:34
(3) Ну сделай схему как описано в 2 и сриеализуй. Ничего падать не будет
   Noxvil
 
5 - 07.11.16 - 17:57
(4) Да, уже понял, что так и надо.
   yzimin
 
6 - 07.11.16 - 18:12
(0) Если в самописную конфу интегрирована БСП, то можно подумать над форматом EnterpriseData, если, конечно, структура подходит
   Noxvil
 
7 - 07.11.16 - 18:28
(6) Вот как раз всё и упирается в отсутствие структуры...
   Noxvil
 
8 - 07.11.16 - 18:35
Самое быстрое/простое, что придумал:

1) сериализовать через xdto
2) потом форматировать файл:

"#type" > "type"

"#value" > "value"

"jcfg:CatalogObject.блШаблоныБизнесПроцессов" > "CatalogObject.блШаблоныБизнесПроцессов"

3) читать файлы простым чтением JSON
4) заполнять реквизиты через ЗаполнитьЗначениеСвойств()
5) далее определять ТЧ через метаданные и заполнять их

В этом случае структура файла будет более-менее понятна
   shuhard_серый
 
9 - 07.11.16 - 18:40
(1) КД3 через универсальный формат =)
для того и придуман

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует