Bug 2175

Summary: Экспорт из Само-тур в Open Office
Product: WINE@Etersoft Reporter: Andrey Vusik <night>
Component: Взаимодействие с OfficeAssignee: Александр Морозов <amorozov>
Status: CLOSED LATER QA Contact: Денис Баранов <baraka>
Severity: normal    
Priority: P4 CC: baraka, goga, lav, mid, regan, sonner, stas, support
Version: 1.0.12   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard: САМО
Заявки RT: 11639 Связано с:
Дата напоминания:
Bug Depends on: 3014, 6586    
Bug Blocks: 3979, 3000    

Description Andrey Vusik 2008-07-29 11:50:52 MSD
Установлена локально у нас. Есть и в бутылке samo, но там не происходит коннект (почему-то).

В консоле после экспорта:
fixme:rpc:alloc_serverprotoseq protseq "mswmsg" not supported
err:shdocvw:register_class_object failed to register object 800706a7
fixme:rpc:I_RpcServerStopListening (): stub
Comment 1 Синицын Иван 2008-07-29 12:03:46 MSD
Эта ошибка возникает, тогда когда используются различные библиотеки Ole32, olepro, oleauto, rpc.....т.е. допустим часть идет всроенные, часть внешние....необходимо все выставить или внешние или внутренние и повторить попытку.
Comment 2 Andrey Vusik 2008-07-29 12:51:25 MSD
Там почти все -- (сторонняя, встроенная) стоит. А нужно только эти библиотеки выставлять или все?
Comment 3 Синицын Иван 2008-07-29 12:57:10 MSD
Достаточно только эти 4 которые я указал....необходимо, чтобы они были все одинаковы или (сторонняя, встроенная) или (встроенная, сторонняя).
Comment 4 Andrey Vusik 2008-07-29 20:09:47 MSD
В общем выставил (сторонняя, встроенная) - теперь при этом открывается IE, говорит, что не может загрузить страницу и всё...
Comment 5 Andrey Vusik 2008-07-29 20:37:50 MSD
Нашёл, почему в бутылке не работало. Нужно чтобы было выставлено windows98 в winecfg. Странно, что с widowsXP даже в odbcad32 не видит сервера. Если что - помогает wine --update.
Comment 6 Andrey Vusik 2008-07-29 20:46:43 MSD
Выставил в бутылке - эффект тот же - открывается окно ie и всё.
Comment 7 Andrey Vusik 2008-07-29 20:47:54 MSD
Бутылка samo
Comment 8 Синицын Иван 2008-07-30 09:09:06 MSD
Как именно воспроизводится проблема...
Я запустил wintour.exe, запустилось...под гостем залогинился..Что дальше?
Когда появляется окно ie?
Comment 9 Andrey Vusik 2008-07-30 13:46:24 MSD
Да.. Точно.. Забыл отписать..
Имя ROOT, пароль IOP
Справочники--классификаторы--порты
Далее правой по ячейке -- экспорт
Ну и далее там понятно..

В винде открывается таблица в Экселе.
Comment 10 Синицын Иван 2008-07-30 14:20:55 MSD
И так результаты исследования проблемы.

Выгрузка осуществляется в xml формате. В папке c:\windows\temp\ формируется файл export.xml. После того как файл получен, дается команда на его открытие (ShellExecute).

В wine сейчас для xml файлов назначена программа IExplore, но она не справляется с их открытием.

Для нормальной работы выгрузки необходимо связать расширение xml с OpenOffice (он справляется с открытием xml).

