Унифицировать расширение (для применения с различными конфигурациями на базе БСП)
Требуемая возможность
Унифицировать расширение (для применения с различными конфигурациями на базе БСП).
С учётом ограничений платформы подготовка универсального расширения, не требующего доработки под конкретную конфигурацию, невозможна.
В связи с чем предлагаю разработать конфигурацию, требующую минимальный объём доработок при адаптации под конкретную конфигурацию.
После реализации целесообразно выполнить слияние в терминах git в аналогичное расширение для ЕМП, чтобы в дальнейшем с минимальными трудозатратами повторять изменения в указанном расширении. В дальнейшем - и в других (для других конфигураций).
Текущее поведение
Сейчас для каждой конфигурации приходится поддерживать своё расширение. И в случае необходимости обеспечения перехода к новым узлам информационных баз придётся вносить изменения в расширение.
Возможное решение
-
добавить подсистемы для облегчения в дальнейшем включения функционала в конфигурации. Добавляемые объекты включаем только в собственные подсистемы -
пересмотреть заимствованные подсистемы -
добавить определяемый тип СинхронизируемыеДанные
-
для этих целей поднять уровень совместимости до 8.3.20 -
в связи с чем изменить major версию расширения и описать возникающие breaking changes
-
-
команду перехода к форме списка регистра: -
показывать для объектов, указанных в определяемом типе СинхронизируемыеДанные
-
перенести её в командную панель СинхронизацияДанных
-
ограничить доступ для роли Администратор
-
добавляем функциональную опцию "Использовать просмотр списка сопоставленных объектов из формы объекта". Описываемую команду включаем в состав данной функциональной опции -
для хранения состояния функциональной опции добавляем константу -
добавляем форму настройки функциональной опции -
при первой установке расширения заполняем значение константы
-
-
-
команду перехода к форме предупреждений при синхронизации: -
показывать для объектов, указанных в определяемом типе СинхронизируемыеДанные
-
перенести её в командную панель СинхронизацияДанных
-
ограничить доступ для роли Администратор
-
добавляем функциональную опцию "Использовать просмотр предупреждений синхронизации из формы объекта". Описываемую команду включаем в состав данной функциональной опции -
для хранения состояния функциональной опции добавляем константу -
добавляем форму настройки функциональной опции -
при первой установке расширения заполняем значение константы
-
-
-
команду перехода к сопоставленным объектам: -
показывать для объектов, указанных в определяемом типе СинхронизируемыеДанные
-
перенести её в командную панель СинхронизацияДанных
-
ограничить доступ для роли ППСО3_ИспользованиеПереходаКСопоставленнымОбъектамИБ
, добавляемой расширением -
по команде выполнять запрос к регистру в целях получения объектов, сопоставленных данному, во всех информационных базах, кроме текущего узла. Группируя результат запроса по узлам информационных баз, получаем список информационных баз, к объектам в которых возможен переход. И для каждого полученного таким образом узла информационной базы формируем команду перехода и объединяем их в подменю, которое и показываем по описываемой команде.
-
-
создать шаблон расширения данного типа для различных внедрений -
переименовать slug расширения из 1c-shared/bgu/1s-GoToLinkedObjects
в1c-shared/common/GoToLinkedObjects
-
переименовать каталог с "исходными" файлами расширения в src/extensions/GoToLinkedObjects
-
оставить в шаблоне из заимствованных только объекты, присутствующие в БСП (по большей части - ради примеров) -
связать (merge) репозиторий 1c-shared/common/GoToLinkedObjects
с1c-shared/bgu/1s-GoToLinkedObjects
для облегчения переноса изменений из шаблона в дальнейшем
-