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

Отработанное время:
Продуктивное время:
Bug 16143 - Ошибка печати в ППДГР   Make a simular bug
Summary: Ошибка печати в ППДГР
Status: CLOSED FIXED
Alias: None
Product: ППДГР
Classification: Поддержка проектов
Component: Тестирование (show other bugs)
Version: не указана
Hardware: PC Linux
: P4 minor
Target Milestone: ---
Assignee: Иван Ивлев
QA Contact: Олег Шевченко
URL:
Whiteboard:
Keywords:
Depends on: 8330 16166
Blocks: 16218
  Show dependency treegraph
 
In work:
Reported: 2022-12-08 18:30 MSK by Олег Шевченко
Modified: 2023-08-01 19:19 MSK (History)
2 users (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Олег Шевченко 2022-12-08 18:30:31 MSK
Обнаружена ошибка при попытке печати в ППДГР

Хоть в #16089 и сказано, что ППДГР полностью работает, вероятно, возможность печати не проверялась. Необходимо протестировать в актуальной версии W@E 7.20 в ОС ALT Linux Workstation 10.
Comment 1 Иван Ивлев 2022-12-08 20:56:38 MSK
Тестировал в клоне 260 (iviv-16143-ALTWS10)

Установил W@E:

WINE@Etersoft 7.20.2-alt1.p10.2 установлен.
Пример использования (запускать под пользователем):
 $ wine setup.exe

Установленные пакеты WINE@Etersoft:
 # epm qp wine
 # rpm -qa | grep -E -i --color -- "(wine)"
wine-etersoft-common-7.20.2-alt1.p10.2.noarch
wine32-etersoft-7.20.2-alt1.p10.2.i586
wine32-etersoft-grdwine-0.5.7.1-alt0.p10.1.i586
wine-etersoft-winetricks-20220617-alt1.p10.2.noarch
wine-etersoft-full-7.20.2-alt1.p10.2.x86_64
wine-etersoft-programs-7.20.2-alt1.p10.2.x86_64
wine-etersoft-mono-7.4.0-eter0.p10.1.noarch
wine-etersoft-grdwine-0.5.7.1-alt0.p10.1.x86_64
wine-etersoft-network-7.0.7-alt0.p10.1.x86_64
wine-etersoft-gecko-2.47.3-alt1.p10.2.noarch
wine-etersoft-7.20.2-alt1.p10.2.x86_64

Смонтировал ftp и перешёл в /var/ftp/pvt/Windows/PPDGR/SetupPPDGR2.msi и запустил оттуда установку 
$ wine SetupPPDGR2.msi

После установки не запустилось, тогда доустановил  $ epmi libunwind.so.8,
$ winetricks dotnet48 и $ winetricks tahoma

Запустилось.

Нажал на "Печать" - отказ по причине неправильного заполнения формы.

Заполнил форму произвольными сочетаниями букв и цифр, так чтобы не выдавало ошибок, нажимаю "Печать".

Окошко "Печать и выгрузка невозможны. Найдите файл C:\users\guest\Documents\PPDGR_Errors.log и перешлите его разработчикам.

Открыл этот файл, вот его содержимое:

Список ошибок: The 'СрокЛиквООО' attribute is invalid - The value '' is invalid according to its datatype 'ДатаТип' - The Pattern constraint failed., (строка 1 позиция 320)<?xml version="1.0" encoding="windows-1251"?><Файл ИдФайл="RO_R15016_0000_0000_0000000000000_20221208_a99cbb56-f2df-47a1-9b9f-c46062e00a44" ВерсПрог="ППДГР_2.2.3" ВерсФорм="5.01"><Документ КНД="1111521" КодСФРД="Р15016" ДатаДок="08.12.2022"><СвЮЛ ОГРН="1234567890000" ИННЮЛ="1234567890" /><ПрПредЗаяв ВидПрПредЗаяв="1" СрокЛиквООО="" /><Заявитель ВидЗаявит="2"><СвЗаяв ИННФЛ="321321312321"><ФИО><Фамилия>АВЫАВЫ</Фамилия><Имя>АВЫАВЫ</Имя><Отчество>ПАВЫ</Отчество></ФИО><СвРожд ДатаРожд="01.01.2001" МестоРожд="АВВЫА" /><УдЛичнФЛ КодВидДок="21" СерНомДок="33 32 132132" ДатаДок="11.11.2020" ВыдДок="АВЫАВЫ" КодВыдДок="132-151" /></СвЗаяв><E-mail>BLA</E-mail><Тлф>432</Тлф><ВидВыдач>1</ВидВыдач></Заявитель></Документ></Файл>

Изучив его, заполнил графу, о которой сообщалось.

После этого снова нажимаю на "Печать", нажимаю что уверен в том, что хочу запустить на печать с предупреждениями.

Получил окошко:

Сбой печати
Просмотр: Проверка каталога шаблонов печати: Открытие каталога для чтения: Object doesn't support this action. "Печать НД с PDF417 3.3.2 (пакет)".

На сайте ГНИВЦ посмотрел что такое PDF 417: https://www.gnivc.ru/software/fnspo/pdf417/

Воспользовался ссылкой, скачал по ссылке https://www.gnivc.ru/html/Soft/pdf417/msxml4.zip распаковал и установил, не помогло

После вписал $ winetricks msxml4 и установил, не помогло.

После попробовал провернуть всё вышеперечисленное заново, но в 32-битном префиксе, тоже не помогло
Comment 2 Vitaly Lipatov 2022-12-14 19:23:25 MSK
У меня при нажатии на печать в консоли такое:
0128:err:ole:com_get_class_object class {cfd2f2dd-0151-4c65-8b21-69f18718eb83} not registered
0128:err:ole:create_server class {cfd2f2dd-0151-4c65-8b21-69f18718eb83} not registered
0128:fixme:ole:com_get_class_object CLSCTX_REMOTE_SERVER not supported
0128:err:ole:com_get_class_object no class object {cfd2f2dd-0151-4c65-8b21-69f18718eb83} could be created for context 0x15

И окошко «Сбой печати» с сообщением
«Не найден модуль печати. Retrieving the COM class factory for component with CLSID {cfd2f2dd-0151-4c65-8b21-69f18718eb83} failed due the following error: 80040154 Exception from HRESULT: 0x80040154 {REGDB_E_CLASSNOTREG}.
Comment 3 Vitaly Lipatov 2022-12-14 19:25:15 MSK
Было что-то подобное
https://bugs.etersoft.ru/show_bug.cgi?id=4128

Но судя по https://forum.buhsoft.ru/node/31009

Скачиваете с сайта ГНИ библиотечный модуль печати PDF-417, устанавливаете.
В своей программе подлючаете TAXDOCPrt.dll

Код:
var
  DocPrint: _TAXDOCPrint;

// создаем интерфейс (GUID взят из реестра (во время установки модуля печати СОМ-сервер регистрируется, и в реестре появляется соответ. запись)
  DocPrint:=CreateComObject(StringToGUID('{CFD2F2DD-0151-4C65-8B21-69F18718EB83}')) as TAXDOCPrint;

  DocPrint.PrintTiffFolder:=GNITemplatePath;   // указываем, где находятся файлы шаблонов *.tif

  DocPrint.SetPrintTiffParam('Наименование налогового органа-получателя',Name_GNI); 

  DocPrint.PreviewFile(DataFileName,0,nil); //DataFileName - xml файл, который передаете в налоговую


Это у меня как раз таки PDF417 не установлен.
Comment 4 Vitaly Lipatov 2022-12-14 20:08:22 MSK
Установил PDF417 через msi со страницы
https://www.gnivc.ru/software/fnspo/pdf417/

Теперь при печати получаю окошко

Сбой печати
Просмотр: Проверка каталога шаблонов печати: Открытие каталога для чтения: Object doesn't support this action. "Печать НД с PDF417 3.3.2 (пакет)".

илог
0158:fixme:gdiplus:GdipGetLineSpacing ignoring style
0158:fixme:ole:CLSIDFromProgIDEx L"MSXML2.DOMDocument.4.0", 0065E56C: semi-stub
0158:fixme:msxml:domdoc_setProperty Ignoring property L"NewParser", value 0065E5C0 {VT_BOOL: ffffffff}
0158:fixme:ole:CLSIDFromProgIDEx L"MSXML2.DOMDocument.4.0", 0065E37C: semi-stub
0158:fixme:msxml:domdoc_setProperty Ignoring property L"NewParser", value 0065E3D0 {VT_BOOL: ffffffff}
compilation error: element decimal-format
xsltParseStylestyleDecimalFormat: v already exists
0158:fixme:ole:CLSIDFromProgIDEx L"Scripting.FileSystemObject", 0065E608: semi-stub
0158:fixme:scrrun:filesys_QueryInterface Unsupported interface {7fd52380-4e07-101b-ae2d-08002b2ec713}
0158:fixme:scrrun:filesys_QueryInterface Unsupported interface {37d84f60-42cb-11ce-8135-00aa004bb851}
0158:fixme:scrrun:folder_get_Size (016289B8)->(0065E690): stub

Выполнил
$ winetricks wsh57
в консоли
0274:err:resource:load_MUI_module NtOpenFile(L"\\??\\C:\\windows\\syswow64\\en-US\\scrrun.dll.mui") => c0000034
0274:err:resource:LdrFindResource_U module 6CDF0000 has MUI_RC_CONFIG but .mui resource file was not found
regsvr32: DLL «scrrun.dll» успешно зарегистрирована


После этого при печати окно
Сбой печати
Просмотр: Модификация [2] преобразования 23XML в prtXML: Method '~' of obect '~' failed.

В консоли:
0110:fixme:ole:CLSIDFromProgIDEx L"MSXML2.DOMDocument.4.0", 0065E56C: semi-stub
0110:fixme:msxml:domdoc_setProperty Ignoring property L"NewParser", value 0065E5C0 {VT_BOOL: ffffffff}
0110:fixme:ole:CLSIDFromProgIDEx L"MSXML2.DOMDocument.4.0", 0065E37C: semi-stub
0110:fixme:msxml:domdoc_setProperty Ignoring property L"NewParser", value 0065E3D0 {VT_BOOL: ffffffff}
compilation error: element decimal-format
xsltParseStylestyleDecimalFormat: v already exists
0110:fixme:ole:CLSIDFromProgIDEx L"Scripting.FileSystemObject", 0065E608: semi-stub
0110:fixme:ole:CLSIDFromProgIDEx L"Scripting.FileSystemObject", 0065E574: semi-stub
0110:fixme:ole:CLSIDFromProgIDEx L"Scripting.FileSystemObject", 0065E5F8: semi-stub
0110:fixme:ole:CLSIDFromProgIDEx L"Scripting.FileSystemObject", 0065E28C: semi-stub
TIFFReadDirectory: Warning, Unknown field with tag 50100 (0xc3b4) encountered.
...
TIFFReadDirectory: Warning, Unknown field with tag 50201 (0xc419) encountered.
0110:fixme:ole:CLSIDFromProgIDEx L"MSXML2.DOMDocument.4.0", 0065E430: semi-stub
0110:fixme:msxml:domdoc_setProperty Ignoring property L"NewParser", value 0065E488 {VT_BOOL: ffffffff}
0110:fixme:ole:CLSIDFromProgIDEx L"MSXML2.DOMDocument.4.0", 0065E564: semi-stub
0110:fixme:msxml:domdoc_setProperty Ignoring property L"NewParser", value 0065E5B8 {VT_BOOL: ffffffff}
0110:fixme:ole:CLSIDFromProgIDEx L"Scripting.FileSystemObject", 0065E20C: semi-stub
TIFFReadDirectory: Warning, Unknown field with tag 50100 (0xc3b4) encountered.
...
TIFFReadDirectory: Warning, Unknown field with tag 50201 (0xc419) encountered.
0110:fixme:ole:CLSIDFromProgIDEx L"MSXML2.DOMDocument.4.0", 0065E3B0: semi-stub
0110:fixme:msxml:domdoc_setProperty Ignoring property L"NewParser", value 0065E408 {VT_BOOL: ffffffff}


установил
$ winetricks msxml4

после чего предпросмотр печати успешно открылся, со штрихкодами.

Но при печати сообщение
Ошибка печати
Печать на принтер (Cups-PDF): GDI+ Не удалось выбрать страницу в TIF-файле: 2 (код: 2).
[-10732117532 (0xC0080004)\Неверный дескриптор. \6 (0x6)\TifOperation.cpp (строка:1392)].
Comment 5 Vitaly Lipatov 2022-12-14 20:16:09 MSK
Та же ошибка при сохранении в TIFF. В консоли
TIFFReadDirectory: Warning, Unknown field with tag 50100 (0xc3b4) encountered.
TIFFReadDirectory: Warning, Unknown field with tag 50101 (0xc3b5) encountered.
TIFFReadDirectory: Warning, Unknown field with tag 50200 (0xc418) encountered.
TIFFReadDirectory: Warning, Unknown field with tag 50201 (0xc419) encountered.
TIFFReadDirectory: Warning, Unknown field with tag 50100 (0xc3b4) encountered.
TIFFReadDirectory: Warning, Unknown field with tag 50101 (0xc3b5) encountered.
TIFFReadDirectory: Warning, Unknown field with tag 50200 (0xc418) encountered.
TIFFReadDirectory: Warning, Unknown field with tag 50201 (0xc419) encountered.

Поставил
winetricks gdiplus

Теперь окно
Сбой печати
Просмотр: Получение преобразования для проверки 23XML: Получение числа страница Tiff-файла: GDI+: Не удалось создать объект из файла 'C:\АО ГНИВЦ\ППДГР-2\XML\Print\1111520_5.02000_02.tif' (код 2). [-10732117532 (0xC0080004)\\0 (0x0)\TifOperation.cpp (строка:361)].


0110:fixme:ole:CLSIDFromProgIDEx L"MSXML2.DOMDocument.4.0", 0065E56C: semi-stub
0110:fixme:ole:CLSIDFromProgIDEx L"MSXML2.DOMDocument.4.0", 0065E37C: semi-stub
0110:fixme:ole:CLSIDFromProgIDEx L"Scripting.FileSystemObject", 0065E608: semi-stub
0110:fixme:ole:CLSIDFromProgIDEx L"Scripting.FileSystemObject", 0065E574: semi-stub
0110:fixme:ole:CLSIDFromProgIDEx L"Scripting.FileSystemObject", 0065E5F8: semi-stub
0110:fixme:ole:CLSIDFromProgIDEx L"Scripting.FileSystemObject", 0065E28C: semi-stub
TIFFReadDirectory: Warning, Unknown field with tag 50100 (0xc3b4) encountered.
TIFFReadDirectory: Warning, Unknown field with tag 50101 (0xc3b5) encountered.
TIFFReadDirectory: Warning, Unknown field with tag 50200 (0xc418) encountered.
TIFFReadDirectory: Warning, Unknown field with tag 50201 (0xc419) encountered.
0110:fixme:wincodecs:FormatConverter_Initialize Unsupported conversion {6fddc324-4e03-4bfe-b185-3d77768dc905} -> {6fddc324-4e03-4bfe-b185-3d77768dc901}
Comment 6 Vitaly Lipatov 2022-12-14 20:18:39 MSK
> 0110:fixme:wincodecs:FormatConverter_Initialize Unsupported conversion {6fddc324-4e03-4bfe-b185-3d77768dc905} -> {6fddc324-4e03-4bfe-b185-3d77768dc901}
Это
GUID_WICPixelFormatBlackWhite:           TGUID = '{6FDDC324-4E03-4BFE-B185-3D77768DC905}';
в
GUID_WICPixelFormat1bppIndexed:          TGUID = '{6FDDC324-4E03-4BFE-B185-3D77768DC901}';
Comment 7 Vitaly Lipatov 2022-12-14 20:29:45 MSK
Как я понял, окно «Ошибка печати» формируется компонентой PDF417 (иначе почему у нас с ней в 1С были такие же ошибки, что и здесь)
https://bugs.etersoft.ru/show_bug.cgi?id=8330

Убрал использование сторонней gdiplus.

При сохранении в одностраничные TIFF первая страница успешно записывается, а далее ошибка

Ошибка печати
Печать на принтер (Cups-PDF): GDI+ Не удалось выбрать страницу в TIF-файле: 2 (код: 2).
[-10732117532 (0xC0080004)\Неверный дескриптор. \6 (0x6)\TifOperation.cpp (строка:1392)].
Comment 8 Vitaly Lipatov 2022-12-15 02:02:12 MSK
(Ответ Vitaly Lipatov на комментарий #6)
> > 0110:fixme:wincodecs:FormatConverter_Initialize Unsupported conversion {6fddc324-4e03-4bfe-b185-3d77768dc905} -> {6fddc324-4e03-4bfe-b185-3d77768dc901}
> Это
> GUID_WICPixelFormatBlackWhite:           TGUID =
> '{6FDDC324-4E03-4BFE-B185-3D77768DC905}';
> в
> GUID_WICPixelFormat1bppIndexed:          TGUID =
> '{6FDDC324-4E03-4BFE-B185-3D77768DC901}';

Поставил
$ winetricks windowscodecs

Но программа перестала запускаться с ошибкой

0124:err:ole:apartment_getclassobject DllGetClassObject returned error 0x80040154 for dll L"C:\\windows\\system32\\windowscodecs.dll"
0124:err:ole:com_get_class_object no class object {3692ca39-e082-4350-9e1f-3704cb083cd5} could be created for context 0x1
0124:fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime"): stub
0124:fixme:advapi:ReportEventW (CAFE4242,0x0001,0x0000,0x00000402,00000000,0x0001,0x00000000,0065DE10,00000000): stub
0124:err:eventlog:ReportEventW L"Application: PPDGR2.exe\nFramework Version: v4.0.30319\nDescription: The process was terminated due to an unhandled exception.\nException Info: System.ArgumentException\n   at System.Drawing.Image.get_RawFormat()\n   at System.Windows.Forms.ToolStripItem.set_ImageTransparentColor(System.D"...
0124:fixme:advapi:DeregisterEventSource (CAFE4242) stub

Unhandled Exception: System.ArgumentException: Parameter is not valid.
   at System.Drawing.Image.get_RawFormat()
   at System.Windows.Forms.ToolStripItem.set_ImageTransparentColor(Color value)
   at PPDGR2.frmMain.InitializeComponent()
   at PPDGR2.frmMain..ctor()
   at PPDGR2.Program.Main()
Comment 9 Vitaly Lipatov 2022-12-15 02:39:21 MSK
Посмотрел на временный файл, даже убрал удаление файлов. В этом временном файле сохранена 1 страница в TIFF. Видимо, следующие страницы не могут сгенерироваться из-за ошибки.

0110:trace:file:GetFileAttributesW L"C:\\users\\lav\\Temp\\rad0E0F9.tmp"
0110:trace:file:RtlDosPathNameToNtPathName_U_WithStatus (L"C:\\users\\lav\\Temp\\rad0E0F9.tmp",0065C7E8,00000000,00000000)
0110:trace:file:RtlGetFullPathName_U (L"C:\\users\\lav\\Temp\\rad0E0F9.tmp" 520 0065C54C 00000000)
0110:trace:file:nt_to_unix_file_name_no_root L"users\\lav\\Temp\\rad0E0F9.tmp" not found in /home/lav/.wine/dosdevices/c:/users/lav/Temp
0110:warn:file:NtQueryAttributesFile L"\\??\\C:\\users\\lav\\Temp\\rad0E0F9.tmp" not found (c0000034)
0110:trace:file:CreateFileW L"C:\\АО ГНИВЦ\\ППДГР-2\\XML\\Print\\1111520_5.02000_02.tif" GENERIC_READ FILE_SHARE_READ  creation 3 attributes 0x0
0110:trace:file:RtlDosPathNameToNtPathName_U_WithStatus (L"C:\\АО ГНИВЦ\\ППДГР-2\\XML\\Print\\1111520_5.02000_02.tif",0065C72C,00000000,00000000)
0110:trace:file:RtlGetFullPathName_U (L"C:\\АО ГНИВЦ\\ППДГР-2\\XML\\Print\\1111520_5.02000_02.tif" 520 0065C47C 00000000)
...
0110:trace:file:GetFileAttributesW L"C:\\users\\lav\\Temp\\rad0E0F9.tmp"
0110:trace:file:RtlDosPathNameToNtPathName_U_WithStatus (L"C:\\users\\lav\\Temp\\rad0E0F9.tmp",0065C3E8,00000000,00000000)
0110:trace:file:RtlGetFullPathName_U (L"C:\\users\\lav\\Temp\\rad0E0F9.tmp" 520 0065C14C 00000000)
0110:trace:file:nt_to_unix_file_name_no_root L"users\\lav\\Temp\\rad0E0F9.tmp" not found in /home/lav/.wine/dosdevices/c:/users/lav/Temp
0110:warn:file:NtQueryAttributesFile L"\\??\\C:\\users\\lav\\Temp\\rad0E0F9.tmp" not found (c0000034)
Comment 10 Иван Ивлев 2023-07-27 15:03:12 MSK
Было протестировано в новом релизе W@E 8.12. В нём ошибка не воспроизвелась.

https://bugs.etersoft.ru/show_bug.cgi?id=16648#c1

Ставлю задаче "Решена"
Comment 11 Олег Шевченко 2023-08-01 19:19:50 MSK
Закрываю задачу.