Показать сообщение отдельно
Старый 11.10.2008, 10:51   #1  
offenmeier is offline
offenmeier
HAI; CAN HAS STDIO?
Аватар для offenmeier
Соотечественники
 
77 / 36 (2) +++
Регистрация: 17.02.2005
Адрес: Auckland, NZ
Navision печать на AOS
а вот такая штука. есть класс, который всегда запускается на сервере. класс занимается тем, что печатает на принтер некоторые отчеты.

пока класс запускался с клиента, все печаталось.

как только класс определили в batch job, стали печататься пустые страницы вместо отчетов.

почему такое может происходить?

печатает же SalesFormLetter_Invoice, если поставить его в пакетную обработку.

может, кто-то сталкивался, помогите советом. DAX 2009 RTM.

еще один нюанс: если делать тот же трюк с печатью в PDF, то тот же результат. запускаем с клиента - получаем замечательный PDF, ставим в пакетную обработку - PDF создаются, но пустые.

куда и как печатать - управляю через PrintJobSettings. ежели на принтер, то так:

X++:
pjs.setTarget(PrintMedium::Printer);
pjs.deviceName(printerName, ClassRunMode::Server);
а ежели в PDF, то так:

X++:
pjs.format(PrintFormat::PDF);
pjs.setTarget(PrintMedium::File);
pjs.fileName(folderPath + _sales + ".pdf");
при этом pjs тоже живет на сервере, иначе на серверный принтер не напечатает.

в чем же разница, через клиент я его запускаю, или в пакетную обработку ставлю - в обоих случаях класс на сервере отрабатывает.. в DAX 2009 сделали так, что пакетная обработка на сервере работает, если runsImpersonated = true, пытаюсь пользоваться.. что, придется таки по-старинке, batch server поднимать? не хотелось бы сдаваться, SalesFormLetter-то печатает из пакетной обработки..

помогите, господа, советом, где с бубном надо танцевать. спасибо.
__________________
our sharp bitter vitriol is not that of the vulgar.