Горячие клавиши в 1С: своё сочетание для команды, кнопки и макроса

· 9 мин

Содержание

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

Если нужна просто быстрая работа с клавиатуры, сначала посмотрите, что уже есть. Стандартных сочетаний в 8.3 хватает на большую часть ежедневной работы, и многие их не знают.

Какие сочетания уже есть в платформе

Прежде чем что-то назначать, проверьте, не занято ли нужное сочетание и нет ли готового. Вот те, в которых можно быть уверенным в режиме 1С:Предприятие с интерфейсом «Такси»:

СочетаниеЧто делает
Ctrl+Sзаписать элемент или документ
Ctrl+F4закрыть текущее окно
Ctrl+Tabперейти к следующему открытому окну
Escзакрыть форму или отменить ввод в поле
F1справка
F2изменить выделенное (редактировать ячейку или элемент списка)
F4открыть список выбора для текущего поля
F5обновить список
F9скопировать элемент в списке
Insдобавить новый элемент в список
Delпометить выделенный элемент на удаление
Ctrl+Fпоиск в списке

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

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

Что можно настроить без разработчика

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

Что реально сделать самому:

  • 🖱 вынести нужную команду в избранное и открывать её из панели, а не искать в меню;
  • 🔍 пользоваться поиском команд в верхней строке интерфейса: набрали первые буквы, нажали Enter;
  • ⌨ освоить стандартные сочетания из таблицы выше: они одинаковы во всех типовых конфигурациях;
  • 🧩 поставить внешнюю утилиту, которая вызовет нужное сочетание или откроет окно по вашей клавише (раздел про AutoHotkey ниже).

Если вы хотите, чтобы сочетание работало у всех сотрудников одинаково, делать это надо в конфигурации, а не на одном компьютере. Для этого нужен доступ к Конфигуратору.

Где в Конфигураторе задаётся сочетание клавиш

У команды есть свойство «Сочетание клавиш». Оно есть у команд, которые вы создаёте сами: общих и форменных. Именно его заполняют, когда нужно, чтобы по Ctrl+Shift+K открывалась обработка или выполнялось действие.

Порядок такой:

  1. Откройте Конфигуратор для нужной базы (не рабочей: сначала тестовая копия).
  2. Найдите команду. Общая команда лежит в ветке «Общие» дерева конфигурации. Команда формы — в редакторе формы, закладка «Команды».
  3. Откройте палитру свойств команды и найдите строку «Сочетание клавиш».
  4. Нажмите кнопку выбора и введите сочетание: удерживая модификаторы (Ctrl, Alt, Shift), нажмите основную клавишу.
  5. Сохраните и обновите конфигурацию базы данных.
  6. Перезапустите клиент 1С и проверьте сочетание в форме, где команда доступна.

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

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

Свой элемент вместо правки типовой конфигурации

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

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

Кнопка в форме и сочетание на ней

Бывает, что нужно не новое действие, а клавиша на уже существующую кнопку. Здесь действует то же правило: у кнопки в форме есть связанная команда, и сочетание задаётся ей.

Что стоит учесть, когда задаёте такое сочетание:

  • 🔢 не берите одиночные цифры и буквы без модификаторов: они уйдут в поле ввода;
  • 🧠 держите логику: Ctrl плюс буква, связанная с действием по смыслу (например, Ctrl+Shift+P для печати), легче запоминается;
  • 🚫 не повторяйте уже существующие стандартные комбинации (Ctrl+S, F4, F9): вместо вашей команды сработает стандартное действие или будет конфликт;
  • 📋 если сочетание касается нескольких форм, проверьте его в каждой отдельно.

Хорошо работает проверенная схема: сочетание из трёх клавиш с Ctrl+Shift или Ctrl+Alt плюс буква. Два модификатора с буквой реже совпадают с чем-то системным, чем Alt с буквой: последний часто занят меню приложения.

Внешние макросы: AutoHotkey и другие утилиты

В самой платформе нет макрорекордера в том смысле, как в Excel. Запись последовательности действий («нажал кнопку, ввёл значение, перешёл дальше») платформой не выполняется. Если нужен макрос, он делается внешними средствами.

Самое распространённое решение — AutoHotkey. Это бесплатная программа для Windows, которая перехватывает сочетания и подставляет нажатия или текст. Для 1С это удобно, когда нужно ускорить рутину без доработки конфигурации.

Пример скрипта: по Ctrl+Shift+D в окне 1С вводится дата начала текущего месяца заготовкой текста. Название окна проверяйте у себя: оно зависит от конфигурации.

#IfWinActive ahk_exe 1cv8c.exe
^+d::
    SendInput, 01.
    FormatTime, mm, , MM.yyyy
    SendInput, %mm%
return
#IfWinActive

