18.12.2014, 10:08 | #1 |
Участник
|
Проблема с отправкой отчета по почте
Добрый день!
Есть следующий код X++: public boolean prompt(boolean _enableCopy=TRUE, boolean _enablePages=TRUE, boolean _enableDevice=TRUE, boolean _enableProperties=TRUE, boolean _enablePrintTo=TRUE) { boolean ret; ret = super(_enableCopy, _enablePages, _enableDevice, _enableProperties, _enablePrintTo); switch (reportViewMode) { //Проостой вывод case PrintMedium::Screen: { element.printJobSettings().setTarget(PrintMedium::Screen); } break; //Распечатка case PrintMedium::Printer: { //Выводим форму с предложением принтера element.printJobSettings().setTarget(PrintMedium::Printer); // element.report().interactive(true); ret = element.printJobSettings().printerSettings(formstr(SysPrintForm)); } break; //Почта case PrintMedium::Mail: { element.printJobSettings().setTarget(reportViewMode); element.printJobSettings().preferredFileFormat(PrintFormat::RTF); element.printJobSettings().preferredMailFormat(PrintFormat::RTF); element.printJobSettings().mailTo('test@list.ru'); element.printJobSettings().mailSubject(strfmt('План %1', currentDate)); } break; default: // ret = super(_enableCopy, _enablePages, _enableDevice, _enableProperties, _enablePrintTo); break; } return ret; } Причем если сделать отправку отчета таким образом X++: static void ReportPDF(Args _args) { ReportRun report; Args args = new Args(reportstr(R_ReportPlan)); DataTypesClass dataTypes = new DataTypesClass(); ; //Вписываем параметры dataTypes.containerDataType([systemdateget()-2, false]); args.object(dataTypes); report = new ReportRun(args); report.init(); report.query().dataSourceName(tablestr(NVAOMAFlightSchedule)).rangeField(fieldnum(NVAOMAFlightSchedule, DateDeparture)).value(date2strxpp(systemdateget()-2)); report.query().dataSourceName(tablestr(NVAOMAFlightSchedule)).rangeField(fieldnum(NVAOMAFlightSchedule, TypePANH)).value(SysQuery::valueNotEmptyString()); report.printJobSettings().setTarget(PrintMedium::Mail); report.printJobSettings().preferredMailFormat(PrintFormat::RTF); report.printJobSettings().mailTo('test@gmail.com'); report.printJobSettings().mailSubject(strfmt('План %1', systemdateget()-2)); report.query().interactive(false); report.report().interactive(false); report.run(); } Как сделать так, чтобы работал с переопределением prompt? Последний раз редактировалось Vasiliusis; 18.12.2014 в 11:22. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|