Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 8430 - 1c77 - ошибка при объединении конфигураций   Make a simular bug
Summary: 1c77 - ошибка при объединении конфигураций
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Общее (show other bugs)
Version: unspecified
Hardware: PC All
: P3 major
Target Milestone: ---
Assignee: Konstantin Artyushkin
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 10837
Blocks: 8900
  Show dependency treegraph
 
In work:
Reported: 2012-05-05 12:03 MSK by Svetlana Zhukova
Modified: 2024-04-26 20:16 MSK (History)
11 users (show)

See Also:
Заявки RT: 24309, 28564, 30109, 33903
Связано с:
Дата напоминания:


Attachments
объединение (276.14 KB, image/png)
2013-01-28 15:52 MSK, Дмитрий Галочкин
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Svetlana Zhukova 2012-05-05 12:03:48 MSK
Чтобы обновить 1с77 необходимо выполнить объединение старой и новой конфигурации.
wine@eter-2 bottle rt/24487
WINE@Etersoft SQL 2.0.1-eter2.4/1

Установила 1с77 бухгалтерия. Скопировала сюда же обновление для нее.
При попытке объединения сначала была ошибка (1с, она же и в windows):

"Выбранная конфигурация является специализированной. "
Лечение: 

Запустите 1С:Предприятие в режиме “Конфигуратор”.
Создайте новую информационную базу (нажмите кнопку “Добавить”), либо, если она уже создана, добавьте к ней путь.
Откройте конфигурацию, – Конфигуратор выводит предупреждение – “ВНИМАНИЕ!!! Данная конфигурация является специализированной…”
Нажмите кнопку “ОК” и сохраните конфигурацию. При сохранении Конфигуратор произведет нужное преобразование.
Закройте конфигурацию.

Снова запускаю конфигурацию "бухгалтерия " в конфигураторе. 
Конфигурация - открыть конфигурацию.
Объединить конфигурации - выбираю новую.

Получаю ошибку при объединении данных.

