Цитата:
Сообщение от
lev
А теперь попробуйте сделать наследника от RunBase, создать в нем Query диалог, и посмотрите что будет в calledFrom

У меня нет (не было) цели проверять что приходит в calledFrom, изначальная суть сообщения
kashperuk была по-моему в другом:
вызывается ли метод validate() класса когда нажимается кнопка 'Ok' на форме SysQueryForm.
Цитата:
Сообщение от
kashperuk
...
Я хочу подтвердить, что если его добавить (или использовать другой класс, где он уже есть, к примеру tutorial_RunBaseForm), то runtime вызывает метод validate(), когда нажимаем ОК в форме настройки расширенного фильтра (SysQueryForm)
Сегодня бегло посмотрел в чем отличие функционала приложений на которых картина вызовов
validate() была различной. Поведение зависит от реализации метода
Classes\SysQueryEdit\runBaseCheckCloseDialog().
Цитата:
Сообщение от
petergunn
...
Axapta 3.0:
#1951.4060/514-320 SP4/OP023-196 - validate() вызывается при нажатии на 'Ok' в форме SysQueryForm
#1951.7500/514-513 SP5/OP023-379 - validate() НЕ вызывается при нажатии на 'Ok' в форме SysQueryForm
#1951.4060/514-320 SP4/OP023-196: Classes\SysQueryEdit\runBaseCheckCloseDialog()
X++:
public boolean runBaseCheckCloseDialog(object _caller)
{
boolean ret = true;
RunBase runbase;
if (callerIsRunbase)
{
runBase = sysQueryRun.args().caller();
ret = runBase.[B]runbase()[/B].checkCloseDialog(_caller);
}
return ret;
}
#1951.7500/514-513 SP5/OP023-379: Classes\SysQueryEdit\runBaseCheckCloseDialog() (& DAX 4.0)
X++:
public boolean runBaseCheckCloseDialog(object _caller)
{
boolean ret = true;
RunBase runbase;
if (callerIsRunbase)
{
runBase = sysQueryRun.args().caller();
ret = runBase.checkCloseDialog(_caller);
}
return ret;
}