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