Отловить событие потери фокуса полем ввода #611953


#0 by dizpers
Есть поле ввода с датой. После ввода этой даты мне надо ее проверить - если дата меньше текущей, то вывести сообщение об ошибке, поставить фокус на поле ввода и ждать пока пользователь снова введет данные, как только ввел новые данные - снова проверить и тд Пробую делать вот так на событие ПриИзменении поля вешаю процедуру с таким кодом (ДатаСеанса - реквизит документа, связанный с этим полем ввода) При этом что получаю - неправильно ввел дату, выпало сообщение об ошибке, нажал ДА - все ок, дата текущая. Но в другом кейсе - когда нажал нет, дата осталась введенная неправильно и при нажатии к примеру кнопки таб фокус переключается на след. элемент и в итоге - кривая дата в поле ввода. Первая идея, которая пришла в голову по поводу решения этой проблемы - как то отловить перевод фокуса на другой элемент. Но не знаю как сделать такое. Подскажите, пожалуйста, как такую проблему решить?
#1 by vicof
Проверяй в событии ПередЗаписью
#2 by МихаилМ
"поставить снова фокус" - а если пользователь не хочет вводить данный а хочет закрыть окно
#3 by dizpers
после установки фокуса нажмет esc
#4 by dizpers
в зависимости от выбранной даты подгружаются различные массивы данных в списки выбора (фильмы по данной дате например) а событие перед записью сработает когда по идее нажали ОК в форме документа
#5 by aleks-id
#6 by dizpers
кстати, как вариант - не спрашивать пользователя вообще, если указал кривую дату, сообщить об этом и установить сегодняшнюю
#7 by vicof
Так это проблемы пользователя уже. Захотел на одну дату, захотел - на другую.
#8 by dizpers
Ну просто не логично продавать билеты на 1 января, если сейчас 23 мая. Я считаю, что такие проверки нужны.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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