Имя: Пароль:
1C
 
примеры обмена с разными версиями конфигурации
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 через универсальный формат =)
для того и придуман