|
06.06.2005, 18:41 | #1 |
Участник
|
validate()
Привет всем!
Создал диалог extends RunBaseReport Перекрыл метод validate() Там проверяю заполнение некоторых добавленных мной полей на диалог. Нужно еще проверить значение поля из запроса. (конкретно, Бухг. Счет из LedgerLiquidity). Пытаюсь это сделать через PHP код:
То есть, когда он пустой, нажимаем Выбор, выбираем значение счета, и нажимаем ОК. (в это время Бухг. Счет в запросе еще пустой, и поэтому вылетает сообщение об ошибке, которое выводится когда там пусто) Как заблокировать проверку validate() для случая, когда открыта SysQueryForm? Спасибо |
|
25.10.2006, 11:17 | #2 |
Участник
|
Столкнулся с такой же проблемой, только у меня `extends InventCountCreate_Base / JournalRunBaseBatch / RunBaseBatch`, соотв. у метода validate() нет параметра формы!!!
Оказывается неправильно переписан метод InventCountCreate_Base::validate() ... так как если я пытаюсь что то изменить, то показывает ошибку... Ну как так может быть?? Если при полной рекомпиляции нет ошибки ?? хотя наверное вот етот код и проходит етот глюк - Код: public boolean RunBase::validate(Object calledFrom = null) // The object/form which calls the method { return true; } Последний раз редактировалось Delfins; 25.10.2006 в 11:24. |
|
25.10.2006, 11:56 | #3 |
Участник
|
Я честно говоря смутно понял, что вы подразумевали под "показывает ошибку"
Но почему мы вам не попробовать изменить метод validate в классе InventCountCreate_base для начала? Сделать вот так: boolean validate(Object _calledFrom = null) ну, и в вашем классе соответственно так же. По идее должно нормально отработать. |
|
25.10.2006, 12:06 | #4 |
Участник
|
Да, я всё так и "подправил", но почему с самого начала не было "как надо"... баг.
|
|
25.10.2006, 12:13 | #5 |
Участник
|
А почуму-бы вам не добавить этот параметр в перекрытый метод (в вашем классе)? Проверяйте значение при вызове, а в super() не передавайте ничего
__________________
Axapta v.3.0 sp5 kr2 |
|
24.01.2009, 21:30 | #6 |
Участник
|
А не затруднит ли кого-то проверить работоспособность этого параметра на 3.0 и его НЕработоспособность на более поздних версиях?
У меня 3ки нету, а в более новых версиях что-то параметр не работает.. |
|
12.02.2009, 12:39 | #7 |
Участник
|
UP
Кто нибудь может подтвердить, что это работает? Плз. Указывайте версию системы, если можно. Спасибо Последний раз редактировалось kashperuk; 12.02.2009 в 12:51. |
|
12.02.2009, 13:05 | #8 |
Ищущий знания...
|
Ax 3.0 SP3
В классе InventCountCreate_Base в методе validate нет параметра формы.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
12.02.2009, 13:14 | #9 |
Участник
|
Цитата:
Я хочу подтвердить, что если его добавить (или использовать другой класс, где он уже есть, к примеру tutorial_RunBaseForm), то runtime вызывает метод validate(), когда нажимаем ОК в форме настройки расширенного фильтра (SysQueryForm) |
|
12.02.2009, 13:18 | #10 |
Ищущий знания...
|
Именно так и происходит
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
|
За это сообщение автора поблагодарили: kashperuk (3). |
12.02.2009, 13:34 | #11 |
Участник
|
И что при этом (какая форма) находится в переменной calledFrom?
|
|
12.02.2009, 13:37 | #12 |
Ищущий знания...
|
SysSetupFormRun... а должна SysQueryForm ?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
12.02.2009, 13:57 | #13 |
Ищущий знания...
|
P.S. при нажатии кнопку "выбор" validate() не вызывается (по крайней мере на точку останова не отреагировал)
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем Последний раз редактировалось lev; 12.02.2009 в 14:01. |
|
13.02.2009, 13:49 | #14 |
Участник
|
Вот. Это то, что я искал.
То есть таки сломали, демоны... Спасибо Для полной сатисфакции - на скриншоте у вас видно, что таки SysQueryForm у вас находится в _calledFrom. Это и на SP3 и на SP4? Потому как lev и еще один товарищ оба получили SysSetupFormRun вместо SysQueryForm... |
|
13.02.2009, 14:15 | #15 |
Участник
|
Цитата:
На счет SysSetupFormRun - видимо тут имеет место ситуация недопонимания терминологии сторон : classId2Name( classidGet( _calledFrom ) ) = 'SysSetupFormRun' (именно это видно в отладчике) _calledFrom.name() = 'SysQueryForm' (это выводилось в infolog в том проекте что я приводил) Последний раз редактировалось petergunn; 13.02.2009 в 14:45. |
|