Разработка и Конфигурация · 12 мин
Как добавить команду в командный интерфейс 1С 8.3
Пошаговая инструкция: как добавить команду в командный интерфейс 1С 8.3 через конфигуратор. Настройка панелей, подсистем, видимости и типичные ошибки.
Командный интерфейс в 1С:Предприятие 8.3 — это набор панелей (подсистем, навигации, действий, избранного), через которые пользователь открывает документы, справочники, отчёты и обработки. Когда в конфигурации появляется новый объект или общая команда, она не всегда автоматически попадает в удобное место интерфейса: платформа строит состав панелей по правилам, заданным в конфигураторе.
Добавить команду в командный интерфейс можно двумя путями: через свойства объекта конфигурации (подсистемы и видимость) или через редактор командного интерфейса конкретной подсистемы. Первый способ подходит для массовой настройки, второй — для точного управления порядком, группами и видимостью отдельных команд.
Ниже разобраны оба подхода, настройка видимости по ролям, типичные ошибки и способы проверить результат до выкладки изменений пользователям.
Как устроен командный интерфейс и откуда берутся команды
Командный интерфейс формируется из команд, которые платформа автоматически создаёт для объектов конфигурации. У каждого справочника, документа, отчёта и обработки есть стандартные команды: открыть список, создать элемент, открыть отчёт. Дополнительно разработчик может создавать собственные команды у объектов (вкладка «Команды» в палитре свойств) и общие команды в ветке «Общие → Общие команды».
Размещение команд определяется подсистемами. Подсистема — это раздел прикладного решения, который отображается как кнопка в панели разделов. Если у объекта в свойствах на вкладке «Подсистемы» отмечена подсистема, его стандартные команды становятся доступны для включения в её командный интерфейс. Если подсистема не отмечена — команда объекта в интерфейсе этой подсистемы не появится вовсе.
Внутри подсистемы команды распределяются по панелям: панель навигации (группы «Обычное», «См. также» и др.) содержит команды открытия списков, панель действий — команды создания объектов, отчёты и сервисные операции. Понимание этой структуры важно, потому что добавление команды «в интерфейс» на практике означает добавление её в конкретную панель конкретной подсистемы.
Подготовка: что проверить перед добавлением команды
Перед тем как открывать редактор командного интерфейса, убедитесь, что объект, чью команду вы хотите показать, вообще связан с нужной подсистемой. Откройте палитру свойств объекта (правый клик → «Свойства»), перейдите на вкладку «Подсистемы» и отметьте галочками разделы, в которых команда должна появиться.
Второе условие — наличие самой команды. Стандартные команды (список, создание) существуют у объекта по умолчанию. Если нужна нестандартная операция — например, открытие специальной формы или запуск обработки данных — сначала создайте команду: у объекта на вкладке «Команды» или общую команду в ветке «Общие → Общие команды». У команды должен быть задан синоним (он отображается в интерфейсе) и, при необходимости, картинка.
Третий момент — права. Если у роли пользователя нет права «Просмотр» на объект, команда будет скрыта платформой автоматически, независимо от настроек командного интерфейса. Проверьте роли заранее, чтобы не искать причину «пропавшей» команды не там.
Добавление команды через редактор командного интерфейса подсистемы
Основной способ точечной настройки — редактор командного интерфейса подсистемы. Он показывает все команды, доступные в разделе, и позволяет управлять ими без изменения свойств самих объектов.
Порядок действий в конфигураторе:
- 1Откройте конфигуратор и в дереве конфигурации найдите ветку «Общие → Подсистемы».
- 2Правой кнопкой мыши щёлкните по нужной подсистеме и выберите пункт «Командный интерфейс».
- 3В открывшемся редакторе найдите требуемую команду в списке панели навигации или панели действий.
- 4Установите галочку видимости напротив команды — она появится в интерфейсе.
- 5При необходимости перетащите команду в другую группу (например, из «Обычное» в «См. также») внутри панели.
- 6Нажмите «ОК», сохраните конфигурацию (Ctrl+S) и обновите конфигурацию базы данных (F7).
В редакторе команды разбиты на две области: слева — панель навигации, справа — панель действий. Команды без галочки присутствуют в списке серым и в интерфейсе не отображаются. Обратите внимание на колонку «Видимость»: по умолчанию там стоит «Авто», то есть команда видна всем, у кого есть права на объект.
Если нужной команды в списке нет вообще — значит, объект не включён в эту подсистему. Вернитесь к свойствам объекта, отметьте подсистему на вкладке «Подсистемы» и откройте редактор заново: команда появится в списке.
Добавление общей команды и команды объекта
Общая команда
Общие команды удобны, когда действие не привязано к конкретному объекту: открытие обработки, вызов диалога, переход к произвольной форме. Создаётся она в ветке «Общие → Общие команды» кнопкой «Добавить». В свойствах команды задаются синоним, картинка, режим использования модальности и обработчик команды — модуль с кодом на встроенном языке.
Чтобы общая команда появилась в интерфейсе, у неё тоже есть вкладка «Подсистемы» в палитре свойств. Отметьте нужные разделы, затем откройте редактор командного интерфейса подсистемы и включите команду в панель навигации или действий. Без отметки подсистемы общая команда останется невидимой, даже если обработчик написан корректно.
Команда объекта
Команды объекта создаются в палитре свойств объекта на вкладке «Команды». Такие команды автоматически получают в обработчике ссылку на объект и обычно размещаются не только в панелях подсистемы, но и в формах объекта. Для показа в командном интерфейсе раздела действуют те же правила: подсистема отмечена у объекта, галочка выставлена в редакторе.
Сравнение вариантов
Подходит для открытия списков и создания элементов. Ничего программировать не нужно, достаточно включить видимость в редакторе.
Подходит, когда действие связано с конкретным объектом — например, печать или заполнение по шаблону. Требует написания обработчика в модуле.
Подходит для действий без привязки к объекту: запуск обработки, открытие настроек, сервисные операции. Доступна из любой подсистемы, где она отмечена.
Настройка видимости команды по ролям
Частая задача — показать команду только части пользователей, например команду обмена данными — только администраторам. Для этого в редакторе командного интерфейса служит кнопка «Видимость» (или колонка с ролями, в зависимости от версии платформы). Выделите команду и откройте настройку видимости: появится список ролей конфигурации с галочками.
Логика такая: команда видна пользователю, если хотя бы для одной из его ролей видимость включена. Значение «Авто» означает, что видимость определяется правами на объект. Явная настройка по ролям переопределяет авто-режим, но не отменяет проверку прав: если у роли нет права просмотра объекта, команда всё равно не появится.
Практичный приём — создать отдельную роль для доступа к специальным командам и назначать её вручную. Тогда управление видимостью сводится к назначению роли пользователю, а конфигурацию менять не придётся.
Проверка результата в режиме предприятия
После сохранения конфигурации и обновления конфигурации базы данных запустите режим 1С:Предприятие под той учётной записью, для которой настраивался интерфейс. Откройте нужный раздел и проверьте: команда появилась в ожидаемой панели, синоним отображается корректно, картинка не «пустая».
Если запуск выполнен под полными правами, дополнительно проверьте интерфейс под рядовым пользователем — видимость по ролям и права могут дать другую картину. Удобно держать тестовую учётную запись с типовым набором ролей именно для таких проверок.
Как проверить результат
Команда видна в нужной панели и группе
Команды нет — проверьте отметку подсистемы у объекта и галочку в редакторе
Команда видна только тем ролям, для которых настроена
Команда видна всем или никому — пересмотрите настройку видимости по ролям и права
По нажатию открывается нужная форма или выполняется обработчик
Ошибка при вызове — проверьте модуль команды и режим использования модальности
Типичные ошибки и ограничения
Самая частая причина «команда не появляется» — объект не включён в подсистему. Редактор командного интерфейса показывает только команды объектов, отмеченных в этой подсистеме, поэтому сначала проверяйте вкладку «Подсистемы» у объекта или общей команды.
Вторая группа ошибок связана с порядком применения изменений: конфигурацию сохранили, но забыли обновить конфигурацию базы данных (F7), либо проверяют в сеансе, запущенном до обновления. Перезапустите сеанс предприятия после обновления — интерфейс строится при старте.
Из ограничений стоит помнить: командный интерфейс настраивается только в конфигураторе, в режиме предприятия пользователь может лишь персонально настраивать панели через «Настройка навигации» внутри раздела, и эти настройки индивидуальны. Также в файловых базах с включённым режимом совместимости возможны отличия в поведении панелей — сверяйтесь с документацией под свою версию платформы.
Если команд в разделе много, выносите редко используемые в группу «См. также» панели навигации. Так основной список остаётся коротким, а вспомогательные операции не теряются — это заметно упрощает работу пользователей без изменения прав и кода.
FAQ: частые вопросы о командном интерфейсе 1С 8.3
Можно ли добавить команду в командный интерфейс без конфигуратора?
Полноценно — нет: состав команд и их видимость по ролям задаются только в конфигураторе. В режиме предприятия пользователь может лишь изменить порядок и состав своих панелей через «Настройка навигации» и «Настройка действий» внутри раздела, и эти настройки персональные, на других пользователей они не влияют.
Почему команда есть в редакторе, но не видна у пользователя?
Три вероятные причины: у роли пользователя нет права «Просмотр» на объект, видимость команды по ролям настроена так, что ни одна роль пользователя в неё не входит, или сеанс пользователя запущен до обновления конфигурации базы данных. Проверяйте в этом порядке.
Как добавить отчёт или обработку в панель действий?
Отметьте нужные подсистемы в свойствах отчёта или обработки, затем откройте редактор командного интерфейса подсистемы и включите команду в области панели действий. Стандартная команда открытия появится там автоматически после включения объекта в подсистему.
Чем общая команда отличается от команды объекта?
Команда объекта связана с конкретным объектом конфигурации и получает в обработчике его контекст (например, ссылку на документ). Общая команда не привязана к объекту, может вызываться из любой подсистемы, где она отмечена, и подходит для сервисных операций и запуска обработок.
Как скрыть команду от части пользователей правильно?
В редакторе командного интерфейса выделите команду, откройте настройку видимости и снимите галочки с ролей, которым команда не нужна. Помните: это влияет только на отображение. Если задача — запретить саму операцию, настраивайте права на объект в ролях, а не видимость команды.
Нужно ли перезапускать сеанс пользователей после изменения интерфейса?
Да. Командный интерфейс формируется при старте сеанса, поэтому после обновления конфигурации базы данных пользователям нужно перезапустить 1С:Предприятие, чтобы увидеть новые команды.
Что важно запомнить
Команда попадает в командный интерфейс через подсистему: объект отмечается в подсистеме, затем команда включается галочкой в редакторе командного интерфейса раздела. Видимость по ролям настраивается там же, но не заменяет права. После изменений сохраните конфигурацию, обновите конфигурацию базы данных и проверьте результат под учётной записью с рабочим набором ролей.