В процессе активной работы со справочниками в конфигурации 1С:Управление торговлей 10.3 (которая базируется на платформе 1С:Предприятие и использует обычные формы) пользователи часто сталкиваются с необходимостью быстрого перехода к связанным данным. Например, находясь в справочнике Контрагенты, часто требуется оперативно открыть список договоров контрагента, его банковские счета, контактные лица или просмотреть записи в связанных регистрах сведений.
Для выполнения этой задачи на панели инструментов предусмотрена кнопка «Перейти». Однако постоянное переключение с клавиатуры на мышь снижает скорость работы операторов, бухгалтеров и менеджеров. Использование клавиатурных комбинаций (горячих клавиш) позволяет значительно ускорить выполнение рутинных операций. Давайте подробно рассмотрим, как решить эту задачу стандартными методами платформы, а также разберем, как программист может настроить индивидуальное сочетание клавиш для максимального удобства.
Пользователи, имеющие опыт работы в современных конфигурациях на управляемых формах (например, 1С:Управление торговлей 11, 1С:Бухгалтерия 3.0 или 1С:ERP), привыкли использовать универсальное сочетание клавиш Alt + 4. В управляемом интерфейсе эта комбинация мгновенно активирует панель навигации формы, предоставляя доступ к связанным разделам (аналог меню «Перейти»).
Однако в конфигурации 1С:Управление торговлей 10.3 интерфейс построен на классических обычных формах. В этой программной среде сочетание Alt + 4 по умолчанию не привязано к меню «Перейти». Попытка его нажатия в списке контрагентов или номенклатуры ни к чему не приведет. Для обычных форм нам необходимо использовать другие встроенные механизмы платформы.
В операционной системе Windows и в платформе 1С:Предприятие для элементов управления меню и кнопок командной панели реализована поддержка так называемых клавиатурных акселераторов. Это назначенные символы в названиях команд, которые становятся активными при зажатии клавиши Alt. В интерфейсе они визуализируются в виде подчеркивания конкретной буквы в названии кнопки.
В типовом решении 1С:Управление торговлей 10.3 разработчики платформы заложили системный акселератор для кнопки «Перейти». В коде интерфейса название прописано как Пере&йти, где символ амперсанда указывает на то, что горячей клавишей является буква, следующая сразу за ним.
Выполним следующие шаги для вызова меню через акселератор:
Alt, нажмем букву Й (в русской раскладке клавиатуры). Таким образом, сработает комбинация Alt + Й.Важное примечание: В некоторых нетиповых, сильно измененных конфигурациях или специфических локализациях платформы буква-акселератор может отличаться. Например, если кнопка называется по-другому или амперсанд установлен на другой символ, подчеркнутой может оказаться буква «П» или «Е». В таком случае сработает сочетание Alt + П или Alt + Е соответственно. Всегда ориентируйтесь на подчеркнутый символ при зажатой клавише Alt.
Если по какой-то причине использование акселераторов неудобно (например, на клавиатуре не работает или стерлась нужная клавиша), мы можем воспользоваться универсальным платформенным механизмом активации элементов формы.
Разберем этот алгоритм по шагам:
Этот способ является универсальным для любых обычных форм 1С и гарантированно работает на любой конфигурации, независимо от того, какие акселераторы настроены разработчиками.
Еще один удобный и эффективный способ быстро добраться до меню связанных данных без использования компьютерной мыши — это обращение к контекстному меню текущей строки списка справочника.
Проанализируем последовательность действий:
Если пользователям приходится совершать переходы десятки раз в день, даже стандартные многоступенчатые комбинации могут показаться утомительными. В этом случае лучшим решением будет доработка конфигурации. Программист или системный администратор с правами разработчика может назначить прямое и простое сочетание клавиш (например, Ctrl + Shift + G) непосредственно для кнопки «Перейти».
Рассмотрим два варианта реализации этой задачи.
Этот способ наиболее прост и нагляден, он не требует написания программного кода:
Справочники -> Контрагенты).Формы.ФормаСписка).ДействияФормы).Ctrl + Shift + G. Платформа автоматически зафиксирует эту комбинацию.В некоторых случаях форму невозможно или нежелательно редактировать визуально (например, если она формируется динамически или заблокирована на поддержку). Тогда мы можем применить программный подход, добавив обработчик в модуль формы.
Разберем программный метод. Нам потребуется открыть модуль формы списка и в процедуре ПриОткрытии прописать следующий код:
Процедура ПриОткрытии()
// Защитим исполнение кода блоком Попытка-Исключение на случай изменения структуры панели
Попытка
// Определяем доступ к элементу формы - командной панели
ПанельДействий = ЭлементыФормы.ДействияФормы;
// Находим кнопку с именем "Перейти" в коллекции кнопок панели
КнопкаПерейти = ПанельДействий.Кнопки.Перейти;
// Задаем новое сочетание клавиш с помощью объекта СочетаниеКлавиш
// Параметры конструктора: Клавиша, Alt, Ctrl, Shift
КнопкаПерейти.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.G, Ложь, Истина, Истина);
Исключение
// Запишем предупреждение в журнал регистрации, если кнопка не была найдена
ЗаписьЖурналаРегистрации("НастройкаИнтерфейса",
УровеньЖурналаРегистрации.Предупреждение, , ,
"Не удалось программно переназначить клавиши для меню Перейти: " + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
В данном примере мы использовали конструктор объекта СочетаниеКлавиш, передав в него системное перечисление клавиши G и булевые флаги для системных клавиш-модификаторов. В результате пользователи смогут мгновенно вызывать меню переходов простым нажатием Ctrl + Shift + G.
Выбор оптимального способа зависит от ваших задач и уровня доступа к системе. Стандартные платформенные средства хороши тем, что работают "из коробки" на любом рабочем месте без вмешательства в программный код конфигурации, а доработка в Конфигураторе позволяет создать максимально эргономичное рабочее пространство для конечных пользователей.