К статье
Практический материал

Администрирование · 10 мин

Какие действия допустимы в командном интерфейсе 1С

Разбираем допустимые действия в командном интерфейсе 1С: панель разделов, панель функций, настройка видимости команд, права доступа и типичные ошибки при работе.

Командный интерфейс — это основа управляемого приложения 1С: набор панелей, кнопок и команд, через которые пользователь открывает документы, справочники и отчёты. В отличие от обычного интерфейса ранних версий, командный интерфейс формируется автоматически: платформа сама собирает меню из метаданных конфигурации, а разработчик или администратор лишь корректирует состав и порядок команд. Понимание того, какие действия в нём допустимы, помогает настроить рабочее место под конкретную роль и не сломать стандартную логику.

Допустимые действия делятся на три уровня. Первый — действия пользователя: скрытие и перемещение команд, настройка панелей под себя без изменения конфигурации. Второй — действия разработчика в конфигураторе: добавление команд в подсистемы, управление видимостью по ролям, создание общих команд. Третий — программные действия: обращение к командному интерфейсу из кода, создание форм с собственными командами. У каждого уровня есть свои ограничения, и смешивать их нельзя.

Из чего состоит командный интерфейс и где какие действия разрешены

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

Ключевой принцип: пользователь в режиме предприятия может менять только представление — скрывать лишние команды, менять их порядок, выбирать картинку и расположение панелей. Состав команд, их принадлежность к подсистемам и доступность по ролям определяются в конфигураторе. Программно из кода допустимо добавлять команды в формы и управлять их видимостью, но напрямую «перестроить» главное меню прикладного решения кодом нельзя — для этого существуют подсистемы и настройки командного интерфейса.

Что может делать пользователь без доступа к конфигуратору

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

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

Ограничение пользовательского уровня: нельзя добавить в меню команду, которой нет в конфигурации, нельзя изменить состав разделов и нельзя обойти ограничения по правам. Если команда не видна из-за роли, никакая настройка панели её не покажет — сначала нужно изменить права.

Как пользователю настроить панель функций
  1. 1
    Откройте нужный раздел в панели разделов
  2. 2
    Найдите команду настройки навигации (шестерёнка или меню «Вид»)
  3. 3
    Перенесите ненужные команды из выбранных в доступные
  4. 4
    Упорядочьте оставшиеся команды кнопками вверх и вниз
  5. 5
    Нажмите «ОК» и проверьте, что раздел отображает только нужные пункты

Действия разработчика: настройка командного интерфейса в конфигураторе

Основной инструмент разработчика — окно «Командный интерфейс», которое открывается из контекстного меню подсистемы или из корня конфигурации. В нём допустимо: включать и выключать видимость команд в разделе, менять порядок команд кнопками перемещения, задавать группы по умолчанию (важные команды выносятся в начало списка). Изменения применяются ко всем пользователям, у которых есть доступ к соответствующим объектам.

В свойствах объектов метаданных (справочника, документа, отчёта) на закладке «Командный интерфейс» допустимо управлять стандартными командами: отключать команду создания, команду открытия списка, задавать их видимость. Это удобно, когда объект служебный и не должен светиться в меню, но использоваться программно.

Также разработчик может создавать общие команды — самостоятельные пункты меню, не привязанные к конкретному объекту. Общая команду включается в подсистему, ей назначается обработчик в общем модуле, и она появляется в панели функций раздела. Это штатный способ добавить в меню произвольное действие, например запуск обработки сверки данных.

Управление доступностью команд через роли и функциональные опции

Видимость команды в интерфейсе автоматически зависит от прав: если у пользователя нет права «Просмотр» на объект, команда открытия списка не появится в меню. Это встроенное поведение платформы, и отдельно скрывать команду вручную при уже настроенных ролях обычно не требуется. Правильный путь — настроить роли, а интерфейс подстроится сам.

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

Чего делать не стоит

Распространённая ошибка — скрывать команды прямым редактированием подсистем в типовой конфигурации, когда достаточно функциональной опции или роли. При каждом обновлении такие правки придётся сопоставлять вручную. Ещё одна ошибка — давать пользователю роль с полными правами «чтобы команда появилась»: это открывает доступ к данным, а не только к пункту меню.

Типичные ошибки
01
Редактирование подсистем типовой конфигурации вместо настройки функциональных опций — усложняет обновление
02
Выдача полных прав ради видимости одной команды — нарушает разграничение доступа к данным
03
Удаление стандартных команд объектов вместо отключения их видимости — теряется возможность быстро вернуть поведение
04
Программное дублирование команд формы без проверки на существование — приводит к задвоению кнопок

Программные действия: команды форм и их ограничения

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

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

bsl
&НаСервере
Процедура ДобавитьКоманду()
    НоваяКоманда = Команды.Добавить("ПоказатьОстатки");
    НоваяКоманда.Действие = "ПоказатьОстатки";
    НоваяКоманда.Заголовок = "Остатки";
    Кнопка = Элементы.Добавить("КнопкаОстатки", Тип("КнопкаФормы"), Элементы.КоманднаяПанель);
    Кнопка.ИмяКоманды = "ПоказатьОстатки";
КонецПроцедуры

Проверка результата и контрольные точки

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

Контрольные точки

Как проверить результат

Видимость команды у пользователя
Норма

Команда видна только при наличии нужной роли и включенной опции

Тревожный признак

Команда видна всем или не видна никому

Порядок команд в разделе
Норма

Частые команды в начале списка, порядок одинаков у всех пользователей группы

Тревожный признак

У разных пользователей разный состав меню без причин

Работа после обновления конфигурации
Норма

Настройки сохранились, конфликтов при обновлении не было

Тревожный признак

Обновление требует ручного сопоставления подсистем

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

FAQ

Почему пользователь не видит команду, хотя она включена в подсистему?

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

Можно ли скрыть раздел для одного пользователя, не меняя конфигурацию?

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

Как добавить в меню запуск внешней обработки?

Штатный способ — подключить обработку через механизм дополнительных отчётов и обработок (в типовых конфигурациях на базе БСП) и назначить ей раздел. Альтернатива для собственной разработки — создать общую команду, включить её в подсистему и в обработчике открывать нужную форму.

Почему после обновления типовой конфигурации пропали мои настройки меню?

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

Можно ли программно перестроить главное меню из кода?

Нет, платформа не даёт API для изменения панели разделов и панели функций из встроенного языка. Динамическое поведение реализуется через функциональные опции: код меняет их значения, а интерфейс перестраивается при обновлении. Программно допустимо управлять только командами конкретных форм.

Чем отличается отключение видимости команды от удаления объекта из подсистемы?

Отключение видимости скрывает только конкретную команду, остальные команды объекта в разделе остаются. Удаление объекта из подсистемы убирает все его команды из раздела. Для точечной настройки используйте видимость, для полного исключения раздела — состав подсистемы.

Итог

Что важно запомнить

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