|
|
|
|
#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 | |||
|