Есть еще такой вариант (проверил, работает):
X++:
// SysReportRun
public boolean send(Common _cursor, int _level=1, boolean _triggerOffBody=TRUE, boolean _newPageBeforeBody=FALSE)
{
if (prmisdefault(_newPageBeforeBody))
{
return super(_cursor, _level, _triggerOffBody);
}
return super(_cursor, _level, _triggerOffBody, _newPageBeforeBody);
}
Ну и можно по аналогии проверять "дефолтность" третьего и второго параметров для вызова укороченных super(). Кстати, не анализировали, есть такие send() в стандарте, в которых меньше 3 параметров?
Еще интересный момент. Если попытаться запустить отчет из списка Logger-а сразу после модификации SysReportRun, то ядро выводит-таки ошибку:
Цитата:
Трассировка стека: Метод был вызван с недопустимым числом параметров.
(C)\Reports\BOMConsistOf\Methods\send
(C)\Classes\SysReportRun\send - line 5
(C)\Classes\ReportRun\fetch
(C)\Classes\SysReportRun\fetch - line 6
(C)\Classes\ReportRun\run
(C)\Reports\BOMConsistOf\Methods\run - line 26
(C)\Classes\SysReportRun\run - line 35
Но стоит
просто откомпилировать отчет исправлено: вывести что-то в инфолог, как начинает проявляться описанный эффект - молчаливое завершение.