При переходе на новые релизы платформы 1С:Предприятие 8.3 многие пользователи и администраторы столкнулись с крайне неприятным поведением системы: в какой-то момент программа перестает реагировать на стандартные горячие клавиши. Перестает работать клавиша Escape для закрытия окон, не вызывается дерево подчиненных документов по Ctrl+Shift+S, а также полностью «отваливается» контекстное меню, вызываемое правой кнопкой мыши в списках и журналах. Давайте подробно разберем, почему это происходит и как с этим бороться.
Проанализируем ситуацию: проблема редко проявляется сразу после запуска программы. Как правило, менеджеры или бухгалтеры начинают рабочий день в штатном режиме, но через некоторое время сообщают, что «1С перестала слушаться». Основные признаки неисправности выглядят следующим образом:
Выясним причину такого поведения. Как показывает практика и отчеты пользователей, триггером проблемы выступает процесс печати. Сразу после того, как пользователь отправляет документ на принтер или открывает окно предварительного просмотра, платформа теряет корректный фокус ввода. Система «думает», что фокус все еще находится в диалоговом окне печати, хотя оно уже закрыто.
Проблема носит чисто технологический характер и связана с тем, как ядро платформы 1С взаимодействует с оконной подсистемой Windows. В версиях платформы ветки 8.3.12 (например, 8.3.12.1616) была допущена ошибка в обработке системных событий. Когда открывается модальное или блокирующее окно (в данном случае — окно драйвера принтера), операционная система передает ему управление. После закрытия этого окна фокус должен вернуться в основное окно 1С, но из-за бага он «подвисает» в невидимом системном слое.
Рассмотрим подробнее влияние внешних факторов. Опытным путем установлено, что частота проявления бага может зависеть от используемых драйверов принтеров. Наиболее часто проблема фиксировалась при работе с техникой HP и Kyocera, особенно при использовании универсальных драйверов печати в терминальных сессиях (RDP).
Если оперативно обновить платформу не представляется возможным, разберем методы, которые позволяют вернуть работоспособность клавиш без перезапуска 1С. Эти способы помогают принудительно «вернуть» фокус в приложение:
Alt+Tab, чтобы переключиться на любое другое открытое приложение (браузер, блокнот, проводник), и тут же вернуться обратно в 1С. Это заставляет Windows заново инициализировать фокус для окна 1С.Win (открытие и закрытие меню «Пуск») также в ряде случаев помогает сбросить «зависшее» состояние фокуса.Проанализируем ситуацию с версиями. Ошибка была официально признана разработчиками 1С и зарегистрирована под номером 10202023 (или 000047329). Поскольку баг находится внутри самого исполняемого кода платформы, никакие доработки конфигурации или написание внешних обработок не помогут.
Для полного устранения проблемы необходимо выполнить обновление платформы до релизов, в которых был исправлен механизм передачи фокуса после печати. Посмотрим на список версий:
8.3.13.1809 и выше.8.3.14.1565 и более поздних.Важное примечание для системных администраторов: Если вы используете версию 8.3.12.1685, знайте — в ней эта ошибка еще присутствует. Не стоит тратить время на переустановку этой же ветки, необходимо переходить на более современные релизы.
Если после обновления платформы проблема сохраняется (что бывает крайне редко), проанализируем настройки терминального доступа. Иногда «залипание» или игнорирование горячих клавиш в 1С вызвано настройками RDP-клиента. Проверим следующие параметры в свойствах подключения к удаленному рабочему столу:
Это исключит конфликты между локальными сочетаниями клавиш Windows и теми, которые должна перехватывать 1С внутри сессии.
Подведем итоги нашего анализа. Если в вашей компании пользователи жалуются на то, что «перестала работать правая кнопка мыши» или «не закрываются окна по Escape», выполните следующие действия:
Помните, что стабильная работа интерфейса напрямую влияет на производительность сотрудников, поэтому обновление платформы в данном случае является критически важной задачей.