Сообщение 1с:
Начало процесса объединения конфигураций
-Режим замещения ведущих объектов
-Загружаемая конфигурация является приоритетной
-Замещение Объекта: "Задача"
-Произошла ошибка в процессе объединения конфигураций
Comment 1 Svetlana Zhukova 2012-05-05 13:14:12 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)
Comment 2 Svetlana Zhukova 2012-09-07 09:46:12 MSK
*** Bug 8696 has been marked as a duplicate of this bug. ***
Comment 3 sheril 2012-10-25 17:20:37 MSK
Пожалуйста, обратите внимание на проблему. Объединение конфигураций не работает, следовательно невозможно обновление любой конфигурации под Wine 2.0
Comment 4 Роман Дадьков 2013-01-28 15:39:27 MSK
Cчитаю, что проблема не в wine. Если "Объединение конфигураций" приоритетной выбрать Текущую, а не Загружаемую, что логично, то процесс объединения проходит нормально и заканчивается успешно. В противном случае, ошибка возникает в 1с, и на сколько можно судить не связана с вызовами wine.
Comment 5 Дмитрий Галочкин 2013-01-28 15:52:19 MSK
Created attachment 2778 [details]
объединение
Comment 6 sheril 2013-01-28 23:28:13 MSK
(В ответ на comment #4)
> Cчитаю, что проблема не в wine. Если "Объединение конфигураций" приоритетной
> выбрать Текущую, а не Загружаемую, что логично, то процесс объединения проходит
> нормально и заканчивается успешно. В противном случае, ошибка возникает в 1с, и
> на сколько можно судить не связана с вызовами wine.

Суть обновления конфигурации как раз в том, чтобы принять изменения из загружаемой  конфигурации в текущую ИБ. Такова стандартная процедура установки типовых обновлений 1С (впрочем, как и других) по их же инструкции. Так что представить ситуацию, когда должна быть приоритетна Текущая, а не Заггружаемая конфигурация для подобной задачи сложно. Вывод о том, что возникновение ошибки в 1С под wine 2.0, и отсутствие таковой в одинаковой ситуации под wine 1.x и windows, лишь внутренние дела 1С, недостаточно обоснован.
Comment 7 Svetlana Zhukova 2013-01-29 12:40:19 MSK
В бутылке ошибка имеется.
На windows XP Sv  - снимок 8430
При объединении возникла ошибка из комметария1 (база явл. специализированной):
Создала новую пустую БД, сохранила. Объединила ее сначала с базой "демоБухгалтерия", затем с обновлением для нее. Все работает корректно (все изменения были приняты без ошибок).

В wine невозможно не то,чтобы объединить имеющуюся бд с обновлениями, но и пустую с готовой базой.
Comment 8 Svetlana Zhukova 2013-01-29 13:32:09 MSK
Если выставить приоритет "текущая" и "замещать объекты" - работает.

Приоритет - загружаемая  Метод - объединения  - не работает.
Приоритет - загружаемая  Метод - замещение    - не работает
приоритет -"текущая"     Метод - объединения  - не работает.

На windows работает все.
Comment 9 Svetlana Zhukova 2013-01-29 13:32:55 MSK
(В ответ на comment #8)
> Если выставить приоритет "текущая" и "замещать объекты" - работает.
> 
> Приоритет - загружаемая  Метод - объединения  - не работает.
> Приоритет - загружаемая  Метод - замещение    - не работает
> приоритет -"текущая"     Метод - объединения  - не работает.
> 
> На windows работает все.

wine@eter-2 bottle rt/24487
WINE@Etersoft SQL 2.0.3-eter22/5
Comment 12 Роман Дадьков 2013-01-31 21:50:20 MSK
Проверил еще раз при объединении 1SBDemo и Обновл.бух_upd R770532 на windows и в бутылке отличается список изменяемых объектов. Если при воспроизведении оставить отметки только те, что на были в списке при объединении на windows (Интерфейс->Бухгалтер), то объединение проходит правильно. Нужно выяснить, почему в список изменяемых/обновляемых объектов на wine попали все объекты?
Comment 13 Роман Дадьков 2013-02-01 15:44:36 MSK
1 - Добился того, чтобы список изменяемых объектов был однинаковым и на windows и в wine. Повеедение осталось прежним. В windows сразу после сообщения об объединении объекта Задача, выводится предупреждение о том, что автор был изменен, а дальше объединение проходит в штатном режиме.
2 - Запуск в бутылке с kernel32=n, ole2=n, ole32=n, oleaut32=n завершился с ошибкой объединения.
3 - В консоль постоянно сыпется предупреждение о том, что не найден clsid {8a04e844-f5ef-11cf-8939-444553540000}. Это barcode.ocx. В реестре его действительно нет. В реестре на windows он есть. Запустил на другой машине, на которой barcode установлен не был. Объединение завершилось успешно. Таким образом можно считать, что дело не в этом.
Comment 14 Роман Дадьков 2013-02-04 18:41:26 MSK
1 - Объединение не работает даже в случае пустой и любой другой конфигурации, при условии, что выставлены именно Приоритет-Загружаемой, Способ-Замещение.
2 - Запуск с ole32=n позволил завершить объединение пустой концигурации и 1SBDemo. После появилось несколько окошек с предупреждением "Ошибка открытия документа", однако их можно просто закрыть и продолжить работу.
3 - В трэйсе по ole преред завершением шла работа с {d5f569d0-593b-101a-b569-08002b2dbf7a} - IPSFactoryBuffer
Comment 15 Роман Дадьков 2013-02-05 19:04:27 MSK
Трэйс по relay и olerelay ничего не дал интресного. Трэйс по ole показывает, что после формирования списка объектов для замещения, и запуска объединения выполнялся код связанный с маршалиндом, однако, поскольку запуск с rpcrt4=n не помог, можно считать, что проблема исключительно в ole32. 
Попробовал заменить на библиотеку ole32 из более старых версий. Запуск с 1.0.12 не помог, запуск с 1.7.0 также как и eterhack привел к сообщению "Ошибка открытия
документа".
Comment 16 Роман Дадьков 2013-02-05 20:22:47 MSK
На машине eter-1.0.12 под wine 1.0.12-eter14/28 объединение проходит успешно.
Comment 17 Роман Дадьков 2013-02-06 15:59:46 MSK
На 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
Comment 18 Роман Дадьков 2013-02-07 13:35:44 MSK
Сделал трэйс по file. Во время объединения в user/wine/Temp создаются .tmp файлы, по видимому содержащие, вносимые изменения, судя по их количеству создаются они для всего списка объектов замещения.
Comment 19 Роман Дадьков 2013-02-08 19:53:45 MSK
Изучение трэйса по ole показало, что в функции CoLockObjectExternal, неудачно сработал get_stub_manager_from_object. При этом ошибки не возвращается, а считается, что объект просто отключен.
Comment 20 Сергей Гуральник 2013-03-27 17:54:17 MSK
(В ответ на 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 21 Сергей Гуральник 2013-03-27 18:22:28 MSK
(В ответ на 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.
Comment 23 Dmitry A. Petuhov 2013-04-21 15:40:17 MSK
> Получаю ошибку при объединении данных.
> 
> Сообщение 1с:
> Начало процесса объединения конфигураций
> -Режим замещения ведущих объектов
> -Загружаемая конфигурация является приоритетной
> -Замещение Объекта: "Задача"
> -Произошла ошибка в процессе объединения конфигураций

Получаю на своей (ИнТерра) базе такую же ошибку при объединении баз. 
Впервые получил ее еще на первом вайне. Переход на двойку не помог
Comment 24 Dmitry A. Petuhov 2013-04-21 16:52:36 MSK
Вылечил такое поведение. Рецепт:
При объединении конфигураций ставим не замещение объектов, а объединение. Проводим объединение, сохраняем конфигурацию.
Далее, можно повторно сделать объединение уже с замещением объектов.


(В ответ на comment #23)
> > Получаю ошибку при объединении данных.
> > 
> > Сообщение 1с:
> > Начало процесса объединения конфигураций
> > -Режим замещения ведущих объектов
> > -Загружаемая конфигурация является приоритетной
> > -Замещение Объекта: "Задача"
> > -Произошла ошибка в процессе объединения конфигураций
> 
> Получаю на своей (ИнТерра) базе такую же ошибку при объединении баз. 
> Впервые получил ее еще на первом вайне. Переход на двойку не помог
Comment 26 Svetlana Zhukova 2013-04-24 14:28:26 MSK
(В ответ на 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
параметры: текущая,объединение.

Объединение прошло корректно. Сохранила конфигурацию,при сохранении она корректно реорганизовалась.

Далее объединение прошло успешно с параметрами: приоритет текущая, замещать.Сохранила.

С приоритетом "загружаемая" не удалось объединить ни на первом ни на втором этапе.
Если приоритет значения не имеет,то закрываем-откладываем.
Comment 27 sheril 2013-04-24 15:27:56 MSK
> Если приоритет значения не имеет,то закрываем-откладываем.

Приоритет имеет значение. Обратите внимание, что обновление любой типовой конфигурации по инструкции 1С производится с приоритетом "Загружаемая" (а иначе нет никакого смысла).Таким образом, пока проблема не решена, корректная установка каких-либо обновлений типовых (и не только) конфигураций невозможна.
Comment 28 Svetlana Zhukova 2013-04-24 15:30:58 MSK
(В ответ на comment #27)

> Приоритет имеет значение. Обратите внимание, что обновление любой типовой
> конфигурации по инструкции 1С производится с приоритетом "Загружаемая" (а иначе
> нет никакого смысла).

Следовательно, временное решение не подходит.
Comment 29 Силин Дмитрий 2013-04-29 16:12:33 MSK
У меня сегодня получилось обновить типовую 1С 7.7, но я использовать метод "Загрузить изменённую конфигурацию", что не есть правильно, хотя, в результате, все обновилось вполне благополучно. Штатно этот режим в 1С используется для обновления базовых конфигураций.
Comment 35 ShotSDV 2013-08-31 10:50:57 MSK
Тихо замерло всё до рассвета...
Comment 36 ShotSDV 2013-08-31 11:06:23 MSK
Сегодня провёл эксперимент.
1. Поставил последнюю стабильную версию 2.1.3 - не работает.
2. Поставил тестовую версию 2.1.3 - не работает.
3. Откатился до 2.0.4 - не работает.
4. Откатился до версии 1.0.12 - ВСЁ ЗАПРАБОТАЛО!!! Но, с этим релизом не желает работать 1С 8... Хотя, это уже и не так важно, можно ставить 1С:Сервер и вайн не так уж и нужен для малого количества подключений.
Comment 37 sheril 2013-09-01 02:54:26 MSK
> 4. Откатился до версии 1.0.12 - ВСЁ ЗАПРАБОТАЛО!!! 

Да, на первом работает. В этом и проблема. Чтобы элементарно установить обновление конфигурации в 1С 7.7, нужно искать машину с виндовс или WINE@Etersoft 1.x
Comment 38 Vitaly Lipatov 2014-09-11 18:52:31 MSK
Откладываем задачи, к которым не обращались более 100 дней.
Comment 39 Lena272 2015-04-30 09:10:52 MSK
задача актуальна...
на получается объединить конфигурации под wine 2.1.3 eter 3/5
Comment 40 Vitaly Lipatov 2015-07-13 01:15:22 MSK
Надо воспроизвести и передать Дмитрию.
Comment 41 Konstantin Artyushkin 2015-08-12 16:57:37 MSK
Поскольку бутылки 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:\
Comment 42 Konstantin Artyushkin 2015-08-19 14:09:14 MSK
Воспроизвёл.

Пакеты 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-м
Comment 43 Dmitry Timoshkov 2015-11-05 09:37:08 MSK
Так как задача 10837 должна быть решена, то и эта (фактический повтор той)
так же. Константин, пожалуйста протестируйте исправление.
Comment 44 Олег Шевченко 2024-04-26 20:16:43 MSK
Закрыта как неактуальная.