Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 5892 - 1С82: Не печатаются рисунки   Make a simular bug
Summary: 1С82: Не печатаются рисунки
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Печать ; Диалог печати (show other bugs)
Version: 1.0.12
Hardware: PC All
: P1 critical
Target Milestone: ---
Deadline: 2012-01-31
Assignee: Роман Дадьков
QA Contact: Svetlana Zhukova
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 437 42
  Show dependency treegraph
 
In work:
Reported: 2010-08-12 22:17 MSD by Денис Баранов
Modified: 2012-05-25 18:37 MSK (History)
9 users (show)

See Also:
Заявки RT: 19583, 20724, 20982, 21035, 22163, 22321, 22672, 23019
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Денис Баранов 2010-08-12 22:17:21 MSD
На печать выводится пустота в черных рамках.
Воспроизвести можно в бутылке rt/gemoytel. Там есть файл на диске C:\Инструкция по созданию нового бизнес-процесса.mxl его нужно открыть через 1С и напечатать.

WINE@Etersoft 1.0.12 eter7.6/eter13
Comment 1 Денис Баранов 2010-10-06 14:40:18 MSD
Картинки там в формате png.
Comment 2 Marat Sharipov 2011-05-27 18:30:07 MSK
Установки ie и запуск через wineole не помог,
думаю что надо смотреть библиотеку pngformat
Comment 3 X-NoNAME 2011-05-30 11:59:06 MSK
У меня та же проблема, временно решил следующим способом:

1. На машине с Windows вставил рисунок в документ Excel, затем этот документ вставил в форму отчета 1С, сделал так, что-бы был виден рисунок.
2. В wine сместил рисунок по осям, при печати рисунок немного смещается.
Comment 4 Marat Sharipov 2011-06-06 18:58:28 MSK
Для печати изображений использовалась функция PSDRV_SetDIBits и для версий 8.0
все работает.
В 8.2 что-то изменили в 1С и теперь данная функция перестала использоваться JPG/PNG перестали отображаться.
В Windows проблем с печатью нет на любых версиях.
Аналогичная проблема была здесь http://bugs.etersoft.ru/show_bug.cgi?id=6069
Comment 5 Marat Sharipov 2011-06-22 19:44:04 MSK
работаю над багой
Comment 6 Константин Кондратюк 2011-09-08 13:22:18 MSK
Нужно проверить на eterhack
Comment 7 Svetlana Zhukova 2011-09-13 14:22:00 MSK
WINE@Etersoft 1.0 SQL 1.3.27/1.7.1-eter1.12/3

wine@eterhack bottle 1c/bug42
Результат:
c:/Program Files/1cv82/8.2.13.205/job_3394-260.pdf 

Воспроизвелось.
Comment 8 Роман Дадьков 2011-12-26 20:12:49 MSK
приступил
Comment 9 Роман Дадьков 2012-01-04 17:32:26 MSK
версия, что картинка не печатается из-за того что выходит за пределы листа не подтвердилась
Comment 10 Роман Дадьков 2012-01-04 18:06:04 MSK
в случае с 1с8.0 все работает даже на eterhack
Comment 11 Роман Дадьков 2012-01-04 19:10:02 MSK
когда печать происходит через 1с8.0 помимо рисования контура и заливки квадратов периодически выполняется функция PSDRV_PutImage, когда же печатается через 1с8.2 эта функция не вызывается ни разу, все остальные функции рисования отрабатывают.
Comment 12 Роман Дадьков 2012-01-04 21:04:10 MSK
PSDRV_PutImage вызывается в nulldrv_StretchBlt, пока не удалось выяснить почему в одной версии происходит вызов а в другой нет.
Comment 13 Роман Дадьков 2012-01-06 20:53:44 MSK
коммит Ильи Шпигоря 905a53bd92ce670cd4686bc73cf73ba325efd166 похож на эту проблему. (не связан, просто похож)
Comment 14 Роман Дадьков 2012-01-25 20:28:55 MSK
в старой версии 1с функция nulldrv_StretchBlt вызывалась напрямую, в ней происходил вызов PSDRV_PutImage - все работало. в 1с82 функция nulldrv_StretchBlt вызывается через иксы в ней вызова функции рисования не происходит. ни PSDRV_PutImage, ни X11DRV_PutImage. почему так, пока не очень понятно
Comment 15 Роман Дадьков 2012-01-26 14:36:11 MSK
на wwo бага также воспроизвелась. видимо, она действительно связана с тем, что в 1с поменялся способ печати
Comment 16 Роман Дадьков 2012-01-26 17:07:18 MSK
в 1с82 используется xrenderdrv_PutImage
Comment 17 Роман Дадьков 2012-01-26 18:24:54 MSK
проблема именно в функции, которая занимается помещением картинки, а не получением. поскольку и в старой и в новой версии 1с функция получения работает одна и та же. отличия в печати на старой  новой версии сводятся к функции putimage
Comment 18 Роман Дадьков 2012-01-26 19:44:01 MSK
пока не ясно почему image не помещается на место. пробовал убрать все кроме 
if (hbitmap) return X11DRV_PutImage( dev, hbitmap, clip, info, bits, src, dst, rop );
    dev = GET_NEXT_PHYSDEV( dev, pPutImage );
    return dev->funcs->pPutImage( dev, hbitmap, clip, info, bits, src, dst, rop );
не помогло
Comment 19 Роман Дадьков 2012-01-31 20:59:42 MSK
новая версия, что проблема связана с функцией копирования copy_image_bits. поскольку hbitmap=0.
Comment 20 Роман Дадьков 2012-02-01 21:19:47 MSK
версия с copy_image_bits не подтвердилась
Comment 21 Роман Дадьков 2012-02-02 21:32:02 MSK
работаю над багой
Comment 22 Роман Дадьков 2012-02-03 20:55:15 MSK
работаю над багой
Comment 23 Роман Дадьков 2012-02-07 13:55:54 MSK
чтобы посмотреть последовательность вызова, нужно отключить свой обработчик прерывания 1с - NTSTATUS raise_exception. бага про отключение обработчика исключений 1990, она не доделана, но в каком-то виде все же работала.
попробую посмотреть на 1.0.12. там ошибка воспроизводится точно так же, но работа с печатью попроще.
Comment 26 Andrey Vusik 2012-03-02 14:29:36 MSK
to @kondratyuk:
Проверил локально на testing
WINE@Etersoft 1.0 SQL 1.0.12-eter14.7/28
Установка gdiplus через winetricks решает проблему с печатью png, ровно как и проблему с черной заставкой при запуске программы.
Comment 28 Александр Морозов 2012-03-07 13:47:33 MSK
Патч приложен
Comment 29 Svetlana Zhukova 2012-03-07 14:04:07 MSK
gdiplus не установлен
eterhack bottle 1c82/5892
WINE@Etersoft SQL 2.0.0-eter3.4/9
В пустой конфигурации открываю файл 
c:/5892/Инструкция по созданию нового бизнес-процесса.mxl
он содержит картинку png. Печатаю.
Далее в этом файле картинку меняю на другие форматы (gif,jpg,bmp) и печатаю каждую. Все корректно. Результаты печати в этой же бутылке.
Comment 30 Роман Дадьков 2012-03-08 19:16:06 MSK
у меня с приложенным патчем картинки напечатались. бутылка rt/gemoytel. gdiplus при этом установлен не был
Comment 31 Svetlana Zhukova 2012-04-20 12:35:26 MSK
(В ответ на comment #29)
закрываю.
Comment 32 Роман Дадьков 2012-05-25 18:37:51 MSK
нет не работает.