Как вывести объект в подсистему ERP 2.5 без использования расширений и снятия с поддержки?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием IT и автоматизация бизнеса
← На главную

При работе с крупными корпоративными системами на базе 1С:ERP 2.5 программисты часто сталкиваются с жесткой политикой сопровождения. Типичная ситуация: необходимо добавить справочник или документ в конкретный раздел интерфейса, но регламент компании запрещает создавать новые расширения («чтобы не плодить сущности») и категорически запрещает снимать объекты метаданных с поддержки (оставляя их на «замке»).

В этой статье мы разберем, как решить задачу вывода подразделов и команд в интерфейс, используя штатные механизмы БСП (Библиотеки стандартных подсистем) и возможности платформы «1С:Предприятие 8.3», не нарушая целостность типовой конфигурации.

Анализ проблемы: почему стандартные методы не всегда подходят

Традиционно для изменения состава подсистем используется либо прямое редактирование дерева конфигурации, либо механизм расширений. Однако, если мы ограничены «замком» на объектах, мы не можем добавить наш справочник в состав подсистемы в окне метаданных. Многие надеются на модули типа МодификацияКонфигурацииПереопределяемый, но здесь важно понимать ограничение платформы: структура командного интерфейса (дерево подсистем) формируется на этапе компиляции конфигурации. Динамически «впрыснуть» новый справочник в корень подсистемы через программный код в рантайме невозможно, так как это структурное изменение метаданных.

Тем не менее, существуют обходные пути, которые позволяют добиться нужного визуального результата для пользователя.

Способ 1. Механизм «Дополнительные отчеты и обработки» (БСП)

Это самый «чистый» способ с точки зрения методологии 1С. Если нам нужно предоставить доступ к объекту, мы можем создать внешнюю обработку, которая будет открывать нужный нам справочник или выполнять команду.

Рассмотрим алгоритм действий:

  1. Создадим внешнюю обработку, в модуле объекта которой пропишем стандартный программный интерфейс БСП для регистрации.
  2. В функции СведенияОВнешнейОбработке() укажем тип ДополнительнаяОбработка.
  3. В режиме «1С:Предприятие» перейдем в раздел Администрирование — Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки.
  4. Загрузим нашу обработку и в таблице Размещение выберем те подразделы (подсистемы), где она должна отображаться.

Проанализируем результат: команда появится в подразделе «Дополнительные обработки» выбранной подсистемы. Это полностью соответствует политике «без расширений», хотя и требует от пользователя лишнего клика для перехода в группу дополнительных команд.

Способ 2. Программное управление «Избранным» и навигацией

Если пользователю нужен быстрый доступ к справочнику, мы можем принудительно добавить ссылку на этот объект в панель «Избранное» при первом входе пользователя в систему. Для этого как раз подходят переопределяемые модули, которые обычно открыты для редактирования даже в строгих конфигурациях.

Разберем пример кода, который можно разместить, например, в модуле ПриНачалеРаботыСистемы (или аналогичном переопределяемом месте, доступном в вашей версии ERP):


// Программное добавление ссылки в избранное пользователю
СсылкаНаСправочник = Справочники.ИмяВашегоСправочника.ПолучитьСсылку();
ТекстСсылки = "Открыть справочник (Спец. раздел)";

ПользовательскиеНастройки = ХранилищеОбщихНастроек.Загрузить("Общее/ПанельИзбранного", "");
// Здесь выполняется логика анализа текущих настроек и добавления новой ссылки
// с использованием метода ХранилищеОбщихНастроек.Сохранить()

Этот метод позволяет «подсунуть» пользователю нужный инструмент прямо перед глазами, не меняя структуру подсистем в метаданных.

Способ 3. Настройка видимости через «Копирование настроек»

Часто бывает так, что объект уже включен в состав подсистемы разработчиками 1С, но он скрыт по умолчанию или выключен функциональной опцией. Проанализируем ситуацию:

  1. Проверим Функциональные опции. Возможно, нужный вам подраздел ERP просто выключен в настройках системы (НСИ и администрирование). Включение одной «галочки» может вывести целую группу справочников.
  2. Используем Настройку навигации. Зайдите под администратором в нужный раздел, нажмите на шестеренку («Настройка навигации») и перетащите нужный объект из левой колонки в правую.
  3. Чтобы это изменение увидели все, воспользуйтесь формой Администрирование — Настройки пользователей и прав — Копирование настроек. Выберите себя как донора и скопируйте «Настройки командного интерфейса» целевым пользователям.

Способ 4. Роль модуля «МодификацияКонфигурацииПереопределяемый»

Выясним, чем нам может помочь этот модуль. В ERP 2.5 он предназначен для изменения поведения форм и логики объектов. Хотя он не добавит новый элемент в дерево подсистем, через него можно управлять видимостью существующих команд.

Если ваша задача — сделать так, чтобы штатная команда вела себя иначе или открывала другой список, вы можете перехватить создание формы в этом модуле:


Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт
    Если Форма.ИмяФормы = "Справочник.ТиповойСправочник.ФормаСписка" Тогда
        // Логика подмены или модификации
    КонецЕсли;
КонецПроцедуры

Важное замечание о «Включении возможности изменения»

Нужно различать «Снятие с поддержки» и «Включение возможности изменения». Как верно подмечено в обсуждении, включение возможности изменения с сохранением поддержки (объекты остаются на «замке», но правила разрешают редактирование) — это штатный режим работы. Если политика компании запрещает только снятие (когда значок кубика пропадает), то включение редактирования для общей команды или подсистемы может быть допустимым компромиссом.

Однако, если «замок» должен быть абсолютным, то единственными рабочими вариантами остаются Внешние обработки (БСП) и Индивидуальные настройки интерфейса пользователей через хранилище настроек.

Резюме

Рассмотрев все варианты, мы видим, что динамически изменить метаданные подсистемы «на лету» без расширений нельзя. Но мы можем:

Каждый из этих методов позволяет соблюсти чистоту конфигурации и выполнить требования бизнеса по доступности инструментов для пользователей.

← На главную