Активизация поля ввода в управляемой форме #783702


#0 by Dmitrith
Пишу тут простенькое сканирование. Есть поле "ШК", куда вбивается штрихкод. Если ШК корректный, вбиваются данные о количестве и после этого фокус передается обратно на поле ШК так: ЭтаФорма.ТекущийЭлемент = ЭтаФорма.Элементы.ШК; Тут все нормально, вопросов нет. Но если у меня введен неверный ШК хочется выдавать предупреждение, очищать данные и оставаться в этом поле ввода. Проблема в том, что в обработчиках ПриИзменении и ОкончаниеВводаТекста текущийЭлемент уже равен ШК, и перепозиционирование как я понимаю происходит платформой уже после работы обработчиков, что естественно перемещает курсор в следующее поле. Обработчик НачалоВыбора (так же поле ввода) в следующем поле не срабатывает. В ОкончаниеВводаТекста СтандартнаяОбработка = Ложь так же нужного результата не приносит. Как мне красиво остаться в текущем поле после редактирования?
#1 by iceman2112
а ВнешнееСобытие почему не использовали?
#2 by Dmitrith
еще не дошел до такого варианта.
#3 by iceman2112
как так? вы выбрали создать поле с постоянной активностью вместо обработчика события ВнешениеСобытие формы, которое предназначено для обработки ШК, с который пользователю не нужно "быть на стреме" у вашего поля.
#4 by iceman2112
ну ваше вопрос "ОбработчикОжидания" но это костыль
#5 by Dmitrith
Проверил вариант с ОбработчикОповещения Так же в нем ТекущийЭлемент = ШК
#6 by Dmitrith
Внешнее событие подразумевает же использование внешней компоненты, а у меня обычное поле ввода и обычная клавиатура
#7 by iceman2112
самописная конфигурация чтоли?
#8 by Dmitrith
угу
#9 by RomanYS
#10 by Dmitrith
Апну немного. В общем извратился через ОбработкуОжидания раз в полсекунды. Но некрасиво...
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С