Skip to content
GitLab
  • Explore
  • Sign in
  • Register
  • 1С1С
  • БГУБГУ
  • Поддержка перехода к сопоставленным объектам в ЕМППоддержка перехода к сопоставленным объектам в ЕМП
  • Issues
  • #31

Унифицировать расширение (для применения с различными конфигурациями на базе БСП)

Требуемая возможность

Унифицировать расширение (для применения с различными конфигурациями на базе БСП).

С учётом ограничений платформы подготовка универсального расширения, не требующего доработки под конкретную конфигурацию, невозможна.

В связи с чем предлагаю разработать конфигурацию, требующую минимальный объём доработок при адаптации под конкретную конфигурацию.

После реализации целесообразно выполнить слияние в терминах 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 для облегчения переноса изменений из шаблона в дальнейшем
Edited Jan 22, 2023 by Бетке Сергей Сергеевич
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking