Bug 6423

Summary: 1с8.1 не отображаются ошибки
Product: WINE@Etersoft Reporter: Shestakov Dmitriy <mid>
Component: Internet Explorer / GeckoAssignee: Svetlana Zhukova <svzhu>
Status: CLOSED FIXED QA Contact: Денис Баранов <baraka>
Severity: blocker    
Priority: P1 CC: dtr, kondratyuk, lav, night, regan, sonner
Version: 1.0.12   
Target Milestone: ---   
Hardware: PC   
OS: All   
Whiteboard:
Заявки RT: 16521,16669,17393,20413,23211 Связано с:
Дата напоминания:
Bug Depends on: 7427    
Bug Blocks: 437, 42    
Attachments: Окно с описанием
Как работает в венде
Как работает в wine@

Description Shestakov Dmitriy 2010-11-11 15:25:03 MSK
1С:Предприятие 8.1 (8.1.15.14)
конфигурация
1С:Управление сельскохозяйственным предприятием, редакция 1.2 (1.2.27.2)

wine: eter7/eter12, testing.
При проведение документа если он не правильно оформлен появляется информационное окно с указанием ошибок которые допущены при заполнение документа.

окно появляется но информации об ошибках в нем нет чисто белый фон.


Для воспроизведение ошибки
Создать документ прием на работу в организацию.
Добавить строчку сотрудник.
Нажать кнопку провести (или ОК)
Должно появиться сообщение о неправильно заполненном документе, с указанием ошибок


