|
примеры обмена с разными версиями конфигурации |
☑ |
0
Noxvil
07.11.16
✎
16:23
|
Добрый день.
Самописная конфа на платформе 8.3.8
Есть подсистема, в которой несколько справочников, регистров сведений и документов.
Конфа обновляется и у разных клиентов могут быть разные версии.
Нужно выгрузить в файл набор элементов справочников (шаблон настроек), которые можно будет загрузить в любую версию конфигурации.
Это должна быть внешняя обработка, в которой выбирается файл шаблона, сравниваются данные с уже имеющимися в базе, дается выбор - что загружать и после этого начинается выгрузка.
Ранее подумал сделать правила обмена, но на текущий момент понял, что выбор некоторых элементов через типовой обмен предоставить пользователю не удастся, а так же структура конфигурации может отличаться...
Сейчас думаю в сторону десериализации в json при выгрузке и сериализации при загрузке.
Вопрос- есть ли в сериализации xdto возможность десериализовать объект с заполнением тех полей, которые есть в конфигурации приёмнике, чтобы обмен не выпадал с ошибкой?
|
|
1
Noxvil
07.11.16
✎
16:42
|
Есть мысли?
|
|
2
bolobol
07.11.16
✎
17:04
|
Сериализации, мыльнооперизации...
Есть метаданные с необходимым набором данных для выгрузки и для загрузки. Создал таблицу, где Путь - это ключевой реквизит, Тип - тип выгруженных данных, Значение - выгруженное значение.
Загрузил всё что совпало в конечной базе, что не совпало - спросил, настройки сохранил.
Казалось бы - просто, но никто до сих пор не осилил)
|
|
3
Noxvil
07.11.16
✎
17:16
|
(2) В принципе - да, ты прав.
Если не получится, так и попробую.
Но, если можно обойти падение при разной структуре, то сериализация = меньше кода.
|
|
4
quest
07.11.16
✎
17:34
|
(3) Ну сделай схему как описано в 2 и сриеализуй. Ничего падать не будет
|
|
5
Noxvil
07.11.16
✎
17:57
|
(4) Да, уже понял, что так и надо.
|
|
6
yzimin
07.11.16
✎
18:12
|
(0) Если в самописную конфу интегрирована БСП, то можно подумать над форматом EnterpriseData, если, конечно, структура подходит
|
|
7
Noxvil
07.11.16
✎
18:28
|
(6) Вот как раз всё и упирается в отсутствие структуры...
|
|
8
Noxvil
07.11.16
✎
18:35
|
Самое быстрое/простое, что придумал:
1) сериализовать через xdto
2) потом форматировать файл:
"#type" > "type"
"#value" > "value"
"jcfg:CatalogObject.блШаблоныБизнесПроцессов" > "CatalogObject.блШаблоныБизнесПроцессов"
3) читать файлы простым чтением JSON
4) заполнять реквизиты через ЗаполнитьЗначениеСвойств()
5) далее определять ТЧ через метаданные и заполнять их
В этом случае структура файла будет более-менее понятна
|
|
9
shuhard_серый
07.11.16
✎
18:40
|
(1) КД3 через универсальный формат =)
для того и придуман
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший