Страница 1 из 1
Проверка значений поля при редактировании в форме.
Добавлено: 13 Декабрь 2012, 11:00
kreator
Я затупил. Помогите. C8, ABC. Редактирую запись в форме. Нужно при нажатии кнопки OK проверить некое поле по критерию и если значение не правильное, то поставить курсор на это поле запретив Update или Insert. Типа:
Код: Выделить всё
if FIL:Field1 <> 'Правильное значение'
select(?FIL:Field1)
return ???
end
В какой Embed этот код вставить?
Re: Проверка значений поля при редактировании в форме.
Добавлено: 13 Декабрь 2012, 12:35
Дед Пахом
Вроде бы в WindowManager.TakeAccepted после Parent call, вернуть Level:Notify.
Re: Проверка значений поля при редактировании в форме.
Добавлено: 13 Декабрь 2012, 13:06
Yufil
Всё проще - в обработку Accept для кнопки OK ДО выполнения стандартного обработчика
IF взаписифигня
Select(?Фигня)
Cycle
End
Re: Проверка значений поля при редактировании в форме.
Добавлено: 13 Декабрь 2012, 15:29
Дед Пахом
Я ошибся - надо в TakeCompleted перед Parent call вернуть Level:Notify.
Re: Проверка значений поля при редактировании в форме.
Добавлено: 13 Декабрь 2012, 15:36
Shur
Ну тогда уж и ещё более канонический вариант.
в событии Accepted для проверяемого поля
Код: Выделить всё
If Window{PROP:AcceptAll} ! проверять только при выходе из формы
If взаписифигня
Window{PROP:AcceptAll} = false ! прекратить выход
Select(?Фигня)
Cycle
End
End
Re: Проверка значений поля при редактировании в форме.
Добавлено: 13 Декабрь 2012, 16:55
kreator
Всем спасибо! Первый вариант Деда Пахома - правильный (особое спасибо!!!). Самое интересное, что я так и делал. Почему не шло - не понятно, полдня убил. А вчерашнюю копию не сохранил, где старый вариант, сравнить теперь не с чем.
Re: Проверка значений поля при редактировании в форме.
Добавлено: 14 Декабрь 2012, 5:10
nik190994
Обычно использую стандартный шаблон RULES....