Summary: | 1Cv77: Не открывается файл обработки | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Синицын Иван <ivan> |
Component: | Файловые операции | Assignee: | Виталий Перов <vitperov> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P5 | CC: | baraka, vitperov |
Version: | 1.0.8 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Linux | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 760, 777 | ||
Attachments: | Логи нормального файла и файла с ошибкой |
Description
Синицын Иван
2007-12-11 15:48:45 MSK
Бага воспроизводима в 1с8.0 и выше данный формат не используется. Удаётся открыть только в виде текста. А вообще не понятно, не открывается только этот файл, или все файлы формата .ert Если всё-таки другие файлы данного формата нормально открываются, то хотелось бы пример, чтобы понять как это должно работать по-правильному Дригие файлы данного формата прекрасно открываются. Попробовал этот файл пересохранить в винде - результат тот же. Created attachment 370 [details]
Логи нормального файла и файла с ошибкой
Подознение вызывает место: ФАЙЛ С ОШИБКОЙ: trace:file:RtlGetFullPathName_U (L"C:\\Program Files\\1Cv77\\test.ert\\Inplace description" 520 0x33ddd0 (nil)) trace:file:ReadFile 0x820 0x1f94b88 5932 0x33df3c (nil) trace:file:RtlGetFullPathName_U (L"C:\\Program Files\\1Cv77\\test.ert\\Page.1" 520 0x33dd8c (nil)) trace:file:ReadFile 0x820 0x80028418 512 0x33db90 (nil) trace:file:ReadFile 0x820 0x101b0f8 4096 0x33dfe0 (nil) trace:file:RtlDosPathNameToNtPathName_U (L"C:\\Program Files\\1Cv77\\BIN\\1cv7s.exe",0x33cfcc,0x33cfe0,(nil)) НОРМАЛЬНЫЙ ФАЙЛ: trace:file:RtlGetFullPathName_U (L"C:\\Program Files\\1Cv77\\work.ert\\Inplace description" 520 0x33ddd0 (nil)) trace:file:ReadFile 0x820 0x1f94b88 2 0x33dd54 (nil) trace:file:RtlGetFullPathName_U (L"C:\\Program Files\\1Cv77\\work.ert" 520 0x33defc (nil)) trace:file:FindFirstFileExW L"C:\\Program Files\\1Cv77\\CDExport.ert" 0 0x33d478 0 (nil) 0 trace:file:RtlDosPathNameToNtPathName_U (L"C:\\Program Files\\1Cv77\\CDExport.ert",0x33d420,0x33d428,(nil)) trace:file:RtlGetFullPathName_U (L"C:\\Program Files\\1Cv77\\CDExport.ert" 520 0x33d180 0x33d428) trace:file:wine_nt_to_unix_file_name L"\\??\\C:\\Program Files\\1Cv77\\" -> "/home/wine/.wine-1c77oo/dosdevices/c:/Program Files/1Cv77/" trace:file:NtQueryDirectoryFile (0x838 (nil) (nil) (nil) 0x33d410 0x1d6abc8 0x00002000 0x00000003 0x00000000 L"CDExport.ert" 0x00000001 trace:file:read_directory_stat trying optimisation for file L"CDExport.ert" Пробовал установить dCOM98 -ничего не изменилось Бага где-то в этом месте: trace:file:RtlGetFullPathName_U (L"C:\\Program Files\\1Cv77\\test.ert\\Inplace description" 520 0x33ddd0 (nil)) trace:file:ReadFile 0x820 0x1f94b88 5932 0x33df3c (nil) trace:file:RtlGetFullPathName_U (L"C:\\Program Files\\1Cv77\\test.ert\\Page.1" 520 0x33dd8c (nil)) т.е при чтении первой страницы Всего страниц 3. Пробовал вручную в файле отчёта исправить несколько байт после Inplace description. Поставил также как в отчёте, где страниц нет. В итоге ошибки не выдаёт, но и ничего другого тоже не выдаёт. Пробовал под Windows отредактировать файл отчёта - убрать из описаниния весь текст - не помогло: открывается с ошибкой. При просмотре файла оказалось, что теперь в Inplace description 2 страницы! Бага всё-таки не в Inplace description. Inplace description и Page 1, Page 2 существуют независимо друг от друга. Так что бага должна быть где-то в Page 1. Функция ReadFile() проходит нормально. Сколько байт запрошено, столько и прочитано: trace:file:RtlGetFullPathName_U (L"C:\\Program Files\\1Cv77\\test.ert\\Page.1" 520 0x33dd8c (nil)) trace:file:ReadFile 0x820 0x80028418 512 0x33db90 (nil) fixme:file:ReadFile toRead=512 Read=512 trace:file:ReadFile 0x820 0x101b0f8 4096 0x33dfe0 (nil) fixme:file:ReadFile toRead=4096 Read=4096 Значит ошибка получается при разборе полученных данных При удалении всего содержимого из таблицы файл открывается, но выдаётся сообщения типа: ДвухмерныйШтрихКод1_1<<?>>.Загрузить(ИмяФайлаБлокаШтрихКода); {C:\PROGRAM FILES\1CV77\TEST-CUT2.ERT(4292)}: Переменная не определена (ДвухмерныйШтрихКод1_1) ДвухмерныйШтрихКод1_2<<?>>.Загрузить(ИмяФайлаБлокаШтрихКода); {C:\PROGRAM FILES\1CV77\TEST-CUT2.ERT(4295)}: Переменная не определена (ДвухмерныйШтрихКод1_2) удалением частей отчёта можно примерно локализовать место баги в файле. при удалении 2-й страницы бага есть. а если удалить таблицу на первой странице, то баги уже нет, и отчёт открывается нормально Бага находится в ячейке R14C3:R16C4 (объединённый диапазон). А там находится вертикальный текст "№ п/п" Или бага в вертикальном тексте, или в символе "№" Бага в вертикльном тексте. Если задать угол поворота 0, то бага исчезает А ошибка заключается в повороте текста на 90 градусов. В 1C 7.7.020 ещё нет такой возможности, а в версии 7.7.025 уже есть. В версии 7.7.025 и выше данный файл прекрасно открывается Раз ошибка не в wine, а разности версий 1С. Закрываю. |