|
Как на форме отловить нажатие Enter?
| ☑ |
0
AneJIbcuH
18.09.19
✎
12:51
|
День добрый! Те кто работает с 1С:Розница возможно сталкивался с такой ошибкой:
Вот тоже поднадоела, поковырял и вот что обнаружил. Набиваем чек, нажимаем, например, оплата "Наличные" кнопкой мыши.
Открылась следом форма оплаты и если тут бездумно шлёпать несколько раз на клавиатуре "Enter", поймаем эту самую ошибку.
Дело в чем, при однократном нажатии Enter форма оплаты нормально закроется и чек распечатается, а если достаточно быстро нажать несколько раз Enter: форма оплаты закрывается, далее внутри программы идёт обработка объектов и печать чека (а это пара секунд) и в этот момент мы клавишей Enter снова запускаем оплата "Наличными" (см. первый скрин), т.к. при первом нажатии мы эту кнопку активировали.
Так вот, как бы избежать этот момент.
например, можно ли как -то определенные кнопки основного окна формы РМК запретить реагировать на Enter.
|
|
1
dezss
18.09.19
✎
12:54
|
Событие формы ВнешнееСобытие.
Там покопайся.
|
|
2
dezss
18.09.19
✎
12:56
|
Только компонента нужна для перехвата клавиатуры.
|
|
3
3achem
18.09.19
✎
12:57
|
(0) Порядок обхода?
|
|
4
AneJIbcuH
18.09.19
✎
12:57
|
(1) не, вообще к данному событию в этом случае нет обращения.
|
|
5
dezss
18.09.19
✎
13:00
|
(4) -> (2)
|
|
6
dezss
18.09.19
✎
13:01
|
Ну еще проще есть вариант. После нажатия кнопки "Наличные", тупо менять текущий элемент формы)))
|
|
7
Cyberhawk
18.09.19
✎
13:02
|
Все просто: тебе надо убирать фокус с кнопки "Наличные", тем самым повторное нажатие Ентеров по возврату в эту форму не будет вызывать повторное нажатие на эту кнопку
|
|
8
AneJIbcuH
18.09.19
✎
13:04
|
(7) Да, согласен. Попробую
|
|
9
AneJIbcuH
18.09.19
✎
13:19
|
ЭтотОбъект.ТекущийЭлемент = Элементы. ...;
Вроде решает проблему, надо ещё погонять )
|
|
10
AneJIbcuH
18.09.19
✎
13:21
|
(9) симпатичнее ТекущийЭлемент = Элементы. ...;
|
|