Перенос ранее созданных в Custom схем в отдельный пакет

Подскажите пожалуйста, как и имеется ли вообще возможность переноса схем и объектов созданных в пакете custom в обособленный пакет.
Устанавливаются проблемы с зависимостями, т.е. если какой-то объект объявлен в пакете custom то расширять его замещающими схемами и объектами в каком либо пользовательском пакете уже не получается, зависимость же от самого пакета custom установить нельзя естественным способом, да и это тоже создает ряд проблем (начинаются ошибки при переносе пакета, с текущим пакетом и т.д.)

Нравится

6 комментариев

Здравствуйте, Илья Сергеевич!

Перенести схемы можно с помощью функциональности экспорта/импорта схем. Подробнее с этим механизмом можно ознакомится на Академии Terrasoft:

https://academy.terrasoft.ru/documents/technic-sdk/7-9/perenos-izmeneni…

Описанный способ переноса схем имеет ряд ограничений, одним из них является то, что, если Вам помимо схем нужно перенести привязанные данные, то с помощью экспорта/импорта Вы этого не сделаете. Более расширенные возможности для переноса изменений имеет WorkspaceConsole.
Подробное описание этих возможностей Вы найдете по ссылке:

https://academy.terrasoft.ru/documents/technic-sdk/7-9/perenos-izmeneni…

Ознакомились с указанной статьей на академии касательно WorkSpaceConsole.
Но к сожалению в ней не содержатся сведения касаемо поставленного вопроса, там представлена информация по переносу пакетов преимущественно.
Не могли бы вы предоставить информацию касаемо того как переносить с его помощью схемы между пакетами (я так понимаю через WorkSpaceConsole имеется возможность произвести миграцию вместе с данными ?)

"Севостьянов Илья Сергеевич" написал:имеется ли вообще возможность переноса схем и объектов созданных в пакете custom в обособленный пакет.

Предлагаю немного кривой способ:
1) Создать свой пакет под Custom (допустим унаследоваться от SalesEnterpriseSoftKeyRus), добавить в св-вах Custom только что созданый пакет в зависимости (вкладка зависимые пакеты)
2) пересохранить все схемы/объекты/коды в custom. При сохранении указать свой пакет
pic
3) Если схем много, то беда)))

Здравствуйте, Илья.

"Севостьянов Илья Сергеевич" написал:

Ознакомились с указанной статьей на академии касательно WorkSpaceConsole.

Но к сожалению в ней не содержатся сведения касаемо поставленного вопроса, там представлена информация по переносу пакетов преимущественно.

Не могли бы вы предоставить информацию касаемо того как переносить с его помощью схемы между пакетами (я так понимаю через WorkSpaceConsole имеется возможность произвести миграцию вместе с данными ?)

Одной из особенностей пакета Custom является тот факт, что его схемы можно перенести в другое приложение/другой пакет только при помощи экспорта и импорта. В отличие от других предустановленных пакетов, пакет [Custom] нельзя выгрузить в файловую систему при помощи утилиты WorkspaceConsole. Также, наследоваться от пакета [Custom] и устанавливать вместо данного пакета любой другой пакет в качестве корневого крайне не рекомендуется!
При необходимости разработать значительный объем новой функциональности более целесообразным будет создание нового пользовательского пакета с использованием SVN.

3) Если схем много, то беда)))

Да, беда.

Проблем целый ворох:
1) Обяъвленные в Custom сущности никак не расширить в пользовательском пакете, т.к. зависеть от Custom - нельзя (конфигуратор "защтой от дурака" просто не дает этого делать) вручную в SysPackageDependency можно реализовать необходимое дерево, но в таком случае:

  • Такой пакет фиксируется в хранилище, но с него потом никуда не устанавливается (Custom специфический пакет у него нет версии и хранилища - получаем ошибки при установке пакета), и единственный способ - ручной коммит с правкой descriptor.json в корне бранча в котором зависимость от Custom, и уже после установки SQL-сриптом возвращать зависимости в необходиомое состояние
  • Пользовательский пакет для такой системы обязан быть "текущим" иначе перестают работать все мастера (страниц, раздела, БП)

2) Расширение функционала сущностей из Custom можно делать в пакетах располагающихся "вилкой", т.е. параллельно Custom в дереве зависимостей, тогда приложение функционирует корректно, остаются все те-же проблемы с работой мастеров, но это можно преодолеть например со страницами и разделами - создавая все вручную, а вот с бизнес-процессами проблема просто нерешаема, в мастере просто нет возможности использовать сущности и поля из "параллельных пакетов"
3) Ни в коем случае нельзя устанавливать зависимость самого Custom от пакета в котором есть какая-либо замещающая схема или объект этого самого Custom - такой выпад - вообще приводит систему в неработоспособное состояние после компиляции с ошибкой "зависимости".

Дополню предыдущий комментарий, что c другими особенностями работы с пакетом [Custom] Вы можете ознакомиться в документации:

https://academy.terrasoft.ru/documents/technic-sdk/7-9/paket-custom

Показать все комментарии