В конфигурациях 1С, работающих на платформе 1С:УНФ, функционал Рабочего места кассира (РМК) является достаточно жестко регламентированным. Пользователи часто сталкиваются с ситуацией, когда стандартный набор горячих клавиш не включает в себя все необходимые команды, например, часто используемую функцию «Отложить чек». Давайте разберем, почему это происходит и как мы можем самостоятельно внедрить нужную комбинацию клавиш, не нарушая целостность типовой конфигурации.
При анализе настроек рабочего места в режиме «1С:Предприятие» мы видим, что доступный список функций ограничен разработчиками конфигурации. Назначение горячих клавиш в 1С привязано к конкретным командам формы, которые были заранее предусмотрены в коде. В типовых решениях УНФ команда «Отложить чек» не выведена в список доступных для пользовательской настройки. Попытки изменить конфигурацию напрямую (снятие с поддержки) — это путь, который мы крайне не рекомендуем, так как это усложнит последующие обновления программы.
Наиболее профессиональным и безопасным способом решения данной задачи является создание Расширения конфигурации. Это позволит нам добавить нужную функциональность, сохранив при этом типовую конфигурацию в исходном виде.
Рассмотрим по шагам, как мы реализуем эту задачу:
Сочетание клавиш, например, Ctrl+F12.Пример программной реализации вызова типового действия может выглядеть следующим образом:
&НаКлиенте
Процедура КомандаОтложитьЧекНажатие(Команда)
// Вызываем стандартную процедуру формы, отвечающую за откладывание чека
ОтложитьЧекНаСервере();
КонецПроцедуры
Важно помнить, что при использовании такого подхода мы должны внимательно следить за тем, чтобы выбранная комбинация клавиш не пересекалась с системными сочетаниями Windows или другими горячими клавишами, которые уже используются внутри 1С, такими как Alt+F4 или стандартные клавиши управления таблицами.
Часто пользователи замечают, что горячие клавиши срабатывают только тогда, когда открыта панель быстрых товаров. Это связано с архитектурой 1С: «горячие» клавиши в 1С часто привязываются к элементам управления, которые имеют Фокус ввода. Если фокус находится в поле ввода штрихкода, форма может «не видеть» команду, если она не описана как Глобальная команда формы.
Чтобы наша клавиша работала независимо от того, где стоит курсор, мы должны убедиться, что команда, созданная в расширении, добавлена в коллекцию Команды формы и имеет свойство Использование установленное в Авто, а в настройках самого Сочетания клавиш указана правильная привязка к действию формы.
При разработке расширения учитывайте следующие важные аспекты:
Ctrl+F12 чек действительно уходит в отложенные и статус документа меняется корректно.Подводя итог, можно сказать, что хотя типовой функционал 1С:УНФ не дает нам гибкости в настройке кнопок через «Галочки», архитектура системы позволяет нам легко расширить возможности программы через Расширения. Это сохраняет стабильность системы и дает нам полный контроль над интерфейсом кассира.