AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.10.2006, 17:36   #1  
Egor_bl is offline
Egor_bl
Участник
 
10 / 10 (1) +
Регистрация: 05.10.2006
Помогите!

Необходимо в пакетном режиме выводить отчет в один и тот же текстовый файл, т.е. обновлять файл.

Когда я просто настроил отчет выполняться в пакетном режиме, а в опциях указал вывод в файл 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)
Старый 04.10.2006, 13:09   #2  
Wamr_imported is offline
Wamr_imported
Участник
 
101 / 10 (1) +
Регистрация: 08.01.2004
Может быть, это связано с местом выполнения отчета (на клиенте или сервере)?
Старый 04.10.2006, 16:07   #3  
Egor_bl is offline
Egor_bl
Участник
 
10 / 10 (1) +
Регистрация: 05.10.2006
При создании класса явно указывается client
А отчет, я думаю, создается там, где находится вызывающий объект, т.е. тоже на клиенте.

или я не прав?
Старый 09.11.2006, 09:36   #4  
Gorynych_imported is offline
Gorynych_imported
Участник
 
16 / 10 (1) +
Регистрация: 24.10.2005
можно удалить заранее файл с отчетом, а потом его выгрузить....
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:23.