|
![]() |
#1 |
Участник
|
Еще (немножко оффтоп, но все же), если признак "правильности" клиента - флаг или enum - добавьте условие по фиксированному полю таблицы.
__________________
http://www.axdevposts.blogspot.com Пришел, уведел.... отойди, дай другому увидеть! |
|
![]() |
#2 |
Moderator
|
Встряну со своим "пятаком". Пришлось делать нечто подобное для поля диалога(!), где, как известно, ни датасорсов, ни релэйшенов. Использовал подход с controlMethodOverload. Поступил радикально - запер пользователя в контроле после ввода "плохого" значения методом leave, который срабатывает всегда:
X++: public boolean MyDialogField1_leave() { boolean ret; FormStringControl me = dialog.formRun().controlCallingMethod(); MyTable table; ; ret = me.leave(); // как super // далее наш функционал, который должен отрабатывать на событие select table where table.Field1 == me.text(); // если указано непустое значение, отсутствующее в списке, // то не выпускаем из поля if (! table && me.text()) { box::stop('Значение отсутствует в списке!'); ret = ret && false; } return ret; } Ну, а в методе, формирующем собственно диалог, перед вызовом run расположился такой блок операторов: X++: dialog.doInit(); dialog.formRun().controlMethodOverload( true ); dialog.formRun().controlMethodOverloadObject( new MyEventHandlerForThisDialog( dialog )); dialog.run(); |
|
Теги |
lookup, validate, validatefield, запрет |
|
![]() |
||||
Тема | Ответов | |||
Как убрать автопоиск по "*" для Lookup? | 14 | |||
Проблема со своим lookup-ом | 9 | |||
Lookup, Company, FeatureKey | 7 | |||
Создание Lookup формы | 9 | |||
Динамические Lookup формы. | 0 |
|