А наследник какого класса у Вас?
Например, для наследника RunBase я проверяю в checkCloseDialog(Object _calledFrom), при этом открытие формы запроса отсекаю:
X++:
public boolean checkCloseDialog(Object _calledFrom)
{
boolean ret;
ret = super(_calledFrom);
if (SysDictClass::isEqualOrSuperClass(classidget(_calledFrom), classNum(SysSetupFormRun)))
{
return ret;
}
...
}