Виталик, Костя сказал, что когда заполняли расширения(в реестре) для OpenOffice, xml решено было не включать. Почему было так решено?
Comment 11 Синицын Иван 2008-07-30 15:41:26 MSD
Сделал патч. Отправил. Когда будет новая сборка надо будет проверить и закрыть.
Comment 12 Калюхович Юрий 2008-08-12 14:48:12 MSD
(In reply to comment #11)
> Сделал патч. Отправил. Когда будет новая
> сборка надо будет проверить и закрыть.

Денис, проверь пожалуйста на новой сборке wine
Comment 13 Денис Баранов 2008-08-12 16:12:24 MSD
Видимо патч не приложили. По прежнему открывается в IE, в реестре тоже для .xml файла Oo не настроен.
Comment 14 Vitaly Lipatov 2008-10-17 09:17:47 MSD
А сейчас?
Comment 15 Калюхович Юрий 2008-11-10 15:35:25 MSK
проверил на cellar. по умолчанию экспорта нет.
настроил замещения библиотек (ставил "сторонняя, встроенная"), в реестре с .xml указал значение calc.etersoft - экспорт в OpenOffice появился, работает
Comment 16 Vitaly Lipatov 2008-11-11 14:26:44 MSK
(In reply to comment #15)
> проверил на cellar. по умолчанию экспорта нет.
> настроил замещения библиотек (ставил
> "сторонняя, встроенная"), в реестре с .xml
> указал значение calc.etersoft - экспорт в OpenOffice
> появился, работает
Не очень понимаю. Никаких замещений библиотек вообще-то не надо: просто запускать надо через winexp.

Делали ли wine --update ?
У нас в /etc/wine/ooffice.reg
необходимое правило для xml вроде как есть.

Comment 17 Калюхович Юрий 2008-11-13 13:19:28 MSK
(In reply to comment #16)
> Не очень понимаю. Никаких замещений
> библиотек вообще-то не надо: просто
> запускать надо через winexp.

делал в wine а не в winexp -) проверю еще раз;

> Делали ли wine --update ?
> У нас в /etc/wine/ooffice.reg
> необходимое правило для xml вроде как есть.

да, но без изменений в реестре работать отказывалось
Comment 18 Калюхович Юрий 2008-11-25 16:28:02 MSK
в новой бутылке снова не удалось ни настроить (подключение к базе и запуск самого wintour), ни найти причину почему нет коннекта
Comment 19 Andrey Vusik 2008-11-25 18:59:47 MSK
(In reply to comment #18)
> в новой бутылке снова не удалось ни
> настроить (подключение к базе и запуск
> самого wintour), ни найти причину почему нет
> коннекта
> 

В настройках bde выставь "SHAREDMEMLOCATION"="9000"
Comment 20 Калюхович Юрий 2008-11-27 16:30:51 MSK
в новой бутылке установил и настроил, к базе подключается и запускается.установил unioffice. попробовал экспорт - открывает ie с ошибкой "the url is not valid and could be loaded" - экспорта по умолчанию нет :(
Comment 21 Калюхович Юрий 2009-02-26 10:40:27 MSK
(In reply to comment #20)
> в новой бутылке установил и настроил, к
> базе подключается и запускается.установил
> unioffice. попробовал экспорт - открывает ie с
> ошибкой "the url is not valid and could be loaded" - экспорта
> по умолчанию нет :(
> 

Денис, проверь еще раз пожалуйста
Comment 22 Andrey Vusik 2009-02-27 18:02:30 MSK
> Денис, проверь еще раз пожалуйста
> 

Свежая бутылка samo/samo-export, установлен oo версии 3.
Запускаю через wine. Экспорта нет - пишет, что Excel не установлен (хотя Calc стоит и работает).
Через winexp проверить не возможно, так как не работает winsock с версиямя позже Win ME.
Comment 23 Vitaly Lipatov 2009-02-27 19:19:01 MSK
Откуда там взялся виндовый winsock?
А вы вообще читали статью в январском номере системного администратора об установке СамоТур?
Comment 24 Andrey Vusik 2009-03-01 14:48:47 MSK
(In reply to comment #23)
> Откуда там взялся виндовый winsock?
> А вы вообще читали статью в январском
> номере системного администратора об
> установке СамоТур?
> 

Имелась ввиду ошибка #3014 :
fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (98000004)

У нас настройка подключения к серверу базы происходит через odbcad32.exe
А в нём в свою очередь в нашем 1.0.9 не работало подключение к sql-серверу(с win2000 и старше).

На winehq была бага
http://bugs.winehq.org/show_bug.cgi?id=16223
Она исправлялась патчем
http://www.winehq.org/pipermail/wine-devel/2008-May/065380.html
(в wine 1.1.9)

Сейчас это работает и у нас в 1.0.10

Сейчас проверю экспорт..
Comment 25 Andrey Vusik 2009-03-01 15:57:08 MSK
По-умолчанию снова открывается IE с предложением установить gecko
Comment 26 Andrey Vusik 2009-03-01 17:03:27 MSK
Unioffice для экспопрта нужен. Без него вылетает ошибка, что Excel не установлен.

В реестре в 
HKEY_LOCAL_MACHINE\Software\Classes\xmlfile\shell\Open\command
выставлено значение 
"C:\Program Files\Internet Explorer\iexplore.exe" -nohome

В wine.inf присутствуют следующие строки:
HKCR,xmlfile\shell\open\command,,2,"%11%\winebrowser.exe -nohome"
HKCR,xmlfile\shell\open\ddeexec,,2,"""%1"",,-1,0,,,,"
HKCR,xmlfile\shell\open\ddeexec,"NoActivateHandler",2,""
HKCR,xmlfile\shell\open\ddeexec\Application,,2,"IExplore"
HKCR,xmlfile\shell\open\ddeexec\Topic,,2,"WWW_OpenURL"

Нужно разбираться, почему в Винде в СамоТур файл .xml открывается через Excel.
Comment 27 Виталий Перов 2009-04-03 15:19:08 MSD
Воспроизвёл. Буду исправлять.

Отличий при запуске через wine от winexp не обнаружил.
Comment 28 Виталий Перов 2009-04-03 16:03:13 MSD
Проверил реестр. Настройки:
[HKEY_LOCAL_MACHINE\Software\Classes\.xml]
@="calc.etersoft"
и
[HKEY_LOCAL_MACHINE\Software\Classes\calc.etersoft\shell\open\command]
@="c:\\windows\\command\\ooffice \"%1\""
в реестре присутствуют.

Нашёл другой способ воспроизведения.
Достаточно открыть файл windows/temp/export.xml с помощью комманды:
wine start export.xml

В данном случае wine также пытается открыть файл с помощью IE
Comment 29 Виталий Перов 2009-04-03 16:55:39 MSD
Бактрейс искуственного падения при открытии файла (в Само-тур:
Backtrace:
=>0 0x7e543890 SHELL_execute+0x35(sei=0x32f938, execfunc=0x7e5430d9) [/srv/vitperov/Projects/wine-dev/dlls/shell32/shlexec.c:1499] in shell32 (0x0032f8f0)
  1 0x7e54636e ShellExecuteExA+0x283(sei=0x32f9b8) [/srv/vitperov/Projects/wine-dev/dlls/shell32/shlexec.c:1912] in shell32 (0x0032f980)
  2 0x7e5465b2 ShellExecuteA+0x11f(hWnd=0x10020, lpOperation="open", lpFile="c:\windows\temp\export.xml", lpParameters=0x0, lpDirectory=0x0, iShowCmd=5) [/srv/vitperov/Projects/wine-dev/dlls/shell32/shlexec.c:1877] in shell32 (0x0032fa00)
Comment 30 Виталий Перов 2009-04-03 17:59:57 MSD
В процессе вызова SHELL_execute вызывается функция SHELL_FindExecutable, котора должно искать программу для запуска этого файлу, в том числе и в реестре.
Функция выполняется успешно. Находит:
wcmd=L"C:\\Program Files\\Internet Explorer\\iexplore.exe" wszApplicationName=L"c:\\windows\\temp\\export.xml"
Comment 31 Виталий Перов 2009-04-03 18:30:27 MSD
Для поиска типа файла по расширению используется RegQueryValueW. Она возвращает тип файла "xmlfile".
Далее вызывается SHELL_FindExecutableByOperation, которая возвращает
command = L"\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" -nohome", operation = L"open"
Comment 32 Виталий Перов 2009-04-17 17:16:46 MSD
Слишком глубоко я залез. Бага намного ближе.

Копирую файл export.xml в export.xls.
Открываю wine start export.xls. Открывается в OpenOffice
Ещё раз открываю wine start export.xml. Открывается в IE.

Смотрю в реестр:
[HKEY_LOCAL_MACHINE\Software\Classes\.xls]
@="calc.etersoft"

[HKEY_LOCAL_MACHINE\Software\Classes\.xls\OpenWithProgIDs]
"OpenOffice.org.Xls"=""

и 

[HKEY_LOCAL_MACHINE\Software\Classes\.xml]
@="xmlfile"
"Content Type"="text/xml"
Comment 33 Виталий Перов 2009-04-17 17:20:14 MSD
Добавил запись:
[HKEY_LOCAL_MACHINE\Software\Classes\.xml\OpenWithProgIDs]
"OpenOffice.org.Xls"=""

Теперь всё прекрасно экспортируется.
В etersoft/ooffice.reg подобных строчек нет. Видимо они добавляются при установке OpenOffice. Видимо ooffice.reg придётся полностью переписывать
Comment 34 Виталий Перов 2009-04-17 17:56:26 MSD
Проблема не совсем в этой строчке.

Проблема может быть в изменении настроек для xml файла.

ooffice.reg (т.е так должно быть в свежей бутылке):
[HKEY_LOCAL_MACHINE\Software\Classes\.xml]
@="calc.etersoft"

В бутылке с установленным Само-Тур и OpenOffice:
[HKEY_LOCAL_MACHINE\Software\Classes\.xml]
@="xmlfile"
"Content Type"="text/xml"

Думаю надо определить когда данное значение перезаписывается
Comment 35 Виталий Перов 2009-04-17 18:22:00 MSD
В общем, задача следующая:
1) Создать чистую бутылку, убедится, что там:
[HKEY_LOCAL_MACHINE\Software\Classes\.xml]
@="calc.etersoft"

2) Последовательно устанавливать программы (OpenOffice, UniOffice, Само-Тур),
И выяснить на каком этаме это значение станет:
[HKEY_LOCAL_MACHINE\Software\Classes\.xml]
@="xmlfile"
"Content Type"="text/xml"
Comment 36 Andrey Vusik 2009-05-07 17:03:43 MSD
(In reply to comment #35)
> В общем, задача следующая:
> 1) Создать чистую бутылку, убедится, что там:
> [HKEY_LOCAL_MACHINE\Software\Classes\.xml]
> @="calc.etersoft"
> 
> 2) Последовательно устанавливать программы
> (OpenOffice, UniOffice, Само-Тур),
> И выяснить на каком этаме это значение
> станет:
> [HKEY_LOCAL_MACHINE\Software\Classes\.xml]
> @="xmlfile"
> "Content Type"="text/xml"
> 

Создал свежую бутылку samo/test-2175
И тут первоначальные значения
[HKEY_LOCAL_MACHINE\Software\Classes\.xml]
@="xmlfile"
"Content Type"="text/xml"

А, например, для xls и xlt имеем 
@="calc.etersoft"
Comment 37 Виталий Перов 2009-05-24 18:53:03 MSD
Выяснилось, что при создании бутылки выполняется регистрация msxml, которая перезаписывает привило для расширения .xml.

Решением проблемы является обработка файла реестра ooffice.reg после регистрации библиотек.

Решение должно появится в сборке eter24.
Comment 38 Денис Баранов 2010-04-14 17:25:57 MSD
WINE@Etersoft 1.0.12 eter5/eter4 
UniOffice 0.5
OpenOffice 3.2
Само тур при экспорте сообщает что не установлен Excel
Comment 39 Andrey Vusik 2010-06-29 18:23:57 MSD
Проверил всевозможный экспорт из программы.

Бутылка buh/samo/office
пароль etersoft

1.0.12-eter6.3/9
OpenOffice 3.2
UniOffice 0.5

Пока замечена одна проблема:

Справочник -- заявки -- отмечаем пробелом заявки -- нажимаем справа MS Excel -- получаем ошибку "Ole error".
Comment 40 Andrey Vusik 2010-06-29 18:24:38 MSD
> Само тур при экспорте сообщает что не
> установлен Excel
> 

Как воспроизвести?
Comment 41 Денис Баранов 2010-07-05 17:39:15 MSD
(In reply to comment #40)
> > Само тур при экспорте сообщает что не
> > установлен Excel
> > 
> 
> Как воспроизвести?
> 

Видимо так как ты воспроизводил.
Comment 42 Andrey Vusik 2010-07-08 16:29:27 MSD
Проблема в 39 комменте.
Comment 43 Shestakov Dmitriy 2010-09-27 11:11:28 MSD
eter7/eter12 - ситуация не изменилась.
Бутылка buh/samo/samo-15130 и samo-15427
Comment 44 Shestakov Dmitriy 2010-10-21 21:33:13 MSD
Можем сообщить вам следующее:
По порядку, чтобы работать с Calc, к примеру:
1. Идёт проверка его наличия
CLSIDFromProgID(PWideChar(WideString(Name)), ClassID) = S_OK (Name =
'com.sun.star.ServiceManager')
2. Создание ServiceManger'а - FServiceManager :=
CreateOleObject('com.sun.star.ServiceManager')
3. Создание десктопа - FDesktop :=
FServiceManager.createInstance('com.sun.star.frame.Desktop');
4. потом идёт открытие через FDesktop.LoadComponentFromURL
этот Url - либо имя файла (file:///[путь]), либо новый файл -
private:factory/scalc

Из реестра информация берётся только для проверки, установлен ли Wine.
Comment 45 Глеб Кордюков 2010-11-15 17:42:09 MSK
Насколько скоро можно решить проблему?
Comment 46 Александр Морозов 2010-11-23 20:45:30 MSK
> Насколько скоро можно решить проблему?

С проблемой ещё не разбирался, поэтому сказать что-то трудно. Можно пока ориентироваться на первоначальную оценку.
Comment 47 Глеб Кордюков 2010-11-30 17:46:14 MSK
Где и как воспроизводил багу?
Всё отписываешь и на Сашу перевешиваешь.
Comment 48 Shestakov Dmitriy 2010-11-30 19:12:10 MSK
(В ответ на comment #47)
> Где и как воспроизводил багу?
> Всё отписываешь и на Сашу перевешиваешь.

парой постов выше написано где воспроизводил багу(бутылки указаны). Пост ради поста??
Comment 49 Глеб Кордюков 2010-11-30 19:36:03 MSK
Согласен. Значит подойди к Саше и покажи как ты воспроизводил.
Comment 50 Andrey Vusik 2010-12-02 22:31:04 MSK
Настроил в buh/samo/samo-15130
Пользователь, пароль: ROOT, IOP
Comment 52 Andrey Vusik 2010-12-03 13:26:54 MSK
Рабочие бутылки 
buh/samo/samo-15130
buh/samo/main
buh/samo/copy
логин, пароль: ROOT, IOP
Comment 53 Александр Морозов 2010-12-03 17:53:49 MSK
> buh/samo/samo-15130
> buh/samo/main
> buh/samo/copy
Во всех бутылках не установлены UniOffice и OpenOffice. Естественно, при этом экспорт не работает.
Comment 54 Andrey Vusik 2010-12-03 18:07:30 MSK
(В ответ на comment #53)
> > buh/samo/samo-15130
> > buh/samo/main
> > buh/samo/copy
> Во всех бутылках не установлены UniOffice и OpenOffice. Естественно, при этом
> экспорт не работает.

Прошу прощения=)
Бутылка buh/samo/office
там все стоит, подключение есть
Comment 55 Александр Морозов 2010-12-03 18:21:42 MSK
> Бутылка buh/samo/office
> там все стоит, подключение есть

Получаю ошибку о недоступности диспетчера компонентов. Такая же ошибка выводится при запуске scalc.exe.
Comment 56 Александр Морозов 2010-12-03 20:59:17 MSK
Скопировал бутылку на atlant, так как на нём запускается OpenOffice. При попытке воспроизведения баги он не запускается, никаких сообщений об ошибках не появляется. В консоли:

fixme:file:MoveFileWithProgressW MOVEFILE_WRITE_THROUGH unimplemented
fixme:font:GetKerningPairsA Can't find codepage for charset 1
fixme:font:WineEngRealizationInfo (0x150088, 0x14af91c): stub!
err:ole:CoInitializeEx Attempt to change threading model of this apartment from apartment threaded to multi-threaded
fixme:ole:LPSAFEARRAY_UserSize size interfaces
fixme:ole:LPSAFEARRAY_UserMarshal marshal interfaces
fixme:ole:LPSAFEARRAY_UserUnmarshal marshal interfaces
fixme:file:MoveFileWithProgressW MOVEFILE_WRITE_THROUGH unimplemented
fixme:ntdll:server_ioctl_file Unsupported ioctl 110004 (device=11 access=0 func=1 method=0)
err:ole:ifproxy_release_public_refs IRemUnknown_RemRelease failed with error 0x800706be

Пока что трудно оценить сроки на исправление.
Comment 57 Александр Морозов 2010-12-03 22:34:55 MSK
Через ww OpenOffice.org Calc запускается и на cellar. Так что проблема с его запуском связана со старой версий установленной открытой части.
Comment 58 Александр Морозов 2010-12-06 15:40:52 MSK
wine-etersoft-1.0.10-alt22.M41.23
wine-etersoft-sql-1.0.10-alt18

При экспорте окно OpenOffice не появляется, никаких сообщений об ошибках не выводится.
Comment 59 Shestakov Dmitriy 2010-12-08 12:41:42 MSK
В /var/ftp/pvt/Windows/Testing/RT/15130 лежит сборка самотура, подготовленная специально для нас.

В демо-версии, на сколько я понял, функционала экспорта и выгрузки в почту НЕТ.


to night: поставь пожалуйста ту сборку что лежит в etersoft.zip.
Comment 60 Andrey Vusik 2010-12-10 19:33:00 MSK
sql-server 2005 находится на машине Windows 2003-MS-SQL-2005 (195.168.4.93) 
база samo (последняя присланная)
Настроил в бутылке buh/samo/samo-office
Источник данных 2005
логин, пароль к серверу - sa, qwe
К Само - etersoft, etersoft

При открытии любого справочника получаю ошибки
Field "какое-то название" is not of the expected type
Comment 61 Andrey Vusik 2010-12-10 20:31:19 MSK
Сделал из летней базы(samo07), там аналогично.
Задал вопрос в заявке.
Comment 62 Andrey Vusik 2010-12-11 16:36:22 MSK
Получил обновленный дистрибутив и базу. Предыдущей проблемы в ней нет. 
База на сервере Windows 2003-MS-SQL-2005 (195.168.4.93) - samo.
Файлы находятся в var/ftp/pvt/Windows/Учётные,\ бухгалтерские/САМО-soft/
Обновил и настроил бутылки buh/samo/main и buh/samo/copy
Сделал новую бутылку для экспорта buh/samo/export

Справочник -- заявки -- отмечаем пробелом заявки -- нажимаем справа MS Excel --
получаем ошибку "Ole error".

Если выставить Ole32, olepro, oleout, rpc как сторонние(сейчас там так), тогда получаю зависание и "Ошибку экспорта"
Comment 63 Станислав Коробейников 2010-12-21 20:35:32 MSK
Я так понял, что должен быть собственный функционал отправки в openoffice без unioffice. 
Поставил samotur, openoffice и unioffice, на virtualbox. 
Но экспорт не смог сделать.
Comment 65 Александр Морозов 2011-03-04 17:39:42 MSK
> Обновил и настроил бутылки buh/samo/main и buh/samo/copy
> Сделал новую бутылку для экспорта buh/samo/export
Что-то, видимо, опять сломалось.
При попытке залогиниться получаю ошибку "Field 'localip' not found." Использовал логин и пароль etersoft.
Comment 66 Andrey Vusik 2011-03-18 21:14:29 MSK
> При попытке залогиниться получаю ошибку "Field 'localip' not found."
> Использовал логин и пароль etersoft.

Восстановил базу (файл на рабочем столе на сервере - etersoft_)