База лежит в /var/ftp/pvt/Windows/Tesing/RT/16521
Comment 1 Marat Sharipov 2010-11-11 16:35:31 MSK
в /var/ftp/pvt/Windows/Tesing/RT/16521 лежат сугубо установочные файлы с 1с81
Попросил в РТ прислать конфигурацию.
Comment 2 Shestakov Dmitriy 2010-11-15 17:04:41 MSK
/var/ftp/pvt/Windows/Tesing/RT/16521/TD - лежит база.
Comment 3 Marat Sharipov 2010-11-17 14:40:55 MSK
/var/ftp/pvt/Windows/Tesing/RT/16521/TD
архив под паролем..
Comment 5 Marat Sharipov 2010-11-20 16:46:30 MSK
Created attachment 1958 [details]
Окно с описанием
Comment 6 Marat Sharipov 2010-11-20 16:47:10 MSK
wine 7.23/14
бутылка bugs/6423
подключил базу, протестировал(делал как описывал автор)  появляется сообщение о неправильно заполненном документе, с указанием ошибок. Бага не воспроизвелась.
Прилагаю Скриншот: Окно с описанием
Comment 7 Shestakov Dmitriy 2010-11-22 18:58:23 MSK
Created attachment 1960 [details]
Как работает в венде
Comment 8 Shestakov Dmitriy 2010-11-22 18:58:59 MSK
Created attachment 1961 [details]
Как работает в wine@
Comment 9 Shestakov Dmitriy 2010-11-22 19:02:22 MSK
(В ответ на comment #6)
> wine 7.23/14
> бутылка bugs/6423
> подключил базу, протестировал(делал как описывал автор)  появляется сообщение о
> неправильно заполненном документе, с указанием ошибок. Бага не воспроизвелась.
> Прилагаю Скриншот: Окно с описанием

Если у нас воспроизводится, то как должно быть в венде, то вероятно клиенту следует обновиться.

to regan@:
окно ошибки воспроизводится? как воспроизводится?
Comment 10 Marat Sharipov 2010-12-13 14:39:44 MSK
wine 7.32/15 1с.81

бутылка bugs/6423
бага полностью воспроизводиться
Переключить интерфейс->Кадровый учет организаций -> (верхнее меню) кадровый учет
->кадровый учет-> прием на работу в организацию -> добавляем новый документ с пустыми записями и выдается пустое информационное окно как показано на скриншоте Как работает в винде(это работа в wine... перепутали название скринов) Как работает в wine@(так работает в виндовс собственно так и должно работать)
Comment 11 Marat Sharipov 2010-12-30 15:49:38 MSK
При попытки добавить в Конфигурации Зарплата и кадры для бюджета еще одну 
организацию выдает какое-то сообщение при нажатии на кнопку записать, но 
текста не видно. Скриншот в приложении.
появилась аналогичная проблема с другой конфигурацией.
Comment 12 Александр Морозов 2011-03-05 17:14:22 MSK
> бутылка bugs/6423
При входе в базу выводится сообщение о том, что база не обнаружена.
Comment 13 Marat Sharipov 2011-03-10 13:22:08 MSK
(В ответ на comment #12)
> > бутылка bugs/6423
> При входе в базу выводится сообщение о том, что база не обнаружена.

видимо что-то случилось
по новой загрузил базу, пока вроде работает
если вдруг опять что-то случиться:
создать новую базу- открыть через конфигуратор - администратирование - загрузить инф-ю базу - база лежит в C:\Program Files (*.dt) - подождать пока загрузиться

пароль есть в коментариях
Comment 14 Александр Морозов 2011-03-25 16:34:10 MSK
После выполнения ieinstall ошибка отображается
Comment 15 Александр Морозов 2011-03-25 18:20:13 MSK
Также всё работает, если скопировать mshtml.dll из бутылки, в которой был выполнен ieinstall.
Comment 16 Александр Морозов 2011-03-28 20:54:06 MSK
В логах при появлении окна с ошибкой присутствуют вызовы CustomDoc_QueryInterface с запросом следующих нереализованных интерфейсов:
b196b283-bab4-101a-b69c-00aa00341d07 - IProvideClassInfo
3050f4a0-98b5-11cf-bb82-00aa00bdce0b - IMarkupServices
3050f5f9-98b5-11cf-bb82-00aa00bdce0b - IMarkupContainer
3050f69d-98b5-11cf-bb82-00aa00bdce0b - IDisplayServices

Добавил стаб для IMarkupContainer.
Comment 17 Александр Морозов 2011-03-28 20:54:54 MSK
> В логах при появлении окна с ошибкой присутствуют вызовы
> CustomDoc_QueryInterface с запросом следующих нереализованных интерфейсов:
Это относится к eterhack.
Comment 18 Александр Морозов 2011-05-24 21:56:29 MSK
Добавил стаб для IMarkupServices.
Comment 19 Александр Морозов 2011-05-25 20:11:26 MSK
Добавил стаб для IDisplayServices.
Comment 20 Александр Морозов 2011-05-25 21:51:07 MSK
Добавил стаб для IProvideClassInfo. В логе появился вызов IProvideClassInfo::GetClassInfo.
Comment 21 Александр Морозов 2011-05-26 22:08:57 MSK
Реализовал IProvideClassInfo::GetClassInfo. Какого-то особого прогресса от этого не заметил.
Comment 22 Александр Морозов 2011-05-27 16:01:20 MSK
> Также всё работает, если скопировать mshtml.dll из бутылки, в которой был
> выполнен ieinstall.
Копирование mshtml.dll помогает в 1.0.12-eter11.3/19.
Выполнение ieinstall помогает и в 1.0.12, и в eterhack.
Comment 23 Александр Морозов 2011-05-27 17:21:38 MSK
Оказывается, в 1.0.12 уже были IMarkupServices и IProvideClassInfo.
Comment 24 Александр Морозов 2011-05-27 19:37:27 MSK
В логах есть ещё нереализованные интерфейсы:
warn:mshtml:HTMLTxtRange_QueryInterface (0xc2596f8)->({3050f29c-98b5-11cf-bb82-00aa00bdce0b} 0x32c95c)
warn:mshtml:HTMLDOMNode_QI (0xc221d10)->({3050f1ff-98b5-11cf-bb82-00aa00bdce0b} 0x32c918)
Comment 25 Александр Морозов 2011-05-27 19:51:34 MSK
Добавил в idl объявление IHTMLControlRange (3050f29c-98b5-11cf-bb82-00aa00bdce0b).
Comment 26 Александр Морозов 2011-05-31 21:52:06 MSK
> warn:mshtml:HTMLTxtRange_QueryInterface
> (0xc2596f8)->({3050f29c-98b5-11cf-bb82-00aa00bdce0b} 0x32c95c)
> warn:mshtml:HTMLDOMNode_QI (0xc221d10)->({3050f1ff-98b5-11cf-bb82-00aa00bdce0b}
> 0x32c918)

Немного дополнил wine-тесты и пришёл к выводу, что в Windows у этих объектов таких интерфейсов нет.
Comment 27 Александр Морозов 2011-06-02 21:22:41 MSK
Занимался данным багом.
Comment 28 Александр Морозов 2011-07-06 21:11:33 MSK
На текущем eterhack окно, в котором должна быть ошибка, перестало появляться вообще. В консоли при этом есть такие строчки:

err:mshtml:HTMLDocument_Create Failed to init Gecko, returning CLASS_E_CLASSNOTAVAILABLE
fixme:ole:CoCreateInstance no instance created for interface {332c4425-26cb-11d0-b483-00c04fd90119} of class {25336920-03f9-11cf-8fd0-00aa00686f13}, hres is 0x80040111
Comment 29 Александр Морозов 2011-07-07 16:38:52 MSK
> На текущем eterhack окно, в котором должна быть ошибка, перестало появляться
> вообще.
Проблему решил, установив gecko 1.2.0 командой
ww control appwiz.cpl install_gecko
Comment 30 Александр Морозов 2011-07-07 21:06:36 MSK
На основе программы-примера отсюда (http://www.codeguru.com/Cpp/I-N/ieprogram/article.php/c4379/) и примеров кода из MSDN (http://msdn.microsoft.com/en-us/library/aa752047(v=VS.85).aspx) сделал тестовую программу, которая загружает HTML-контент способом, похожим на используемый 1С:
shdocvw/CWebPage.c в wine-etersoft-devel.

Во всяком случае, 1С также использует PersistStreamInit_Load. Программа выводит пустую страницу в наших wine (1.0.12 и eterhack), и работает нормально в Windows и ванильном wine. Также программа работает в нашем wine после установки IE.
Comment 31 Александр Морозов 2011-07-08 17:52:44 MSK
Чтобы сообщение об ошибке стало отображаться в eterhack, надо приложить следующие патчи:

commit cd4a74611ba57f71e4edc476b1e7d0e3ea959b0e
Author: Jacek Caban <jacek@codeweavers.com>
Date:   Fri May 13 18:18:23 2011 +0200

    mshtml: Pass E_ABORT as binding results of bindings without IBinding in abort_document_bindings.

commit 1a6e3c704f87724705bc45462508aadd4fbe9f8c
Author: Jacek Caban <jacek@codeweavers.com>
Date:   Fri May 13 18:17:59 2011 +0200

    mshtml: Move document binding to the new document binding list in on_start_nsrequest.

и откатить патч:

commit f65fdc74fb8e28afdf34aec6b069b2e8cffa1a6b
Author: Konstantin Kondratyuk <kondratyuk@etersoft.ru>
Date:   Fri Dec 19 15:21:27 2008 +0300

    mshtml: Add VT_INT support in IHTMLElementCollection_item

Правда, сообщение после этого всё равно отображается не совсем правильно. Вместо значка выводятся маленький чёрный кружочек и перевод строки.
Comment 32 Александр Морозов 2011-07-08 19:04:46 MSK
С 1.0.12 всё сложно из-за большой разницы в коде mshtml по сравнению с wine-1.3.2x
Comment 33 Константин Кондратюк 2011-09-13 12:41:28 MSK
Проверить на eterhack
Comment 34 Svetlana Zhukova 2011-09-13 13:07:05 MSK
INE@Etersoft 1.0 SQL 1.3.27/1.7.1-eter1.12/3
бутылка wine@eterhack bottle 1c/bug42
c:/Program Files/1cv81/bin база bug6423
> Пароль администратора faceofwar

(В ответ на comment #10)

> Переключить интерфейс->Кадровый учет организаций -> (верхнее меню) кадровый
> учет ->кадровый учет-> прием на работу в организацию -> добавляем новый документ с пустыми записями 

Все корректно.Пустых записей нет,в окошке четко видно надпись.
Comment 35 Dmitry Trubin 2011-12-01 17:30:09 MSK
*** Bug 7909 has been marked as a duplicate of this bug. ***