Назначение сочетания клавиш для кнопок командной панели (Обычные формы)

Программирование - Практика программирования

Назначение сочетания клавиш кнопкам командной панели Формы списка/выбора для любой конфигурации (Обычные формы)

Вот решил рассказать сообществу как прикрутить сочетания клавиш (горячие клавиши) для кнопок командной панели Формы списка/выбора любого документа.

Решил использовать следующие сочетания: (вы можете использовать другие)

для отбора по значению - Alt + X

для отключения отбора  - Alt + D

Приступим:

        Открываем в конфигураторе Форму списка/выбора любого документа к которому решили прикрутить горячие клавиши

и видим ... что назначить сочетание клавиш для кнопок НЕДОСТУПНО... Cry

Начинаем танец с бубном: Wink

1. В Диалоге у командной панели снимаем Автозаполнение

2. Щелкаем правой кнопкой мыши по командной панели и выбираем "Заполнить автоматически"

3. На вопрос "Удалить существующие кнопки" отвечаем "НЕТ".

4. Рекомендую все "Существующие кнопки" переместить в конец панели (сделать как было до изменения).....

5. Переходим в модуль формы, открываем или создаем (если ее нет) процедуру "ПриОткрытии()", в конец добавляем код:

Процедура ПриОткрытии()
    
    КП = ЭлементыФормы.ДействияФормы;
    КП.Кнопки.Действие8.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.X,Истина,Ложь,Ложь);  //Alt+X   - отбор по значению
    КП.Кнопки.Действие9.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.D,Истина,Ложь,Ложь);  //Alt+D  - отключения отбора
    
КонецПроцедуры

!!!! Проверяем ИМЕНА :  Командной панели и кнопок .... на форме и в процедуре ПриОткрытии()

Повторяем операции для всех документов или только необходимых...(по желанию)

СОХРАНЯЕМСЯ ... и получаем спасибки с печеньками от довольных пользователей  SmileSmile

 

Еще рекомендую во всех документах назначить клавише F5 - структуру подчиненности документа (пользователи приняли на УРА...)

Буду рад, если эта статья, кому-то облегчит жизнь....

 

См. также

Комментарии
1. Эмиль Карапетян (amon_ra) 2 07.08.15 18:04 Сейчас в теме
Еще рекомендую во всех документах назначить клавише F5 - структуру подчиненности документа

ИМХО. как-то привык, что F5 - это обновление, может что-то в группу с альтом пихнуть, но вот на структуру подчиненности, для меня вот было бы не привычно.
2. Леонид Баранов (bld) 20 10.08.15 10:09 Сейчас в теме
(1) amon_ra, Это в Win* F5-это обновление, а в 1С ..обновление = Ctrl+Shift+R, а на F5 в 1С ничего не назначено. Двойные горячие клавиши типа Alt+F5 или Ctrl+F5 тоже не сильно удобно нажимать т.к. далеко друг от друга, а F5 у всех юзеров очень быстро прижилась. А так это вопрос ВКУСА и ЦВЕТА, используйте какие хотите, важен сам факт назначения горячей клавиши структуре подчинения....
3. Лира (nlira) 15.11.16 17:34 Сейчас в теме
Я повесила на кнопку проведения Alt + F4 (пробовала на Alt+4 - на другие кнопки - то же самое), но у меня проводит, потом автоматом 1С закрывается. Подскажите, что сделать, чтобы программа 1С не закрывалась?
4. Лира (nlira) 15.11.16 17:35 Сейчас в теме
5. Лира (nlira) 15.11.16 17:37 Сейчас в теме
Простите - глюк видимо. Заработало само собой.
6. Роберт В е р т и н с к и й (v3rter) 15.11.16 17:57 Сейчас в теме
(3) Я бы не стал переопределять стандартные горячие клавиши Winodws без очень крайней необходимости.

Alt + F4 - стандартное сочетание клавиш для завершения программы.

Ещё бы я точно не стал менять:

Alt + Tab, Alt + Shift + Tab Вызов меню перехода между окнами и переход по нему
Alt + Esc, Alt + Shift + Esc Переход между окнами (в том порядке, в котором они были запущены)
Ctrl + F4 Закрытие активного документа в программах, допускающих одновременное открытие нескольких документов
Alt + − (боковой минус) Вызов системного меню дочернего окна (например, окна документа)
Alt + пробел Вызов системного меню окна
Ctrl + Esc Открыть меню «Пуск» (Start)
Ctrl + Shift + Esc Вызов «Диспетчера задач»

и само собой

Alt + F4 Закрытие активного окна (запущенного приложения). На рабочем столе — вызов диалога завершения работы Windows
7. Лёня Лёня (ALEXEY_KONONETS) 22.06.17 18:14 Сейчас в теме
Спасибо, добрый человек!
Давно стояла такая задача. Но как-то забылось и не двигалось дело. Точнее решил задачу частично.
Данный простой код позволяет оперативно фильтровать списки по значению в текущей ячейке простым нажатием клавиши ENTER.
Т.е. нажимаем ENTER на "контрагенте" и список фильтруется по контрагенту из текущей ячейки.
Так же можно расширить на любые колонки списка. Кому что нужно в работе.
Сделаю оговорку: пользователи быстро привыкли открывать документы по F2 и радовались фильтру по ENTER.
Процедура ЛЮБОЙ_ЖУРНАЛСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
	Если ВыбраннаяСтрока.Ссылка = Неопределено Тогда
		Возврат;
	КонецЕсли;
	Если Колонка.Имя = "Контрагент" Тогда
		Если Отбор.Контрагент.Использование Тогда
			Отбор.Контрагент.Использование=Ложь;
		Иначе
			Отбор.Контрагент.Использование=Истина;
			Отбор.Контрагент.Значение = ВыбраннаяСтрока.Ссылка.Контрагент;
		КонецЕсли;
		СтандартнаяОбработка = Ложь;
	КонецЕсли;
КонецПроцедуры
...Показать Скрыть

Данный метод не позволит сделать фильтр по полю комментарий. А в комментариях обычно столько всего нужного!
Сделал так:
создаем на форме элемент "ПолеВвода". В качестве свойства Данные указываем "Отбор.Комментарий.Значение"
Добавляем процедуру:
Процедура ПолеВвода___ПриИзменении(Элемент)
	Если Не Элемент.Значение=Неопределено Тогда
		Отбор.Комментарий.Использование=Истина;
	Иначе
		Отбор.Комментарий.Использование=Ложь;
	КонецЕсли;
	ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.Список;	
КонецПроцедуры
...Показать Скрыть


p.s.
Вообще у нас во всех списках настроено так:
Alt+1 Движения Документа По Регистрам
Alt+2 Структура Подчиненности Документа
Alt+3 Фильтр по значению в текущей ячейке
Alt+4 Снятие всех фильтров
Оставьте свое сообщение