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