Что здесь важно:

  • ahk_exe 1cv8c.exe ограничивает действие тонким клиентом 1С; для толстого клиента и Конфигуратора процесс называется 1cv8.exe. Благодаря этому скрипт не срабатывает в других программах;
  • ^+d означает Ctrl+Shift+D: символ ^ — Ctrl, + — Shift, ! — Alt;
  • скрипт запускается как обычная программа, его кладут в автозагрузку Windows.

Такие скрипты работают на уровне клавиатуры, и платформа 1С о них не знает. Если форма поменяется после обновления, макрос может нажать не туда. Не используйте их для проведения документов и массовых изменений без проверки: ошибка в последовательности даст ошибочные данные в базе.

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

Почему сочетание не срабатывает

Самые частые причины, по которым горячая клавиша «не работает », лежат не в 1С.

Конфликты с Windows и раскладкой

Если у вас переключение раскладки стоит на Ctrl+Shift, любое сочетание, начинающееся с этих двух модификаторов, может переключать язык вместо вызова команды. Проверьте это в параметрах языка Windows: либо переназначьте переключение на Alt+Shift, либо подберите другое сочетание для 1С.

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

Конфликты внутри 1С

  • 🔁 сочетание совпадает со стандартным: сработает то, что стоит выше по приоритету, и поведение зависит от того, где стоит курсор;
  • 📝 в текстовом поле многие сочетания забирает редактор поля, и команда формы не получает клавишу;
  • 🪟 сочетание работает в одной форме и не работает в другой, потому что команды нет на форме;
  • 🗂 в терминальной сессии (RDP, RemoteApp) часть сочетаний, например Alt+Tab, перехватывает клиент удалённого рабочего стола, а не 1С.

Быстрая диагностика

  1. Проверьте сочетание на другом компьютере. Если там работает, проблема в Windows, раскладке или утилитах, перехватывающих клавиши.
  2. Закройте всё, что может перехватывать клавиши: менеджеры буфера обмена, приложения облачных заметок, программы для скриншотов.
  3. Проверьте, что команда с сочетанием видна на форме и доступна пользователю по ролям.
  4. Убедитесь, что конфигурация базы данных обновлена и клиент перезапущен.
Диагностика: выберите симптом

Если ничего не помогло

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

Первое проверяется просто: нажмите то же сочетание в «Блокноте». Если Windows или утилита его перехватывает, там тоже ничего не произойдёт или произойдёт постороннее действие. Если в «Блокноте» клавиша ведёт себя нормально, проблема внутри 1С.

Второе проверяется в Конфигураторе. Откройте форму и убедитесь, что команда стоит в дереве элементов формы, а не только в списке команд. Команда без элемента на форме остаётся недоступной, и сочетание к ней не привязывается так, как ожидается. Если нужен вызов без видимой кнопки, поместите элемент на форму и скройте его через видимость по ролям или условию, но не удаляйте.

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

Как не сломать привычную работу

Прежде чем раздавать сотрудникам новые сочетания, договоритесь о нескольких правилах. Они экономят время на поддержке.

  • Заведите общий список «команда — сочетание» и отдайте его всем пользователям. Иначе через месяц никто не вспомнит, что и где назначено.
  • Выбирайте сочетания по единой схеме: например, все команды отчётов начинаются с Ctrl+Shift, все команды обработок — с Ctrl+Alt.
  • Назначайте их в расширении, а не в основной конфигурации. Тогда после обновления релиза сочетания остаются на месте.
  • Перед выкладкой в рабочую базу проверьте всё на тестовой копии, а лучше под учётной записью пользователя с обычными правами, а не администратора.
  • Для обучения новых сотрудников дайте короткую шпаргалку со стандартными клавишами из первой таблицы. Она полезнее десятка собственных сочетаний.
Перед выкладкой сочетания клавиш
Выполнено: 0 / 5

Частые вопросы

Можно ли поменять стандартное сочетание, например, `F9` для копирования?
Нет. Стандартные сочетания платформы закреплены за командами и в настройках пользователя не меняются. Можно добавить свои команды с другими сочетаниями или перенаправить клавишу внешней утилитой.
Нужны ли для этого права администратора?
В режиме 1С:Предприятие обычному пользователю настроить сочетания нельзя. Менять свойства команд в Конфигураторе может пользователь с правами на изменение конфигурации, а AutoHotkey ставится на рабочее место и прав администратора базы не требует.
Сочетание клавиш сохранится после обновления конфигурации?
Если оно задано в расширении, да. Если оно добавлено в типовой объект, при обновлении возможна потеря или конфликт объединения.
Работает ли AutoHotkey в веб-клиенте?
Скрипт перехватывает клавиши на уровне Windows, поэтому с браузером он тоже может работать. Но имя процесса другое: вместо 1cv8c.exe нужно указывать браузер или заголовок окна, и поведение стоит проверить отдельно.
Почему сочетание срабатывает в одной базе и не срабатывает в другой?
Скорее всего, в другой базе команды нет, либо она не размещена на форме. Сочетание хранится в конфигурации, а не на компьютере.