Summary: | 1С82: Не печатаются рисунки | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Денис Баранов <baraka> |
Component: | Печать ; Диалог печати | Assignee: | Роман Дадьков <romand> |
Status: | CLOSED FIXED | QA Contact: | Svetlana Zhukova <svzhu> |
Severity: | critical | ||
Priority: | P1 | CC: | admin, amorozov, djam5, kondratyuk, lav, mid, night, sonner, svzhu |
Version: | 1.0.12 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | 19583, 20724, 20982, 21035, 22163, 22321, 22672, 23019 | Связано с: | |
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 437, 42 | ||
Deadline: | 2012-01-31 |
Description
Денис Баранов
2010-08-12 22:17:21 MSD
Картинки там в формате png. Установки ie и запуск через wineole не помог, думаю что надо смотреть библиотеку pngformat У меня та же проблема, временно решил следующим способом: 1. На машине с Windows вставил рисунок в документ Excel, затем этот документ вставил в форму отчета 1С, сделал так, что-бы был виден рисунок. 2. В wine сместил рисунок по осям, при печати рисунок немного смещается. Для печати изображений использовалась функция PSDRV_SetDIBits и для версий 8.0 все работает. В 8.2 что-то изменили в 1С и теперь данная функция перестала использоваться JPG/PNG перестали отображаться. В Windows проблем с печатью нет на любых версиях. Аналогичная проблема была здесь http://bugs.etersoft.ru/show_bug.cgi?id=6069 работаю над багой Нужно проверить на eterhack 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 Воспроизвелось. приступил версия, что картинка не печатается из-за того что выходит за пределы листа не подтвердилась в случае с 1с8.0 все работает даже на eterhack когда печать происходит через 1с8.0 помимо рисования контура и заливки квадратов периодически выполняется функция PSDRV_PutImage, когда же печатается через 1с8.2 эта функция не вызывается ни разу, все остальные функции рисования отрабатывают. PSDRV_PutImage вызывается в nulldrv_StretchBlt, пока не удалось выяснить почему в одной версии происходит вызов а в другой нет. коммит Ильи Шпигоря 905a53bd92ce670cd4686bc73cf73ba325efd166 похож на эту проблему. (не связан, просто похож) в старой версии 1с функция nulldrv_StretchBlt вызывалась напрямую, в ней происходил вызов PSDRV_PutImage - все работало. в 1с82 функция nulldrv_StretchBlt вызывается через иксы в ней вызова функции рисования не происходит. ни PSDRV_PutImage, ни X11DRV_PutImage. почему так, пока не очень понятно на wwo бага также воспроизвелась. видимо, она действительно связана с тем, что в 1с поменялся способ печати в 1с82 используется xrenderdrv_PutImage проблема именно в функции, которая занимается помещением картинки, а не получением. поскольку и в старой и в новой версии 1с функция получения работает одна и та же. отличия в печати на старой новой версии сводятся к функции putimage пока не ясно почему 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 ); не помогло новая версия, что проблема связана с функцией копирования copy_image_bits. поскольку hbitmap=0. версия с copy_image_bits не подтвердилась работаю над багой работаю над багой чтобы посмотреть последовательность вызова, нужно отключить свой обработчик прерывания 1с - NTSTATUS raise_exception. бага про отключение обработчика исключений 1990, она не доделана, но в каком-то виде все же работала. попробую посмотреть на 1.0.12. там ошибка воспроизводится точно так же, но работа с печатью попроще. to @kondratyuk: Проверил локально на testing WINE@Etersoft 1.0 SQL 1.0.12-eter14.7/28 Установка gdiplus через winetricks решает проблему с печатью png, ровно как и проблему с черной заставкой при запуске программы. Патч приложен gdiplus не установлен eterhack bottle 1c82/5892 WINE@Etersoft SQL 2.0.0-eter3.4/9 В пустой конфигурации открываю файл c:/5892/Инструкция по созданию нового бизнес-процесса.mxl он содержит картинку png. Печатаю. Далее в этом файле картинку меняю на другие форматы (gif,jpg,bmp) и печатаю каждую. Все корректно. Результаты печати в этой же бутылке. у меня с приложенным патчем картинки напечатались. бутылка rt/gemoytel. gdiplus при этом установлен не был (В ответ на comment #29) закрываю. нет не работает. |