Bug 33

Summary: Не работает автообмен (Ошибка при обращении к почте в 1С: УРБД)
Product: WINE@Etersoft Reporter: Vitaly Lipatov <lav>
Component: ОбщееAssignee: Станислав Коробейников <stas>
Status: DEFERRED --- QA Contact: Vitaly Lipatov <lav>
Severity: critical    
Priority: P5 CC: goga, kondratyuk, vitperov
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Заявки RT: 11454 Связано с:
Дата напоминания:
Bug Depends on: 1668, 2159    
Bug Blocks: 760, 8900, 2153    
Attachments: ошибка при попытке отправки сообщения из 1С+kmail

Description Vitaly Lipatov 2006-03-01 17:58:37 MSK
Проблема с автообменом с помощью УРБД. 
Выгрузка и загрузка происходит нормально, а при попытке обратиться к почтовику 
Конфигуратор просто вываливается.
Comment 1 Vitaly Lipatov 2006-04-13 22:40:16 MSD
Программа падает из-за нереализованной функции  
wine: Call from 0x7b83f4d0 to unimplemented function  
mapi32.dll.MAPIAdminProfiles, aborting  
wine: Unimplemented function mapi32.dll.MAPIAdminProfiles called at address  
0x7b83f4d0 (thread 000b), starting debugger...  
WineDbg starting on pid 0xa  
Unhandled exception: unimplemented function mapi32.dll.MAPIAdminProfiles  
called in 32-bit code (0x7b83f541).  
Comment 3 Константин Петров 2006-04-15 22:09:04 MSD
Я проверил работу последней версии WINE 20060412 с печатью на системах 
Mandriva 2006 и Debian 3.1. Во всех случаях на печать выводился текст. 
Единственной проблемой мог являться шрифт отображения, но все равно символы 
на бумаге появлялись в нужных местах.
Проверялась печать из блокнота C:\Windows\Notepad.exe в вариацях с 
использованием Wine@Etersoft и без (просто WINE).

В Mandriva 2006 установка принтера проводилась с помощью встроенного мастера.
А в Debian'e использовался мастер "Настройка принтеров" - foomatic-gui 
0.7.4.14 (by Chris Lawrence) (шз-под Gnome). При установке указывалось 
использование samba 3.0.14a-3

Тест проводился в сети между двумя машинами с Linux, к одной из которых был 
подключен принтер.
Comment 5 Vitaly Lipatov 2006-04-17 16:08:52 MSD
Быстро решить проблему вываливания можно  
скачиванием и копированием в ~/wine_c/windows/system32 
mapi32.dll 
http://www.dll-files.com/dllindex/dll-files.shtml?mapi32 
 
Заглушка для данной функции будет в WINE@Etersoft 1.0.1 
 
