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

Разработка и Конфигурация · 10 мин

Глобальные команды в 1С 8.3: где найти и как работать с ними

Где найти глобальные команды в 1С 8.3: конфигуратор, ветка «Общие», командный интерфейс, поиск по меню. Разбираем создание, настройку и типичные ошибки.

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

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

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

Где глобальные команды находятся в конфигураторе

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

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

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

Где найти глобальные команды в режиме «Предприятие»

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

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

Как найти глобальную команду в пользовательском режиме
  1. 1
    Откройте главное меню и выберите «Все функции» — там перечислены все доступные команды и объекты.
  2. 2
    Либо введите название команды в строку глобального поиска и выберите её в подсказке.
  3. 3
    Если команда не находится — проверьте права пользователя и настройки командного интерфейса раздела.
  4. 4
    Для разработчика: откройте конфигуратор, ветка «Общие» → «Глобальные команды», и проверьте свойство «Группа команд».

Учтите, что пункт «Все функции» может быть скрыт настройками интерфейса конкретного пользователя. Включить его можно через главное меню → «Вид» → «Настройка панелей» либо через параметры клиентского приложения, в зависимости от версии платформы и режима запуска.

Как создать глобальную команду в конфигураторе

Создание команды занимает несколько минут. В ветке «Общие» → «Глобальные команды» нажмите «Добавить» в контекстном меню. Задайте имя (например, «ОткрытьНастройкиОбмена») и синоним, который увидит пользователь. Затем перейдите в модуль команды и напишите обработчик.

bsl
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    ОткрытьФорму("Обработка.НастройкиОбмена.Форма");
КонецПроцедуры

Обработчик ОбработкаКоманды у глобальной команды всегда имеет два параметра: ПараметрКоманды (для глобальных команд обычно не используется — он не заполняется) и ПараметрыВыполненияКоманды, через которые доступны источник, окно и уникальность вызова. Код пишется на клиенте; серверные процедуры вызываются из него при необходимости.

После написания кода обязательно настройте свойство «Группа команд» — иначе команда не появится в интерфейсе. Например, выберите «Командный интерфейс.Панель навигации.Обычное» или привяжите команду к конкретной подсистеме через её свойства. Затем обновите конфигурацию базы данных (F7) и проверьте результат в режиме «Предприятие».

Настройка видимости: подсистемы и командный интерфейс

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

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

Почему команда не отображается: типичные причины

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

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

Типичные ошибки
01
Не задана группа команд и не включена подсистема — команда существует, но нигде не отображается.
02
Забыли обновить конфигурацию базы данных (F7) — пользователь видит старую версию интерфейса.
03
Команда привязана к выключенной функциональной опции — исчезает из интерфейса без сообщений.
04
Код обработчика написан с директивой &НаСервере без контекста формы — команда падает с ошибкой при вызове.
05
Попытка передать параметр в глобальную команду — глобальные команды не параметризуются, для этого нужны команды объектов.

Когда глобальная команда не подходит: альтернативы

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

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

Какой механизм выбрать

Глобальная команда

Действие без параметра, доступное из любого места: открытие обработки настроек, запуск обмена, служебные операции.

Команда объекта метаданных

Действие над конкретным объектом: команда получает ссылку-параметр и показывается в форме объекта или списка.

Автоматическая команда подсистемы

Просто открыть отчёт или обработку: включите объект в подсистему, платформа создаст команду сама.

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

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

Команда в дереве метаданных
Норма

Команда есть в ветке «Общие» → «Глобальные команды», свойства заполнены

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

Команды нет или пустое свойство «Группа команд» и не включена ни одна подсистема

Отображение в режиме «Предприятие»
Норма

Команда видна в панели навигации раздела и находится через «Все функции»

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

Команды нет ни в разделе, ни в поиске — проверяйте права и функциональные опции

Выполнение
Норма

При нажатии выполняется обработчик без ошибок

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

Ошибка компиляции или «Метод не обнаружен» — проверьте модуль команды и директивы компиляции

FAQ по глобальным командам 1С 8.3

Чем глобальная команда отличается от общей команды?

В дереве метаданных 1С 8.3 есть только «Глобальные команды» внутри ветки «Общие» — отдельного объекта «общая команда» платформа не предоставляет. Термином «общая команда» иногда называют команды, размещённые в общих формах или доступные из нескольких мест, но физически это либо глобальные команды, либо команды конкретных объектов.

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

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

Как найти, откуда вызывается команда в типовой конфигурации?

Используйте глобальный поиск по конфигурации (Ctrl+Shift+F в конфигураторе) по имени команды — так найдутся все ссылки на неё в подсистемах, функциональных опциях и ролях. Также полезен отчёт «Поиск ссылок на объекты» через контекстное меню команды.

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

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

Можно ли назначить глобальной команде горячие клавиши?

Да, в свойствах команды есть поле «Сочетание клавиш» — там задаётся комбинация, по которой команда вызывается с клавиатуры. Учитывайте, что сочетание не должно конфликтовать со стандартными комбинациями платформы и браузера при работе через веб-клиент.

Команда пропала после обновления конфигурации — что делать?

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

Итог

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

Глобальные команды находятся в конфигураторе: «Общие» → «Глобальные команды». В режиме «Предприятие» они видны в командном интерфейсе раздела, через «Все функции» и глобальный поиск — при условии, что задана группа команд или подсистема, есть права и обновлена конфигурация базы данных.