Summary: | 1c77 - ошибка при объединении конфигураций | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Svetlana Zhukova <svzhu> |
Component: | Общее | Assignee: | Konstantin Artyushkin <akv> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | major | ||
Priority: | P3 | CC: | 210259, akv, dm, dtimoshkov, dtr, kit01, lav, lena272, olezha, pda, shershnov |
Version: | unspecified | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | 24309, 28564, 30109, 33903 | Связано с: | 8696 |
Дата напоминания: | |||
Bug Depends on: | 10837 | ||
Bug Blocks: | 8900 | ||
Attachments: | объединение |
Description
Svetlana Zhukova
2012-05-05 12:03:48 MSK
WINE@Etersoft SQL 1.3.37/2.0.1-eter1.11/6 - проблема имеется. WINE@Etersoft SQL 1.3.25/2.0.1-eter1.9/6 имеется. WINE@Etersoft SQL 1.3.9/2.0.1-eter1.10/6 то же самое (все через ww) *** Bug 8696 has been marked as a duplicate of this bug. *** Пожалуйста, обратите внимание на проблему. Объединение конфигураций не работает, следовательно невозможно обновление любой конфигурации под Wine 2.0 Cчитаю, что проблема не в wine. Если "Объединение конфигураций" приоритетной выбрать Текущую, а не Загружаемую, что логично, то процесс объединения проходит нормально и заканчивается успешно. В противном случае, ошибка возникает в 1с, и на сколько можно судить не связана с вызовами wine. Created attachment 2778 [details]
объединение
(В ответ на comment #4) > Cчитаю, что проблема не в wine. Если "Объединение конфигураций" приоритетной > выбрать Текущую, а не Загружаемую, что логично, то процесс объединения проходит > нормально и заканчивается успешно. В противном случае, ошибка возникает в 1с, и > на сколько можно судить не связана с вызовами wine. Суть обновления конфигурации как раз в том, чтобы принять изменения из загружаемой конфигурации в текущую ИБ. Такова стандартная процедура установки типовых обновлений 1С (впрочем, как и других) по их же инструкции. Так что представить ситуацию, когда должна быть приоритетна Текущая, а не Заггружаемая конфигурация для подобной задачи сложно. Вывод о том, что возникновение ошибки в 1С под wine 2.0, и отсутствие таковой в одинаковой ситуации под wine 1.x и windows, лишь внутренние дела 1С, недостаточно обоснован. В бутылке ошибка имеется. На windows XP Sv - снимок 8430 При объединении возникла ошибка из комметария1 (база явл. специализированной): Создала новую пустую БД, сохранила. Объединила ее сначала с базой "демоБухгалтерия", затем с обновлением для нее. Все работает корректно (все изменения были приняты без ошибок). В wine невозможно не то,чтобы объединить имеющуюся бд с обновлениями, но и пустую с готовой базой. Если выставить приоритет "текущая" и "замещать объекты" - работает. Приоритет - загружаемая Метод - объединения - не работает. Приоритет - загружаемая Метод - замещение - не работает приоритет -"текущая" Метод - объединения - не работает. На windows работает все. (В ответ на comment #8) > Если выставить приоритет "текущая" и "замещать объекты" - работает. > > Приоритет - загружаемая Метод - объединения - не работает. > Приоритет - загружаемая Метод - замещение - не работает > приоритет -"текущая" Метод - объединения - не работает. > > На windows работает все. wine@eter-2 bottle rt/24487 WINE@Etersoft SQL 2.0.3-eter22/5 Проверил еще раз при объединении 1SBDemo и Обновл.бух_upd R770532 на windows и в бутылке отличается список изменяемых объектов. Если при воспроизведении оставить отметки только те, что на были в списке при объединении на windows (Интерфейс->Бухгалтер), то объединение проходит правильно. Нужно выяснить, почему в список изменяемых/обновляемых объектов на wine попали все объекты? 1 - Добился того, чтобы список изменяемых объектов был однинаковым и на windows и в wine. Повеедение осталось прежним. В windows сразу после сообщения об объединении объекта Задача, выводится предупреждение о том, что автор был изменен, а дальше объединение проходит в штатном режиме. 2 - Запуск в бутылке с kernel32=n, ole2=n, ole32=n, oleaut32=n завершился с ошибкой объединения. 3 - В консоль постоянно сыпется предупреждение о том, что не найден clsid {8a04e844-f5ef-11cf-8939-444553540000}. Это barcode.ocx. В реестре его действительно нет. В реестре на windows он есть. Запустил на другой машине, на которой barcode установлен не был. Объединение завершилось успешно. Таким образом можно считать, что дело не в этом. 1 - Объединение не работает даже в случае пустой и любой другой конфигурации, при условии, что выставлены именно Приоритет-Загружаемой, Способ-Замещение. 2 - Запуск с ole32=n позволил завершить объединение пустой концигурации и 1SBDemo. После появилось несколько окошек с предупреждением "Ошибка открытия документа", однако их можно просто закрыть и продолжить работу. 3 - В трэйсе по ole преред завершением шла работа с {d5f569d0-593b-101a-b569-08002b2dbf7a} - IPSFactoryBuffer Трэйс по relay и olerelay ничего не дал интресного. Трэйс по ole показывает, что после формирования списка объектов для замещения, и запуска объединения выполнялся код связанный с маршалиндом, однако, поскольку запуск с rpcrt4=n не помог, можно считать, что проблема исключительно в ole32. Попробовал заменить на библиотеку ole32 из более старых версий. Запуск с 1.0.12 не помог, запуск с 1.7.0 также как и eterhack привел к сообщению "Ошибка открытия документа". На машине eter-1.0.12 под wine 1.0.12-eter14/28 объединение проходит успешно. На eter-1.0.12 объединение под eterhack проходит так же как с ole32 из windows xp. marshal.c в eterhack и версии 1.0.12 практически не отличаются. Установка ieinstall не помогает https://bugs.etersoft.ru/show_bug.cgi?id=8493#c9 Сделал трэйс по file. Во время объединения в user/wine/Temp создаются .tmp файлы, по видимому содержащие, вносимые изменения, судя по их количеству создаются они для всего списка объектов замещения. Изучение трэйса по ole показало, что в функции CoLockObjectExternal, неудачно сработал get_stub_manager_from_object. При этом ошибки не возвращается, а считается, что объект просто отключен. (В ответ на comment #13) > 2 - Запуск в бутылке с kernel32=n, ole2=n, ole32=n, oleaut32=n завершился с > ошибкой объединения. ??? Сделать kernel32=n невозможно, т.к. в ней есть переходы в ядро windows, которое выполняется в привилегированном режиме и вайном не поддерживается. (это же относится к gdi32, user32, ntdll) Мне удалось без проблем объединить пустую конфигурацию и некоторую случайную (от какой-то другой задачи) используя только ole32=n. ole32.dll взята от winxp. Причем это получается и для winehq и для w@e 2.1 (В ответ на comment #0) > Чтобы обновить 1с77 необходимо выполнить объединение старой и новой > конфигурации. > wine@eter-2 bottle rt/24487 > WINE@Etersoft SQL 2.0.1-eter2.4/1 Вытянул из этой бутылки две базы и попытался их объединить. С нативной ole32 объединение проходит дальше чем со встроенной, но всё равно появляется сообщение "Общая файловая ошибка при доступе к an unnamed file" при этом в терминале: fixme:ntdll:NtQueryInformationFile Unsupported class (22) fixme:ntdll:NtQueryInformationFile Unsupported class (22) хотя при запуске со встроенной ole32 ничего такого нет. Вывод - это вызовы из использованной нативной библиотеки (Эту версию подтверждает присутствие NtQueryInformationFile() в таблице импорта виндовой ole32). Итог - проблема исключительно в ole32. > Получаю ошибку при объединении данных.
>
> Сообщение 1с:
> Начало процесса объединения конфигураций
> -Режим замещения ведущих объектов
> -Загружаемая конфигурация является приоритетной
> -Замещение Объекта: "Задача"
> -Произошла ошибка в процессе объединения конфигураций
Получаю на своей (ИнТерра) базе такую же ошибку при объединении баз.
Впервые получил ее еще на первом вайне. Переход на двойку не помог
Вылечил такое поведение. Рецепт: При объединении конфигураций ставим не замещение объектов, а объединение. Проводим объединение, сохраняем конфигурацию. Далее, можно повторно сделать объединение уже с замещением объектов. (В ответ на comment #23) > > Получаю ошибку при объединении данных. > > > > Сообщение 1с: > > Начало процесса объединения конфигураций > > -Режим замещения ведущих объектов > > -Загружаемая конфигурация является приоритетной > > -Замещение Объекта: "Задача" > > -Произошла ошибка в процессе объединения конфигураций > > Получаю на своей (ИнТерра) базе такую же ошибку при объединении баз. > Впервые получил ее еще на первом вайне. Переход на двойку не помог (В ответ на comment #24) > Вылечил такое поведение. Рецепт: > При объединении конфигураций ставим не замещение объектов, а объединение. > Проводим объединение, сохраняем конфигурацию. > Далее, можно повторно сделать объединение уже с замещением объектов. Создала новую бутылку на eter-2.1 1c77/2bases (в обычной 1с77/1с77 уже слишком много баз,связанных с другими багами,эту создала для проверки операций,связанных с объединением или другим взаимодействием между 2мя базами,для удобства). Итак,eter-2.1 1c77/2bases Создала пустую конфигурацию,запустила в режиме конфигуратора. Конфигурация-Открыть конфигурацию. Конфигурация-объединений конфигураций. Выбираю файл MD из бд "TestBase". Выставляю:текущая,объединение (иначе ошибка,как мы знаем). Пока не удалось объединить совсем никак. При ранее работающем способе теперь: "Не уникальный идентификатор. .Основание" То есть объединить пустую базу с существующей не получилось. тогда попробовала как в http://bugs.etersoft.ru/show_bug.cgi?id=8430#c0 Проявилась теперь бага http://bugs.etersoft.ru/show_bug.cgi?id=8133 обойти ее не удалось на 2.1,переоткрыла. Установила конфигурацию "комплексная", 2 версии в разные каталоги. Запускаю БД kompleksnaya в конфигураторе, для объединения выбираю файл MD более новой версии из каталога kompleksnayaNEW параметры: текущая,объединение. Объединение прошло корректно. Сохранила конфигурацию,при сохранении она корректно реорганизовалась. Далее объединение прошло успешно с параметрами: приоритет текущая, замещать.Сохранила. С приоритетом "загружаемая" не удалось объединить ни на первом ни на втором этапе. Если приоритет значения не имеет,то закрываем-откладываем. > Если приоритет значения не имеет,то закрываем-откладываем.
Приоритет имеет значение. Обратите внимание, что обновление любой типовой конфигурации по инструкции 1С производится с приоритетом "Загружаемая" (а иначе нет никакого смысла).Таким образом, пока проблема не решена, корректная установка каких-либо обновлений типовых (и не только) конфигураций невозможна.
(В ответ на comment #27) > Приоритет имеет значение. Обратите внимание, что обновление любой типовой > конфигурации по инструкции 1С производится с приоритетом "Загружаемая" (а иначе > нет никакого смысла). Следовательно, временное решение не подходит. У меня сегодня получилось обновить типовую 1С 7.7, но я использовать метод "Загрузить изменённую конфигурацию", что не есть правильно, хотя, в результате, все обновилось вполне благополучно. Штатно этот режим в 1С используется для обновления базовых конфигураций. Тихо замерло всё до рассвета... Сегодня провёл эксперимент. 1. Поставил последнюю стабильную версию 2.1.3 - не работает. 2. Поставил тестовую версию 2.1.3 - не работает. 3. Откатился до 2.0.4 - не работает. 4. Откатился до версии 1.0.12 - ВСЁ ЗАПРАБОТАЛО!!! Но, с этим релизом не желает работать 1С 8... Хотя, это уже и не так важно, можно ставить 1С:Сервер и вайн не так уж и нужен для малого количества подключений. > 4. Откатился до версии 1.0.12 - ВСЁ ЗАПРАБОТАЛО!!!
Да, на первом работает. В этом и проблема. Чтобы элементарно установить обновление конфигурации в 1С 7.7, нужно искать машину с виндовс или WINE@Etersoft 1.x
Откладываем задачи, к которым не обращались более 100 дней. задача актуальна... на получается объединить конфигурации под wine 2.1.3 eter 3/5 Надо воспроизвести и передать Дмитрию. Поскольку бутылки wine@eter-2 bottle rt/24487 больше нет подготовил новую swine 2.1 bugs/8430 Установлена 1с77 Добавлена база /var/ftp/pvt/Windows/1C/1Cv77_configs/komplexnaya/ATCDemo Скопировано обновление "/var/ftp/pvt/Windows/1C/1Cv77_configs/komplexnaya/обновл." на диск C:\ Воспроизвёл. Пакеты wine wine-etersoft-gl-2.1.3-alt24.M70P.25 wine-etersoft-sql-2.1.3-alt7.M70P.8 wine-etersoft-2.1.3-alt24.M70P.25 Проблема воспроизводится если в настройках объединения выбрать параметры: Приоритет Конфигурации - Загружаемая конфигурация Метод Объединения - Замещать объекты Всего 4 варианта - воспроизвести получилось только в 1-м Так как задача 10837 должна быть решена, то и эта (фактический повтор той) так же. Константин, пожалуйста протестируйте исправление. Закрыта как неактуальная. |