Горячие клавиши в 1С:Предприятие: где их назначают и что можно поменять

· 9 мин

Содержание

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

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

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

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

Самые полезные для ежедневной работы:

КлавишиЧто делают
Ctrl+C, Ctrl+V, Ctrl+XКопировать, вставить, вырезать
Ctrl+ZОтменить последнее действие при вводе
Ctrl+SЗаписать открытый объект
F4Открыть выбор значения в поле или раскрыть список
F2Перейти к редактированию значения
InsДобавить новую строку или элемент в списке
F9Скопировать выделенный элемент списка
DelПометить выделенный элемент на удаление
Ctrl+FБыстрый поиск в списке
F1Справка

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

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

В конфигураторе набор свой. Например, F5 запускает «1С:Предприятие» в режиме отладки, Ctrl+F5 — без отладки, а Ctrl+F7 проверяет синтаксис модуля.

Можно ли поменять клавиши в режиме «1С:Предприятие»

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

Если вам нужно именно «чтобы эта кнопка нажималась с клавиатуры», у вас три пути:

  1. Попросить разработчика конфигурации назначить сочетание команде (разберём ниже).
  2. Использовать средства Windows или сторонние утилиты, которые отправляют в окно 1С нужную последовательность клавиш.
  3. Привыкнуть к существующим сочетаниям и вынести нужные команды в панель действий, чтобы они были под рукой.

Третий путь недооценивают. Панель действий в форме настраивается самим пользователем: в меню настройки формы можно добавить на неё нужные команды и не искать их в «Ещё».

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

Это основной способ, и он работает для своих команд: команд формы и команд конфигурации.

Команда формы

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

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

Команда конфигурации

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

Что выбрать в качестве комбинации

Пара практических правил:

  • Берите сочетания с Ctrl и Alt вместе с функциональной или буквенной клавишей, например Ctrl+Alt+P. Одиночные буквы заняты вводом текста.
  • Проверьте комбинацию в самой 1С и в Windows: часть сочетаний перехватывает операционная система, и до платформы они не дойдут.
  • Не занимайте то, что пользователи уже знают: Ctrl+C, Ctrl+S, F4 и подобные.
  • Для команд, которыми пользуются раз в месяц, горячая клавиша не нужна: запомнить её никто не успеет.

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

Расширения: как добавить сочетание в типовую конфигурацию

В «Бухгалтерии», ЗУП или УТ нужную кнопку обычно добавляют через расширение. Схема такая:

  1. Создайте расширение: в конфигураторе меню «Конфигурация» → «Расширения конфигурации », кнопка добавления.
  2. Заимствуйте нужную форму из основной конфигурации.
  3. Добавьте в заимствованную форму команду и разместите её на форме (в командной панели или группе).
  4. Задайте команде сочетание клавиш и напишите обработчик.
  5. Загрузите расширение в базу и обновите конфигурацию базы данных.

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

Пример: команда с обработчиком от начала до конца

Допустим, в форме обработки нужна кнопка «Заполнить», которую хочется вызывать с клавиатуры. Порядок такой.

  1. В форме создайте команду с именем Заполнить.
  2. В свойстве «Действие» нажмите лупу: платформа создаст в модуле формы процедуру-обработчик.
  3. Напишите в ней нужный код. Для проверки хватит сообщения:
&НаКлиенте
Процедура Заполнить(Команда)
    Сообщить("Команда вызвана с клавиатуры");
КонецПроцедуры
  1. Перетащите команду на форму, в командную панель или в группу, чтобы она отображалась.
  2. В свойстве «Сочетание клавиш» задайте, например, Ctrl+Alt+Z.
  3. Запустите отладку клавишей F5, откройте форму и нажмите сочетание. В окне сообщений появится текст.

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

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

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

Проверка сочетаний клавиш
Выполнено: 0 / 6

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

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

Назначить клавишу мало, о ней нужно сообщить. Без этого её найдут единицы.

  • Дайте команде понятное название и подсказку: платформа покажет сочетание рядом с пунктом меню, но только если оно задано.
  • Разошлите короткую памятку: три-четыре самых нужных комбинации, без перечня на два листа.
  • Если сочетание заменило привычное поведение, предупредите об этом отдельно и заранее.
  • Через месяц спросите, пользуются ли. Если нет, значит, команда нужна реже, чем казалось, и клавишу можно освободить.

Конфликты: что будет, если две команды имеют одно сочетание

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

Как проверять и разводить конфликты:

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

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

Интерфейс «Такси» и горячие клавиши

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

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

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

Обходные способы: Windows и сторонние программы

Когда нужно «повесить» на клавишу команду не в своей разработке, остаётся внешний слой. Работает он за пределами 1С, поэтому только имитирует нажатия.

AutoHotkey

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

#IfWinActive ahk_exe 1cv8c.exe
^!p::
    Send, {F4}
return
#IfWinActive

Скрипт срабатывает только когда активно окно клиента 1С (1cv8c.exe — тонкий клиент). Для толстого клиента подставьте 1cv8.exe. Комбинация Ctrl+Alt+P здесь превращается в нажатие F4.

Для веб-клиента процесс — это браузер, там привязка делается по заголовку окна или по самому браузеру.

Программируемые клавиатуры и мыши

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

Внешние утилиты отправляют клавиши вслепую. Если окно 1С в этот момент не активно или открыт диалог, нажатия уйдут не туда. Не привязывайте к макросам проведение документов и удаление: ошибка обойдётся дорого.

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

Что именно сбрасывать, зависит от того, что вы меняли.

Что менялиКак вернуть
Сочетание в своей команде в конфигуратореОткройте свойство «Сочетание клавиш», очистите значение, сохраните конфигурацию
Команду в расширенииУдалите команду или отключите расширение, затем обновите конфигурацию базы данных
Правки в типовой формеСравните конфигурацию с поставкой и верните значение свойства вручную; либо снимите конфигурацию с поддержки заново только по согласованию с ответственным за обновления
Скрипт AutoHotkeyЗакройте скрипт в области уведомлений Windows и удалите файл из автозагрузки

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

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

Можно ли назначить горячую клавишу на кнопку в 1С, если я просто пользователь?
Через интерфейс 1С нет. Попросите разработчика добавить сочетание в свойство команды или используйте внешнюю программу вроде AutoHotkey.
Почему моя комбинация не срабатывает?
Частые причины: команда не размещена на форме, у неё нет обработчика, сочетание занято другой командой или его перехватывает Windows. Проверьте по очереди.
Работают ли сочетания клавиш в веб-клиенте?
Часть работает, но браузер перехватывает свои комбинации (например, Ctrl+W, Ctrl+T, F5), и до 1С они не доходят. Для веб-клиента выбирайте сочетания аккуратнее и проверяйте в нужном браузере.
Как узнать, какое сочетание закреплено за командой?
Посмотрите подсказку рядом с командой в интерфейсе, а разработчику — свойство «Сочетание клавиш» у команды в конфигураторе.
Влияет ли раскладка клавиатуры на горячие клавиши?
Для сочетаний на букве важно, что платформа ориентируется на клавишу, а не на символ. Но если сочетание не срабатывает, проверьте его в русской и английской раскладках.