Разработка представляет собой некое расширение ".cfe" для конфигурации. Каждый пользователь может создавать себе настройки горячих клавиш печатных форм и сохранять их внутри базы данных.
Тестовая площадка: Версия платформы "1С:Предприятие 8.3 (8.3.11.3034)", Бухгалтерия предприятия, редакция 3.0 (3.0.63.15).
В одной фирме главбух поставила задачу, пожелание дословно звучало примерно так:
В форме документа-реализации сделай такую кнопку, которая выводит на экран некую форму ТОРГ-12 (специально сделанную, которая в "дополнительных обработках" размещена). И чтобы операторы сразу при открытии документа эту кнопку увидели, а не "копались" в меню печати. Там очень много всяких форм, и постоянно люди ошибаются при выборе среди похожих названий, да и глаза ломать не хочется - время уходит, утомляет это.
Далее решено было немного подумать и принять решение. Путем почесывания головы и беглого анализа механизмов БСП, отвечающих за печать, пришли следующие мысли:
- Одной кнопкой "аппетит" пользователей не ограничится, да и некрасиво будет типовые формы "уродовать" различными кнопками, даже если совместимость конфигурации поддерживает механизм расширений.
- Возможно из документа "Реализация товаров и услуг" пожелания пользователей перекинутся на другие формы документов, формы списков, журналов.
После этого был задан вопрос главбуху:
Может быть Вам достаточно будет к существующему пункту меню привязать горячую клавишу 'Ctrl-1' например. А потом можно и к другим пунктам печати свои клавиши сделать?
После этого сразу же был получен утвердительный ответ.
Описание функционала:
- Форма редактирования настроек. Представляет собой простую форму, в которой выбирается объект метаданных из служебного справочника. Вызов формы идет в меню "Администрирование".
На данный момент решено оставить "Документы" и "Журналы документов" - так как для прочих метаданных печатные формы если и есть, то используются редко.
2. Редактирование горячих клавиш. При выборе нужного объекта метаданных формируется таблица из команд печати, доступных текущему объекту. Пример: журнал документов "Деньги", различные формы которого открываются для журнала банковских выписок и кассовых документов (ПКО,РКО):
Далее чтобы установить нужную комбинацию клавиш пользователь просто нажимает мышью нужную строку с командой и открывается "мини-форма", в которой идет установка нужного сочетания клавиш.
При нажатии "Записать и закрыть" идет указание горячей клавиши команды для последующего сохранения.
После того, как все настройки сделаны - нажимаем "Записать и закрыть" в основной форме настроек:
3. Команды печати в форме. При повторном открытии нужной формы (если была ранее открыта - нужно закрыть/открыть заново) меню печати видоизменяется - сразу видны настройки горячих клавиш в меню выбора форм:
Для печати просто нажимаем нужную комбинацию клавиш, предварительно выделив нужные объекты (можно производить печать сразу по нескольким объектам).
4. Настройка клавиш из формы объекта. Внимательный читатель заметит в картинке выше, что в меню печати появился 1 служебный пункт внизу "<Настройка горячих клавиш...>". По сути работает он аналогично п.1, только в поле "Объект метаданных" выбирать ничего не нужно - объект уже будет подставлен и команды заполнены:
Далее все идет аналогично, настраиваем нужные комбинации клавиш, жмем "Записать и закрыть":
ПРИМЕЧАНИЕ: Есть неудобный момент - при сохранении настроек клавиш в базе данных приходится переоткрывать исходную форму. Пока не нашел корректного решения для назначения сочетания клавиш в произвольной управляемой форме - для этого нужно обращаться к серверному контексту формы.