|
![]() |
#1 |
Участник
|
Да.
Перекрыли метод в классе SysReportRun Ядро сгенерило такой код X++: public boolean send(Common _cursor, int _level=1, boolean _triggerOffBody=TRUE, boolean _newPageBeforeBody=FALSE) { boolean ret; ret = super(_cursor, _level, _triggerOffBody, _newPageBeforeBody); return ret; } P.S. Странно, вроде подробно все расписал еще в первом сообщении темы. Почему еще вопросы возникают. Неужели сложно взять, проверить и убедиться. |
|
![]() |
#2 |
Дмитрий Ерин
|
Есть еще такой вариант (проверил, работает):
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); } Еще интересный момент. Если попытаться запустить отчет из списка 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. |
|
![]() |
#3 |
Участник
|
Цитата:
X++: case 3 : ret = super( _cursor, _level, _triggerOffBody ); break; может под отладчиком пройтись - мало ли что сглючило и неверно отработал SysReportRun::GRD_getMethodParamsCount У меня все работало нормально. Проверял на отчетах с 4 и 3 параметрами. |
|
![]() |
#4 |
Дмитрий Ерин
|
Я имел в виду запуск без модификации. То есть просто перекрыть send, оставив сгенерированный ядром код, и запустить отчет.
|
|
![]() |
#5 |
Участник
|
|
|
![]() |
#6 |
Дмитрий Ерин
|
Действительно) Я был не прав насчет компиляции (не влияет она, это просто было совпадение). Правда понять изначальную причину пропадания сообщения так и не удалось. Заметил только, что текст ошибки НЕ выводится, если что-то вывести в инфолог перед некорректным вызовом супер. Могу лишь предположить, что ядро как-то нестандартно работает с инфологом в таких случаях.
|
|
Теги |
ax2009, reportrun, sysformrun, sysreportrun, баг |
|
![]() |
||||
Тема | Ответов | |||
SysReportRun и tmpTable | 12 | |||
Query sort field autoSum | 4 | |||
Засада с позиционированием при переходе к основной таблице. В чем дело? | 17 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|