06.06.2005, 18:41 | #1 |
Участник
|
validate()
Привет всем!
Создал диалог extends RunBaseReport Перекрыл метод validate() Там проверяю заполнение некоторых добавленных мной полей на диалог. Нужно еще проверить значение поля из запроса. (конкретно, Бухг. Счет из LedgerLiquidity). Пытаюсь это сделать через PHP код:
То есть, когда он пустой, нажимаем Выбор, выбираем значение счета, и нажимаем ОК. (в это время Бухг. Счет в запросе еще пустой, и поэтому вылетает сообщение об ошибке, которое выводится когда там пусто) Как заблокировать проверку validate() для случая, когда открыта SysQueryForm? Спасибо |
|
07.06.2005, 12:10 | #2 |
Участник
|
Что, неужели нельзя это сделать? Ну не верю.
|
|
07.06.2005, 14:44 | #3 |
Участник
|
А если попробовать повесить проверку на getFromDialog()?
|
|
07.06.2005, 14:59 | #4 |
Участник
|
Пробовал.
Там проблема с тем, что он вызывается тоже постоянно, как и validate() Вызывается сразу при вызове диалога. То есть сразу выдается сообщение об ошибке. Когда нажимаем Выбор, тоже срабатвывает соответсвенно сначала getFromDialog(), а за ним validate() |
|
07.06.2005, 17:08 | #5 |
экс-модератор
|
я делаю так
PHP код:
|
|
|
За это сообщение автора поблагодарили: kashperuk (3). |
08.06.2005, 01:51 | #6 |
Участник
|
Как же это я про параметр calledFrom забыл??? Стыдно.
maxsmirnov, спасибо огромное! |
|
25.10.2006, 11:17 | #7 |
Участник
|
Столкнулся с такой же проблемой, только у меня `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 | #8 |
Участник
|
Я честно говоря смутно понял, что вы подразумевали под "показывает ошибку"
Но почему мы вам не попробовать изменить метод validate в классе InventCountCreate_base для начала? Сделать вот так: boolean validate(Object _calledFrom = null) ну, и в вашем классе соответственно так же. По идее должно нормально отработать. |
|
25.10.2006, 12:06 | #9 |
Участник
|
Да, я всё так и "подправил", но почему с самого начала не было "как надо"... баг.
|
|
25.10.2006, 12:13 | #10 |
Участник
|
А почуму-бы вам не добавить этот параметр в перекрытый метод (в вашем классе)? Проверяйте значение при вызове, а в super() не передавайте ничего
__________________
Axapta v.3.0 sp5 kr2 |
|
24.01.2009, 21:30 | #11 |
Участник
|
А не затруднит ли кого-то проверить работоспособность этого параметра на 3.0 и его НЕработоспособность на более поздних версиях?
У меня 3ки нету, а в более новых версиях что-то параметр не работает.. |
|
12.02.2009, 12:39 | #12 |
Участник
|
UP
Кто нибудь может подтвердить, что это работает? Плз. Указывайте версию системы, если можно. Спасибо Последний раз редактировалось kashperuk; 12.02.2009 в 12:51. |
|
12.02.2009, 13:05 | #13 |
Ищущий знания...
|
Ax 3.0 SP3
В классе InventCountCreate_Base в методе validate нет параметра формы.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
12.02.2009, 13:14 | #14 |
Участник
|
Цитата:
Я хочу подтвердить, что если его добавить (или использовать другой класс, где он уже есть, к примеру tutorial_RunBaseForm), то runtime вызывает метод validate(), когда нажимаем ОК в форме настройки расширенного фильтра (SysQueryForm) |
|
12.02.2009, 13:18 | #15 |
Ищущий знания...
|
Именно так и происходит
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
|
За это сообщение автора поблагодарили: kashperuk (3). |
12.02.2009, 13:34 | #16 |
Участник
|
И что при этом (какая форма) находится в переменной calledFrom?
|
|
12.02.2009, 13:37 | #17 |
Ищущий знания...
|
SysSetupFormRun... а должна SysQueryForm ?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
12.02.2009, 13:41 | #18 |
Участник
|
Хмм. Странно.
То есть при клике ОК у вас вызывается validate(), и calledFrom = SysSetupFormRun? Или это при клике на кнопку Выбор изначально? Ну, да, я ожидал, что при клике ОК вызовется validate() с calledFrom = SysQueryFrom |
|
12.02.2009, 13:56 | #19 |
Ищущий знания...
|
На самом деле с начала не обратил внимания что там в calledFrom... но по Вашей просьбе посматрел и удивился! при нажатии кнопки ОК в calledForm именно SysSetupFormRun, а не SysQueryFrom - что логичнее
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
12.02.2009, 13:57 | #20 |
Ищущий знания...
|
P.S. при нажатии кнопку "выбор" validate() не вызывается (по крайней мере на точку останова не отреагировал)
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем Последний раз редактировалось lev; 12.02.2009 в 14:01. |
|