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

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

Как сделать горячие клавиши в 1С

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

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

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

Стандартные горячие клавиши, которые уже работают

Платформа 1С:Предприятие содержит встроенный набор сочетаний, единый для большинства конфигураций. Их не нужно настраивать — достаточно знать и применять. Основные: F2 — переход в режим редактирования поля, Ctrl+S — сохранение объекта, Ctrl+P — печать, Ctrl+F — поиск, F9 — проведение документа (в соответствующих формах), Ctrl+C / Ctrl+V — копирование и вставка, Delete — удаление выделенной строки.

Отдельно полезны клавиши работы со списками: Insert добавляет новую строку в табличную часть, F5 обновляет список, а Enter открывает выбранный элемент. В управляемых формах сочетание Ctrl+F4 закрывает текущую вкладку окна, а Esc отменяет редактирование без сохранения изменений.

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

Сочетание работает вездеСтандартная клавиша платформы

Ничего настраивать не нужно, используйте как есть

Сочетание работает не вездеКоманда конкретной формы

Проверьте свойства команды в конфигураторе

Сочетание не работает совсемКонфликт или отсутствие назначения

Проверьте пересечения с ОС и другими командами

Как назначить горячую клавишу команде формы в конфигураторе

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

В палитре свойств команды найдите поле «СочетаниеКлавиш». Нажмите кнопку выбора — откроется диалог, где задаётся клавиша и модификаторы (Ctrl, Alt, Shift). Например, можно назначить Ctrl+Shift+S для команды «Сохранить и закрыть». После выбора сочетания создайте обработчик команды: платформа предложит сгенерировать процедуру &НаКлиенте, в которой вы пишете нужный код.

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

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

Глобальные сочетания через общие команды

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

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

Назначение клавиш в расширении конфигурации

Для типовых решений (1С:Бухгалтерия, 1С:Управление торговлей и подобных) правильный путь — расширение. Создайте расширение, добавьте в него заимствованную форму нужного объекта, затем добавьте собственную команду с сочетанием клавиш и обработчиком. Расширение подключается без снятия конфигурации с поддержки и сохраняется при обновлениях.

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

Программная обработка нажатий и её ограничения

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

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

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

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

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

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

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

Нажатие сочетания на форме
Норма

Выполняется назначенная команда

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

Ничего не происходит или срабатывает другая команда

Команда в командной панели
Норма

Кнопка видна и доступна

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

Команда только в списке команд формы

Поведение при открытом модальном окне
Норма

Сочетание работает или корректно игнорируется

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

Ошибка выполнения обработчика

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

Расширение сохранило сочетание

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

Доработка пропала — изменения делались в типовом коде

Типичные ошибки
01
Назначение сочетания команде, которой нет в командной панели — клавиша не срабатывает
02
Конфликт с сочетаниями ОС или браузера при работе через веб-клиент
03
Дублирование одного сочетания на двух командах формы — непредсказуемое поведение
04
Доработка типовой формы напрямую вместо расширения — потеря изменений при обновлении
05
Назначение одиночных клавиш без модификаторов — пересечение с вводом текста в поля

FAQ

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

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

Работают ли горячие клавиши в веб-клиенте 1С?

Да, но с ограничениями: часть сочетаний перехватывает браузер (например, Ctrl+T, Ctrl+W, F5). Такие комбинации либо не дойдут до приложения, либо выполнят действие браузера. Выбирайте сочетания с Shift и редкими клавишами.

Как назначить одну клавишу на несколько действий в зависимости от контекста?

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

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

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

Можно ли отключить стандартную горячую клавишу платформы?

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

Какие сочетания безопасно выбирать для своих команд?

Оптимальны комбинации с двумя модификаторами, например Ctrl+Shift+буква или Ctrl+Alt+буква: они редко заняты платформой, ОС и браузером. Перед назначением проверьте сочетание на конфликты во всех режимах работы, которые используются в вашей организации.

Итог

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

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