Показать сообщение отдельно
Старый 31.07.2006, 20:02   #7  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,712 / 1201 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Я на эти грабли уже наступал. Почему Вы решили что проблема именно в спуллере принтера? Он что, как-то проверяет влезет в него пришедший пакет или нет еще ДО собственно попытки что-то там принять?

Судя по описанию, проблема именно в порядке отправки заданий на печать. Если у Вас процесс печати накладной и счета фактуры по одному и тому же заказу разнесены во времени, то не удивляйтесь, что между ними "втиснется" накладная от другого заказа. Принтер тут вообще не при чем! Это стандартная ситуация в многопользовательских приложениях.

Вам надо сделать следующее:

1) Процесс печати накладной и счета фактуры должен быть организован одним пакетом без вмешательства пользователя.

Под "пакетом" в данном случае я понимаю программную отправку на печать документов. Без открытия окон предварительного просмотра. Совсем грубо, нечто вроде

PHP код:
reportRunPacking.printJobSettings().setTarget(PrintMedium::Printer);
reportRunPacking.run();
reportRunInvoice.printJobSettings().setTarget(PrintMedium::Printer);
reportRunInvoice.run(); 
2) Как уже было описано ранее, эта отправка на печать должна быть окружена установкой и снятием некоего флага, свидетельствующего о том, что идет печать "пакета", просьба подождать.

Это НЕ проблема спуллера принтера - это проблема AXAPTA.
За это сообщение автора поблагодарили: Pavel Pustovalov (1).