|
|
#1 |
|
Участник
|
Помогите!
Необходимо в пакетном режиме выводить отчет в один и тот же текстовый файл, т.е. обновлять файл. Когда я просто настроил отчет выполняться в пакетном режиме, а в опциях указал вывод в файл ASCII, то при выполнении пакета выскакивает диалог с впросом "Файл существует. Перезаписать?", соответсвенно пакетный сервер стоит и ждет ответа. Когда в отчете в методе print() перед super() поставил WinAPI::deleteFile(_fileName), то при ручном запуске отчета файл удаляется и отчет создает новый файл, а в пакетном режиме все равно задает впрос о перезаписи файла. На форуме были рекмендации запускать отчет из класса и с помощью printJobSettings задавать имя файла. Я сделал класс наследник от RunBaseBatch, который выполняет код: Код:
ReportRun report;
Args _args;
FileName _fileName;
;
_fileName = strfmt('%1%2.txt',WinAPI::getTempPath(),timeNow());
// _fileName = 'c:\\temp\\test.txt';
_args = new Args(ReportStr(MyPriceListTXT));
report = ClassFactory.reportRunClass(_args);
report.printJobSettings().setTarget(PrintMedium::File);
report.printJobSettings().format(PrintFormat::ASCII);
report.printJobSettings().fileName(_fileName);
report.run();если файл существует, то в пакетном режиме отчет все равно спрашивает о перезаписи, а если не существует (имя файла формируется автоматически), то в пакетном режиме выдается ошибка "Ошибка открытия файла ... . Файл не найден" ... бред какой-то.Чего я не так делаю? Может кто посоветует как мне решить проблему периодического обновления файла-отчета? (Ax3.0 SP4) |
|
|