Bug 929

Summary: Нужна передача названия документа как название задания в CUPS
Product: WINE@Etersoft Reporter: Синицын Иван <ivan>
Component: Печать ; Диалог печатиAssignee: Константин Кондратюк <kondratyuk>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P5 CC: 1c, baraka, igor, kondratyuk, lav, night
Version: 1.0.8   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: 9311 Связано с:
Дата напоминания:
Bug Depends on: 1719    
Bug Blocks: 443, 760, 3232    

Description Синицын Иван 2007-12-11 09:51:28 MSK
При печати любого документа из 1С под Wine в CUPS передается документ
с именем "stdin". Это не позволяет нам работать с системой VentaFax,
т.к. преобразование номера телефона в TIFF файл ведется принтером
VentaFax из имени документа.

Пример: Akt_00001_#(495)2223322# -> код:495 телефон:222-33-22

заявка № 2753.
Comment 1 Vitaly Lipatov 2008-04-15 20:36:21 MSD
Вызов команды lpr нужно дополнить параметром -T, указывающим название задания.
Comment 2 Константин Кондратюк 2008-04-16 13:53:21 MSD
Добавление к функции CreateSpoolFile дополнительного аргумента, содержащего имя документа, кажется даёт желаемый результат. 
Теперь правильно оформить патч (изменяемый код пересекается сразу с двумя нашими патчами) и проверить, решает ли проблему.
Comment 3 Vitaly Lipatov 2008-06-23 19:57:36 MSD
Заверши пожалуйста к релизу.
Comment 4 Константин Кондратюк 2008-10-10 16:32:15 MSD
Конечно же, результаты потерялись.
Несложно и недолго сделать заново.

Главный вопрос - как быть с параметром "-T" - он есть не во всех системах?
Comment 5 Vitaly Lipatov 2008-10-10 19:14:12 MSD
1. Ну и как мне добиваться, чтобы каждое начатое простое дело было завершено?
2. Я думаю что у команды lpr-cups всегда есть такой параметр.
3. Можно проверять наличие lpr-cups и использовать его при наличии
4. А где нет -T, и что говорят те системы при его передаче?
Comment 6 Константин Кондратюк 2008-10-13 11:18:26 MSD
commit afb676dff8281f1fbccad8487e484f254d18e86b
Author: Konstantin Kondratyuk <kondratyuk@etersoft.ru>
Date:   Mon Oct 13 11:05:35 2008 +0400

    gdi32: Add job name field into CreateSpoolFile (fix eterbug #929)

В рассылке Etersoft.
Comment 7 Константин Кондратюк 2009-01-16 14:10:15 MSK
Возникла ошибка на Debian 5.0 с использованием lprng по совету нашего саппорта. В команде не принимается пустое имя задачи (или вообще не работает с параметром -T)

trace:print:CreateSpoolFile command: '|lpr -T'' -P'hp3055''
...
lpr: missing argument for 'T'
Usage: lpr [-Pprinter[@host]] [-A] [-B] [-Cclass] [-Fformat] [-G] [-Jinfo]
   [-(K|#)copies] [-Q] [-Raccountname]  [-Ttitle]  [-Uuser[@host]] [-V]
   [-Zoptions] [-b] [-m mailaddr] [-h] [-i indent] [-l] [-w width ] [-r]
   [-Ddebugopt ] [--] [ filenames ...  ]
...
 -T title    - title for 'pr' (-p) formatting
...

Хорошо бы проверить на нашем дебиане и сделать правку.
Comment 8 Vitaly Lipatov 2009-01-16 14:20:00 MSK
Думаю, что будет правильным формировать название задание (оно же было, куда делось?) если оно пустое, и всегда передавать заполненное -T.
Comment 9 Константин Кондратюк 2009-01-16 14:27:01 MSK
Не понял, какое было раньше? Раньше не использовался -T, а сейчас -T используется с тем значением, что передаётся в функцию. То есть, возможно с пустым. И что делать, инициализировать пробелом в случае пустого имени?
Comment 10 Vitaly Lipatov 2009-01-16 14:32:31 MSK
Я слабо верю, что в Windows бывают задания без имени.
Почему пробелом? Всегда можно придумать название, например "Print job"
Comment 11 Константин Кондратюк 2009-01-16 15:36:00 MSK
commit 1504af342babc25b85efa4f1727a2bcdb83a24b2
Author: Konstantin Kondratyuk <kondratyuk@etersoft.ru>
Date:   Fri Jan 16 15:22:18 2009 +0300

    gdi32: Add default print job name (for eterbug #929)

Проблема должна исправляться этим патчем, нужна сборка для отправки и проверки.
Comment 12 Константин Кондратюк 2009-01-30 11:57:11 MSK
Проверить не проверили, но теоретически - должно работать. А теоретически нет разницы между теорией и практикой :)
Comment 13 Andrey Vusik 2009-01-30 14:54:40 MSK
Сборка 40/17
При печати файла
trace:print:CreateSpoolFile Got printerSpoolCommand '|lpr -T'C:\Program Files\1Cv77\1SBDemo\' -P'HpTest'' for output device 'LPR:HpTest'