Как убрать меню "Операции" из интерфейса пользователя в обычном приложении 1С

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

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

Причина сохранения меню "Операции" в интерфейсе

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

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

Разбор по шагам: как правильно убрать меню "Операции"

Рассмотрим порядок действий в Конфигураторе для полного удаления меню "Операции" у целевых пользователей:

  1. Откроем Конфигуратор и перейдем в ветку метаданных Общие -> Интерфейсы.
  2. Проверим состав основного переключаемого интерфейса пользователя и удалим из него команду или подменю Операции.
  3. Проанализируем все остальные интерфейсы в дереве метаданных на предмет свойства Переключаемый. Выясним, какие из них назначены ролям данного пользователя.
  4. Откроем каждый непереключаемый интерфейс (у которого свойство Переключаемый равно Ложь) и убедимся, что пункт меню Операции удален из их состава.
  5. Сохраним конфигурацию БД и перезапустим пользовательский сеанс.

Альтернативные способы и важные нюансы

Рассмотрим дополнительные особенности управления меню "Операции" и ограничением доступа к объектам системы:

  1. Ограничение по ролям: Содержимое пункта меню Операции формируется платформой динамически. Если у роли пользователя сняты права на чтение или просмотр конкретных типов объектов (справочников, документов, отчетов), эти объекты автоматически исключаются из списка. Если прав нет ни на один объект определенной категории, сама категория скрывается.
  2. Безопасность и права доступа: Помним, что визуальное скрытие меню Операции не является защитой от несанкционированного доступа. Позиция меню — это лишь точка входа. Если у роли пользователя остаются права на объекты метаданных, пользователь сможет открыть их программно через ОткрытьФорму() или из внешних обработок. Для реального ограничения доступа необходимо настраивать права ролей.
  3. Ограничение динамического управления: В режиме обычного приложения платформа не позволяет динамически скрыть системное меню из программного кода (например, в модуле сеанса) без смены интерфейса или перезапуска программы.
← На главную