Bug 2088

Summary: Проблемы при открытии файлов в 1с 8.1
Product: WINE@Etersoft Reporter: Alexeev Alexey <alexeev>
Component: ОбщееAssignee: Денис Баранов <baraka>
Status: CLOSED FIXED QA Contact:
Severity: minor    
Priority: P4 CC: baraka, ddv, kondratyuk, lav
Version: 1.0.8   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: Связано с:
Дата напоминания:
Bug Depends on: 2465, 7398    
Bug Blocks:    
Deadline: 2008-09-30   
Attachments: wine.log

Description Alexeev Alexey 2008-07-07 17:57:07 MSD
Created attachment 551 [details]
wine.log

Сообщение из заявки http://rt.etersoft.ru/Ticket/Display.html?id=6883

В Windows 1С 8 открывает файлы разных расширений doc, mdi, pdf, jpg, tif
предварительно их сохраняя во временную папку. Под wine etersoft файл
сохраняется во временную папку и ничего более не происходит. Хотя эти
файлы без проблем открываются из winefile или того же totalcommander.
Для всех расширений сделаны соответствующие записи в реестре и созданы
скрипт в папке c:\windows\command. Файлы всех расширений привязаны к
соответствующим Linux приложениям.

wine.log в аттаче.
Comment 1 Дмитрий 2008-07-15 13:11:41 MSD
1с клиент 8 умеет открывать во внешнем приложении файлы. Сначала файл сохраняется во временную папку(это работает, файл можно найти) и затем открывается в приложении связанное с данным расширением файла. Все файлы из под winefile открываются!! Из 1с ни в какую.

по ссылке ftp://www.pspo.perm.ru/pub/windows.avi можно увидеть в ролике как это работает под windows.
и по ссылке ftp://www.pspo.perm.ru/pub/wine.avi можно увидеть как это не работает под wine.

лог при выполнении данных действий я уже приводил.
Comment 2 Денис Баранов 2008-08-25 22:55:07 MSD
Приложите пожалуйста ваш скрипт для запуска приложений к баге.
Comment 3 Дмитрий 2008-09-15 09:06:13 MSD
(In reply to comment #2)
> Приложите пожалуйста ваш скрипт для
> запуска приложений к баге.
> 

$ ls -l ~/.wine/dosdevices/c:/windows/command
итого 200
-rwxrwxr-x 1 ddv wineadmin    280 Июн  9 11:48 imageview
-rwxrwxr-x 1 ddv wineadmin    271 Дек 20  2007 ooffice
-rwxrwxr-x 1 ddv wineadmin  49572 Дек 20  2007 start.exe
lrwxrwxrwx 1 ddv wineadmin     39 Июн  9 11:55 winelocktest.exe.so -> /usr/lib/wine/winelocktest-linux.exe.so
-rwxrwxr-x 1 ddv wineadmin 135168 Дек 20  2007 zip.exe


Скрипт написанный мной:
$ cat ~/.wine/dosdevices/c:/windows/command/imageview
#!/bin/sh
# Wrap script for search and run Kuickshow in host system

UNIXPATH=`winepath "$1"`
IMAGEVIEW=`which kuickshow 2>/dev/null`
test -z $IMAGEVIEW && { echo "Kuickshow is not found on your system, check for imageview executable in PATH" ; exit 1 ; }
$IMAGEVIEW "$UNIXPATH"

Скрипт из пакета wine:
$ cat ~/.wine/dosdevices/c:/windows/command/ooffice
#!/bin/sh
# Wrap script for search and run OOo in host system

UNIXPATH=`winepath "$1"`
OOFFICE=`which ooffice 2>/dev/null`
test -z "$OOFFICE" && OOFFICE=`which openoffice.org2.2 2>/dev/null`
test -z "$OOFFICE" && OOFFICE=`which soffice 2>/dev/null`
$OOFFICE "$UNIXPATH"

Оба скрипта отрабатывают из winefile, но не работают из 1С8
Comment 4 Денис Баранов 2008-09-17 17:09:07 MSD
Пробовал добавлять во вложение (например к эл.письму) doc файл.
При нажатии на открыть открывается просто winefile.
Буду тестировать дальше. 
Comment 5 Vitaly Lipatov 2008-09-17 17:31:51 MSD
Удостоверься, что твой способ нормально работает на винде.
Comment 6 Денис Баранов 2008-09-17 19:43:48 MSD
Под виндой при попытке открыть выводится диалог открытия файла и после нажатия на "открыть" открывается IE со встроеным в него word.
Wine:
Трейс по +process
trace:process:CreateProcessW app (null) cmdline L"explorer C:\\windows\\temp\\123g.doc"
trace:process:find_exe_file looking for L"explorer"
trace:process:find_exe_file Trying native exe L"C:\\windows\\explorer.exe"
trace:process:CreateProcessW starting L"C:\\windows\\explorer.exe" as Win32 binary (0x10000000-0x10003000)
trace:process:init_current_directory starting in L"C:\\" 0x1c
trace:process:__wine_kernel_init starting process name=L"C:\\windows\\explorer.exe" argv[0]=L"explorer"
trace:process:CreateProcessW started process pid 0032 tid 0033
trace:process:CreateProcessW app (null) cmdline L"C:\\windows\\system32\\winefile.exe C:\\windows\\temp\\123g.doc\\"
trace:process:find_exe_file looking for L"C:\\windows\\system32\\winefile.exe"
trace:process:find_exe_file Trying native exe L"C:\\windows\\system32\\winefile.exe"
trace:process:find_exe_file Trying built-in exe L"C:\\windows\\system32\\winefile.exe"
trace:process:CreateProcessW starting L"C:\\windows\\system32\\winefile.exe" as Winelib app
trace:process:init_current_directory starting in L"C:\\" 0x18
trace:process:__wine_kernel_init starting process name=L"C:\\windows\\system32\\winefile.exe" argv[0]=L"C:\\windows\\system32\\winefile.exe"
trace:process:CreateProcessW started process pid 0034 tid 0035
Comment 7 Vitaly Lipatov 2008-09-17 20:00:34 MSD
trace:process:CreateProcessW app (null) cmdline L"explorer
C:\\windows\\temp\\123g.doc"

Ну вот, значит они вместо запуска по расширению через ShellExec вызывают explorer с нужным файлом. Метод странный, надо сказать.

Нам значит надо проверить, как в винде себя ведёт explorer файл.doc и как у нас, и исправить поведение (открывать через ShellExec).

Исправление explorer выделить в отдельную багу.
Comment 8 Денис Баранов 2008-09-17 22:09:04 MSD
> Нам значит надо проверить, как в винде себя
> ведёт explorer файл.doc и как у нас, и исправить
> поведение (открывать через ShellExec).

В винде происходит просто запуск Word, в wine порисходит запуск winefile. 

> Исправление explorer выделить в отдельную
> багу.

Создал: http://bugs.etersoft.ru/show_bug.cgi?id=2465
Comment 9 Vitaly Lipatov 2008-09-17 22:15:31 MSD
Проблема ещё не решена, поэтому бага не может быть закрыта.
Comment 10 Виталий Перов 2008-10-07 20:53:09 MSD
Исправил зависимую багу.
Сейчас должно всё работать. Необходимо протестировать
Comment 11 Денис Баранов 2008-10-07 21:48:32 MSD
На сколько я смог проверить, проблема больше не существует.
Ждем новой сборки и закрываем.