// Changed on 05 五月 2012 at 21:40:07 by Jimmy
/*
When you create a class that extends from RunBaseReport and you try to modify the printer preferences
it won’t have any effect. This small bug can be fixed very easy.
Edit the class RunBaseReportDialog, method main and check lines 14 and 15:
*/
static void main(Args args)
{
RunBaseReportDialog reportDialog = new RunBaseReportDialog(args.caller());
RunBaseReport runBaseReport = args.caller().runbase();
ReportRun reportRun = runBaseReport.reportRun();
Report report = reportRun.report();
boolean oldInteractive;
boolean res;
Dialog dialog;
;
// We must invoke the SysPrintForm via the report object so that we honor an prompt overrides.
oldInteractive = report.interactive();
report.interactive(true);
/* Original
res = reportRun.prompt(); // commented
*/
// Changed on 05 五月 2012 at 21:40:07 by Jimmy Begin
if (SysReportRun::hasMethod(reportRun.name(), 'prompt'))
{
res = reportRun.prompt();
}
else
{
res = reportDialog.prompt();
}
// Changed on 05 五月 2012 at 21:40:07 by Jimmy End
report.interactive(oldInteractive);
if (!res)
return;
dialog = Dialog::getDialogFromCaller(args.caller());
if (dialog)
{
dialog.updateServer();
}
runBaseReport.dialogUpdatePrinterSettings(dialog);
reportDialog.run();
}
没有评论:
发表评论