|
примеры обмена с разными версиями конфигурации | ☑ | ||
---|---|---|---|---|
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 через универсальный формат =)
для того и придуман |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |