Программная установка фокуса в поле ввода #730797


#0 by travelekb
Доброго вечера. Столкнулся с необычной проблемой на 8.3.5.1231. Задача вроде бы проста, но не работает. Требуется при нажатии кнопки передать фокус формы в поле ввода. Есть следующий код: (до этого места элемент скрыт) где ТрекНомер - это элемент поле ввода на форме. Самое интересное, что при двойном последовательном нажатии на кнопку - код срабатывает и фокус передается. Где может быть подвох?
#1 by mehfk
Проверь на 8.2 Если будет работать - то очередной косяк 8.3.5
#2 by travelekb
работает на 8.2
#3 by Злопчинский
А обновить форму если после установки фокуса принудительно?
#4 by travelekb
Не помогает. Главный вопрос в том, что в отладчике при выполнении кода: ЭтаФорма.ТекущийЭлемент = Элементы.ТрекНомер; //передаем фокус ТекущийЭлемент не меняется. Как был ТекущийЭлемент кнопкой, так и остается, а по уму после выполнения кода ТекущийЭлемент должен смениться на поле ввода.
#5 by Злопчинский
Я снеговика не знаю Но сомнительно Фокус появляется только после перерисовки формы Может сюда порыть
#6 by Управление торговлей
я глюк с установкой фокуса обхожу запуском одноразового демона, в нем ТекущийЭлемент= срабатывает кто знает, как проще - отпишите
#7 by travelekb
если дважды нажать на кнопку, отвечающую за смену фокуса (т.е. по сути дважды выполнить одинаковый код) - все работает как надо.
#8 by Злопчинский
продолжайте исследования
#9 by kolts23381
У формы есть свойство поведение клавиши ENTER. Должно быть - Переход по элементам формы. У самого была такая хрень потерял где то час чтоб найти.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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