Показать сообщение отдельно
Старый 28.07.2015, 12:09   #6  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
Есть еще такой вариант (проверил, работает):

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
Но стоит просто откомпилировать отчет исправлено: вывести что-то в инфолог, как начинает проявляться описанный эффект - молчаливое завершение.
__________________

Последний раз редактировалось Ruff; 28.07.2015 в 13:52.