|
Активизация поля ввода в управляемой форме
| ☑ |
0
Dmitrith
25.10.16
✎
19:44
|
Пишу тут простенькое сканирование. Есть поле "ШК", куда вбивается штрихкод. Если ШК корректный, вбиваются данные о количестве и после этого фокус передается обратно на поле ШК так:
ЭтаФорма.ТекущийЭлемент = ЭтаФорма.Элементы.ШК;
Тут все нормально, вопросов нет. Но если у меня введен неверный ШК хочется выдавать предупреждение, очищать данные и оставаться в этом поле ввода.
Проблема в том, что в обработчиках ПриИзменении и ОкончаниеВводаТекста текущийЭлемент уже равен ШК, и перепозиционирование как я понимаю происходит платформой уже после работы обработчиков, что естественно перемещает курсор в следующее поле. Обработчик НачалоВыбора (так же поле ввода) в следующем поле не срабатывает.
В ОкончаниеВводаТекста СтандартнаяОбработка = Ложь так же нужного результата не приносит.
Как мне красиво остаться в текущем поле после редактирования?
|
|
1
iceman2112
25.10.16
✎
19:59
|
(0) а ВнешнееСобытие() почему не использовали?
|
|
2
Dmitrith
25.10.16
✎
20:03
|
(1) еще не дошел до такого варианта.
|
|
3
iceman2112
25.10.16
✎
20:06
|
как так? вы выбрали создать поле с постоянной активностью вместо обработчика события ВнешениеСобытие формы, которое предназначено для обработки ШК, с который пользователю не нужно "быть на стреме" у вашего поля.
|
|
4
iceman2112
25.10.16
✎
20:06
|
ну ваше вопрос "ОбработчикОжидания" но это костыль
|
|
5
Dmitrith
25.10.16
✎
20:13
|
(1) Проверил вариант с ОбработчикОповещения() Так же в нем ТекущийЭлемент = ШК
|
|
6
Dmitrith
25.10.16
✎
20:16
|
(1) Внешнее событие подразумевает же использование внешней компоненты, а у меня обычное поле ввода и обычная клавиатура
|
|
7
iceman2112
25.10.16
✎
20:20
|
самописная конфигурация чтоли?
|
|
8
Dmitrith
25.10.16
✎
20:23
|
(7) угу
|
|
9
RomanYS
25.10.16
✎
20:41
|
|
|
10
Dmitrith
26.10.16
✎
09:53
|
Апну немного.
В общем извратился через ОбработкуОжидания раз в полсекунды. Но некрасиво...
|
|