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

Администрирование · 13 мин

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

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

Горячие клавиши в 1С ускоряют работу опытных пользователей, но нередко становятся источником проблем: случайное нажатие Ctrl+S в неподходящий момент, закрытие формы по Esc, вызов удаления объекта через Shift+Delete. В задачах, где важна дисциплина ввода данных — кассовые операции, складской учёт, работа с регламентированными документами — администраторы стремятся ограничить или полностью заблокировать часть сочетаний клавиш.

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

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

Определите, какие сочетания нужно заблокировать

Прежде чем вносить изменения, зафиксируйте конкретный список проблемных комбинаций и сценариев. Чаще всего блокируют: Shift+Delete (удаление объектов минуя пометку), F8 в некоторых контекстах, Ctrl+S / «Записать», Esc (отмена ввода), Alt+F4 (закрытие окна), а также системные сочетания Windows — Ctrl+Alt+Del, Alt+Tab, Win-клавишу — если рабочее место работает в режиме киоска.

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

Сочетание вызывает команду 1СУправляется платформой

Проверьте свойство «Сочетание клавиш» у команды в конфигураторе

Сочетание закрывает окно или переключает приложенияСистемный уровень Windows

1С его не видит — нужны средства ОС или киоск-ПО

Проблема только у части пользователейВопрос прав доступа

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

Нажатие обрабатывается кодом формыУправляемая форма

Смотрите обработчики ожидания и команд формы

Способ 1. Переназначение сочетания в конфигураторе

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

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

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

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

Способ 2. Ограничение через роли и права доступа

Если цель — не убрать клавишу, а запретить само действие, правильнее работать с правами. Горячая клавиша — лишь способ вызвать команду; если у пользователя нет права на операцию (удаление, проведение, интерактивное изменение), сочетание клавиш ничего не выполнит. Это надёжнее косметической блокировки, потому что закрывает все пути вызова: меню, кнопки, клавиатуру и даже программный вызов.

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

Способ 3. Перехват нажатий в коде формы

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

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

bsl
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	// Отключаем команду проведения для кассира: горячая клавиша перестанет срабатывать
	Если Не ЕстьПравоПроведения() Тогда
		Элементы.ФормаПровести.Доступность = Ложь;
	КонецЕсли;
КонецПроцедуры

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

Способ 4. Блокировка системных сочетаний Windows

Когда 1С работает в режиме киоска (кассовый терминал, информационное рабочее место, планшет на складе), требуется заблокировать Alt+Tab, Alt+F4, клавишу Win, Ctrl+Esc. Эти сочетания обрабатывает операционная система, поэтому платформа 1С здесь бессильна.

Доступные варианты: назначение 1С в качестве shell-оболочки вместо проводника (через реестр или средства киоск-режима Windows), использование функции «Назначенный доступ» (Assigned Access) в Windows, редактор локальных групповых политик для отключения отдельных сочетаний, а также сторонние программы блокировки клавиатуры. Для тонкого клиента и веб-клиента часть комбинаций перехватывает браузер — их блокируют настройками браузера в режиме киоска.

Сравнение способов и выбор подходящего

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

Сравнение вариантов

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

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

Роли и права

Подходит для запрета операции группе пользователей; закрывает все способы вызова. Ограничение: не убирает сочетание, а блокирует действие

Код формы (доступность команд)

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

Средства Windows / киоск-ПО

Единственный способ заблокировать Alt+Tab, Win, Ctrl+Alt+Del. Ограничение: настройка на уровне ОС, вне компетенции 1С

Маршрут решения

Как выбрать действие

Пользователи случайно нажимают сочетание и вызывают командуОчистите сочетание клавиш у команды в конфигураторе или расширении
Нужно запретить само действие (удаление, проведение)Настройте роли: снимите права на интерактивные операции у объекта
Блокировка зависит от состояния документа или пользователяУправляйте доступностью команды в коде формы с серверной проверкой
Мешают системные сочетания Windows на киоскеНастройте киоск-режим ОС или специализированное ПО блокировки клавиш

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

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

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

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

Нажатие заблокированного сочетания
Норма

Ничего не происходит или появляется сообщение о запрете

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

Команда выполняется — сочетание не очищено или право не снято

Вызов команды из меню «Ещё»
Норма

Команда отсутствует или недоступна

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

Команда активна — блокировка обходится без клавиатуры

Работа под учётной записью целевого пользователя
Норма

Ограничения действуют

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

Проверка делалась под администратором — результат недостоверен

Поведение после обновления конфигурации
Норма

Настройки в расширении сохранились

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

Изменения в типовой конфигурации затёрты обновлением

Типичные ошибки
01
Блокируют клавишу, но не права: действие выполняется через меню или контекстное меню, защита оказывается иллюзорной
02
Правят типовую конфигурацию напрямую вместо расширения: после обновления изменения теряются или обновление блокируется
03
Проверяют под полными правами: ограничения не видны, ошибка всплывает у пользователей в рабочее время
04
Пытаются заблокировать Alt+Tab или Win средствами 1С: платформа не получает эти события, время потрачено впустую
05
Отключают недоступные для редактирования стандартные команды удалением из формы: ломается связанная логика и обновление формы

Ограничения и когда нужен разработчик

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

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

В большинстве обращений «заблокируйте клавиши» реальная потребность — не клавиши, а запрет операции. Начинайте разбор с вопроса «что не должно происходить?», а не «какую клавишу убрать?»: в половине случаев задача решается одной настройкой роли без всяких доработок.
ПЗ
Практическое замечание
Итог

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

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

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

Можно ли полностью отключить все горячие клавиши в 1С одной настройкой?

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

Как запретить удаление документов по Shift+Delete?

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

Изменения пропали после обновления конфигурации. Что делать?

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

Как заблокировать Alt+Tab и клавишу Windows на кассовом месте с 1С?

Платформа 1С эти сочетания не обрабатывает — их перехватывает Windows. Используйте режим «Назначенный доступ», замену shell-оболочки на 1С через реестр, групповые политики или специализированное киоск-ПО. Перед настройкой создайте точку восстановления и убедитесь, что есть способ вернуть обычный режим.

Блокировка работает у администратора, но не у пользователя — или наоборот. Почему?

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

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

Да. Управляйте доступностью команды именно в этой форме: в обработчиках «ПриОткрытии» и при изменении данных устанавливайте «Доступность» команды в Ложь — недоступная команда не реагирует на горячие клавиши. Глобальные команды при этом останутся рабочими в других формах.