Comment 6 Vitaly Lipatov 2006-04-17 16:21:16 MSD
В ближайшее время полноценной реализации MAPI не ожидается 
(в Windows клиентом выступает Outlook). Рекомендуется отправлять 
архивы средствами Linux. 
Comment 8 Vitaly Lipatov 2006-04-22 22:07:01 MSD
Для 1.0.1 подготовлен патч с заглушкой функций.  
Если будет решено создать функциональность, можно это сделать. 
Comment 9 Vitaly Lipatov 2006-06-01 22:20:28 MSD
О проблеме сообщено повторно, тема письма [eterbug#33] 
> Проблема в 1с с обменом не исчезла: при попытке настройки параметров 
> обмена программа вываливается, при выгрузки в почтовик вместо запуска 
> Evolution теперь не происходит ничего. 
Comment 10 Vitaly Lipatov 2006-06-01 22:21:40 MSD
Нужно проверить ещё раз. 
Да, по названию тестовой базы для УРДБ должно быть понятно что она УРДБ. 
Внеси эту базу в swine 1c77 
Comment 11 Александр Пликус 2006-12-11 19:29:57 MSK
Переопределил ошибку
Comment 12 Александр Пликус 2006-12-11 19:31:17 MSK
это не мое
Comment 13 Александр Пликус 2007-03-02 14:32:51 MSK
не моё это!
Comment 14 Vitaly Lipatov 2007-03-04 19:21:53 MSK
Надо разобраться, что мы определяем с этой функциональностью. В общем, я думаю что  её надо сделать.
Comment 15 Vitaly Lipatov 2007-05-26 10:57:46 MSD
Не реализована отправка вложений. Нужно поднять наши патчи и внести недостающую функциональность.

fixme:mapi:MAPILogon (0x00020046 "" 0x5f4d1c58 0x00000003 0x00000000 0x7fd3f258) Stub
fixme:mapi:MAPISendMail Ignoring attachments
fixme:mapi:MAPILogoff (0x00000001 0x00000000 0x00000000 0x00000000) Stub
Comment 16 Vitaly Lipatov 2007-06-23 13:07:47 MSD
trace:loaddll:free_modref Unloaded module L"C:\\Program Files\\1Cv77\\BIN\\V7CHART.DLL" : native
trace:loaddll:load_native_dll  Loaded module L"C:\\windows\\system32\\RPCRT4.DLL" : native
trace:loaddll:load_builtin_dll Loaded module L"c:\\windows\\system32\\mapi32.dll" : builtin
fixme:mapi:MAPIInitialize (0x34be40) Stub
fixme:mapi:IProfAdmin_fnAdminServices (0x60aa1c64 (nil) 0x34be28 0x00000000 0x0034de00 0x78c85f50) Stub
fixme:mapi:MAPIUninitialize Stub
trace:loaddll:load_builtin_dll Loaded module L"c:\\windows\\system32\\winedos.dll" : builtin
err:seh:raise_exception Exception frame is not in stack limits => unable to dispatch exception.
Comment 17 Калюхович Юрий 2008-07-25 18:42:38 MSD
при попытке автообмена:

fixme:mapi:MAPILogon (0x00120090 "IMAP" 0x221cdb8 0x00000003 0x00000000 0x32f5d0) Stub
wine: Call from 0x7b842960 to unimplemented function mapi32.dll.MAPIFindNext, aborting
wine: Unimplemented function mapi32.dll.MAPIFindNext called at address 0x7b842960 (thread 0034), starting debugger...
Unhandled exception: unimplemented function mapi32.dll.MAPIFindNext called in 32-bit code (0x7b8429e2).
Comment 18 Константин Кондратюк 2008-07-25 23:58:15 MSD
Нужно приложить наш патч dlls_mapi32.patch (в cvs в ветке 1.0.6, например, он есть), который добавляет эту функцию.

Проблема в том, что есть ещё 2 функции, которые в нашем патче реализованы в другом файле, а не в mapi32_main.c, где сейчас есть стабы на них.
Разберусь.
Comment 19 Константин Кондратюк 2008-07-28 13:51:45 MSD
Патч, добавляющий стаб к MAPIFindNext сделал.

Если нужна будет реализация интерфейса IProfAdmin и функции MAPIAdminProfiles - попробую сделать правильное решение.

В первую очередь - проверить с одним патчем.
Comment 20 Константин Кондратюк 2008-10-10 13:29:35 MSD
Проверьте, пожалуйста. Хватает ли исправления или нужно копать дальше?
Comment 21 Vitaly Lipatov 2008-10-11 20:30:17 MSD
В сентябрьском журнале "Системный администратор" в статье про САМО-Тур описано, как использовать виндовый mapi.
Итак, нужно
1. Проверить, что с нашим MAPI ничего не падает.
2. Проверить, что с виндовым MAPI всё работает.
Про виндовое MAPI написать инструкцию.
Comment 22 Калюхович Юрий 2008-10-20 19:15:12 MSD
1с 77 урбд бух, при работе - ничего не упало, в консоли следующее:

fixme:mapi:MAPISendMail Ignoring attachments - из-за этого приходится вручную вкладывать выгруженную базу;
если нет подходящего почтовика - имеем следующее:
err:winebrowser:launch_app could not find a suitable app to run

при этом выгрузка в zip-файл успешно выполнена
Comment 23 Калюхович Юрий 2008-10-21 10:37:12 MSD
> fixme:mapi:MAPISendMail Ignoring attachments - из-за этого
> приходится вручную вкладывать выгруженную
> базу;
> если нет подходящего почтовика - имеем
> следующее:
> err:winebrowser:launch_app could not find a suitable app to run

 если же почтовик имеется, то окно отправки сообщения открывается, и почту отсылать можно
 еще замечание: не нашел, где указывается приложение-почтовик, которое будет отрыто - в реестре? или где-то еще в настройках? если ошибка "fixme:mapi:MAPISendMail Ignoring attachments" - несущественна, то можно закрывать багу
Comment 24 Константин Кондратюк 2008-10-21 10:40:30 MSD
(In reply to comment #21)
> 2. Проверить, что с виндовым MAPI всё работает.
> Про виндовое MAPI написать инструкцию.

Вот это хотелось бы перед закрытием
Comment 25 Калюхович Юрий 2008-10-21 11:40:00 MSD
> 2. Проверить, что с виндовым MAPI всё работает.
> Про виндовое MAPI написать инструкцию.

добавление mapi32.dll в соответствии с
инструкциями (из журнала Сис.Админ.):
1. cкопировать виндовый mapi32.dll в
~/.wine/dosdevices/c:/windows/system32/
2. запустить winecfg, на вкладке
"библиотеки"->новое замещение - прописываем
mapi32.dll и нажимаем "добавить" (получим mapi32
сторонняя,встроенная)
3. запускаем regedit, создаем новый раздел
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows Messaging Subsystem, в нем
добавляем параметр "MAPI" со значением "1"

после этого снова пытаемся запустить
автообмен - и получаем ошибку в
конфигураторе "Ошибка инициализации
электронной почты" и "1 Файл 10.zip по адресу
support@etersoft.ru. Ошибка посылки сообщения", при
этом опять же ничего не падает и в консоль
ничего не пишет
возможно, что-то еще в реестре нужно
прописать
Comment 26 Константин Кондратюк 2008-10-21 11:53:26 MSD
Дорабатываем вайновскую mapi32.dll для корректной работы.
Comment 27 Константин Кондратюк 2008-12-04 10:29:19 MSK
Что у нас сейчас в актуальных сборках? Есть какой-нибудь работающий вариант?
Comment 28 Виталий Перов 2009-10-25 02:46:06 MSK
Откатил патч:
commit ac89ed5fa7d98f10521a2ab9a84b281105f86824
Author: Konstantin Kondratyuk <kondratyuk@etersoft.ru>
Date:   Mon Jul 28 12:01:39 2008 +0400

    mapi32: Add MAPIFindNext function (eterbug #33)

Сейчас в wine есть чуть более полная реализация этой функции.
Думаю надо проверить что изменилось.
Comment 29 Денис Баранов 2009-12-03 17:05:57 MSK
Проверь пожалуйста.
Comment 30 Калюхович Юрий 2009-12-08 18:15:58 MSK
посмотрел на cellar'e
настроил kmail, сделал выгрузку, вот что получил в консоль:

fixme:mapi:MAPIInitialize (0x32cb1c) Stub
fixme:mapi:MAPIAdminProfiles (0, 0x32cb10): stub
fixme:mapi:MAPIUninitialize Stub

fixme:mapi:MAPILogon (0x0014005e "kmail" 0x24c5498 0x00000003 0x00000000 0x32f59        0) Stub
fixme:mapi:MAPISendMail Ignoring attachments
fixme:mapi:MAPILogoff (0x00000001 0x00000000 0x00000000 0x00000000) Stub

(zenity:8970): Gtk-WARNING **: Failed to set text from markup due to error parsi        ng markup: Ошибка в строке 1: Конструкция не заканчивается точкой с запятой; пох        оже, что символ ?&? был использован не для обозначения начала конструкции ? экра        нируйте его как ?&amp;?

---
1С не падает, пишет, что файл успешно передан по адресу, но окно с ошибкой, в приложении-
Comment 31 Калюхович Юрий 2009-12-08 18:17:58 MSK
Created attachment 1412 [details]
ошибка при попытке отправки сообщения из 1С+kmail

в почтовый ящик выгрузка не попадает
Comment 32 Vitaly Lipatov 2014-09-11 18:24:58 MSK
Откладываем за давностью.