|
Проблема разных версий 1с 8.3 - как решить? | ☑ | ||
---|---|---|---|---|
0
floverr
15.12.14
✎
10:10
|
условности:
Компания состоит из 3х фирм. в каждой фирме своя версия 1с 8.3 Есть консолидированная база из которой должны идти подключения к базам 3х компаний. Проблема: Если подключение идет к серверу с такой же версией 1с 8.3 - все хорошо. Если нет - Ошибка не соответствия версий клиента и сервера. Возможности привести к единой версии в 3х компаниях нет. Есть способ как решить это? что бы 1с подключаясь к серверу компании №1 использовала коннектор от ее сервера, а подключаясь к компании №2 - ее ? |
|||
1
kosts
15.12.14
✎
10:12
|
(0) В окне запуска 1С в свойствах базы указать нужную версию.
|
|||
2
DmitrO
15.12.14
✎
10:13
|
мы решили эту проблему путем отказа от использования COMConnector-а в интеграционных механизмах, заменили веб-сервисом :)
|
|||
3
Fish
15.12.14
✎
10:17
|
Интересно, а в чём проблема установить везде одну и ту же платформу?
|
|||
4
rasswet
15.12.14
✎
10:18
|
"Возможности привести к единой версии в 3х компаниях нет."-пример того, как 3 компании создают себе проблемы на ровном месте.
|
|||
5
Адский плющ
15.12.14
✎
10:20
|
Просто надо зарегать комконнектор нужной версии.
|
|||
6
floverr
15.12.14
✎
10:25
|
(2) Интересное решение!
Но тут не прокатит... можно только подключаться и читать, а вот реализовывать Web Сервисы нет. т.е. вести разработку в базах тех компаний. (3),(4) банально все просто - у них нет ни желания ни ресурсов...да многое чего... (5) он зарегестрирован, но при вызове Новый COMObject("V83.ComConnector") - 1с использует самую новейшую версию. |
|||
7
Йохохо
15.12.14
✎
10:26
|
(6) а если сделать РИБ и у себя уже рулить режимами совместимости просто?
|
|||
8
Fish
15.12.14
✎
10:28
|
(6) "у них нет ни желания ни ресурсов" - значит, у вас нет желания иметь консолидированную отчётность. В противном случае и желание сразу придалось бы, и ресурс, который запустит сетап и пару раз нажмёт кнопку "далее", сразу бы нашёлся.
|
|||
9
Господин ПЖ
15.12.14
✎
10:29
|
(0) забыть про com как про страшный сон
|
|||
10
Кай066
15.12.14
✎
10:29
|
места на харде нет, аххаха
|
|||
11
Господин ПЖ
15.12.14
✎
10:30
|
>он зарегестрирован, но при вызове Новый COMObject("V83.ComConnector") - 1с использует самую новейшую версию
уже не верю. 1с ее не с потолка берет |
|||
12
vladko
15.12.14
✎
10:33
|
(8) тоже не понимаю. Как может быть нет желания запустить сетапку от текущего релиза платформы и сделать пару кликов.
|
|||
13
kortun
15.12.14
✎
10:47
|
(12) ну это не пара кликов, базы скорее всего серверные, уже геморойно, а потом еще пройти по каждому пользователю и ему переустановить.
|
|||
14
b_ru
15.12.14
✎
10:48
|
(0) можно делать
regsvr32 comccntr.dll для нужной версии платформы непосредственно перед созданием объекта ComConnector |
|||
15
Адский плющ
15.12.14
✎
10:51
|
(6) "Зарегать", значит:
regsvr32 "C:\Program Files (x86)\1cv8\8.3.4.482\bin\comcntr.dll" |
|||
16
DmitrO
15.12.14
✎
10:54
|
(14)(15)эта проблема не такая простая как может показаться..
Просто зарегить comccntr.dll нужной версии не получится, т.к. если версия comccntr.dll будет совпадать с версией базы к которой идет подключение, но не будет совпадать с версией ИЗ которой идет подключение тоже будет ошибка только другая :) |
|||
17
DmitrO
15.12.14
✎
11:05
|
(16)+
вместо: "отличаются версии клиента и сервера" он будет писать что-то типа: "отличаются версии COMConnector и core.dll" а все потому что core.dll уже давно в памяти, а COMConnector-у она тоже шибко нужна (на самом деле не только она), и другой версии она быть не может (так можно и в космос улететь).. |
|||
18
alexei366
15.12.14
✎
11:13
|
попробуй Новый COMObject("V83.ComConnector", "SERVER1") вдруг прокатит).
Или тогда ветки реестра копируй |
|||
19
DmitrO
15.12.14
✎
11:16
|
(17)+
хотя я вот тут подумал.. есть вероятность, что от этого можно избавться если переобъявить COMConnector через COM+, т.о. избавться от Inproc-ности COMConnector-а (чтобы он работал в своем процессе), будет помедленее и с бубном, но тем у кого "нет ни желания ни ресурсов...да многое чего... " может и подойдет :) |
|||
20
Ase4kapwnz
15.12.14
✎
11:41
|
(0) Для 2х версий помогает установка последней платформы более старой. Т.е. если используется грубо говоря 8,2,19 и 8,2,14 то сначала ставим 19, потом 14, и тогда com подключается нормально. А как с 3мя быть- хз.
|
|||
21
Адский плющ
15.12.14
✎
11:49
|
(16) ХЗ, у меня всё подключается.
|
|||
22
Fish
15.12.14
✎
11:50
|
(13) Зачем ходить по пользователям? Для этого существуют политики.
|
|||
23
H A D G E H O G s
15.12.14
✎
11:51
|
(19) У меня получилось подгрузить 2 версии core83.dll в процесс при подключении comconnector и они нормально жили. А потом я похерил код, надо восстанавливать.
|
|||
24
g00dtlt
15.12.14
✎
12:33
|
вариант привести все фирмы к одной версии 1с не рассматриваете? :)
|
|||
25
b_ru
15.12.14
✎
12:42
|
(16) Тогда просто не ComConnector использовать, а V83.Application
|
|||
26
alexei366
15.12.14
✎
12:46
|
"Возможности привести к единой версии в 3х компаниях нет. ".
Не майтесь фигней, приводите все к одной версии. Заодно версии обновите. |
|||
27
floverr
15.12.14
✎
14:55
|
(23) Каким образом получилось? как?
|
|||
28
H A D G E H O G s
15.12.14
✎
14:55
|
(27) Подменой LoadLibraryEx()
|
|||
29
Garykom
гуру
15.12.14
✎
14:58
|
(6) особенно умиляет что "можно только подключаться и читать" - и это при сом то соединении ))
лучше бы действительно веб сервисы сделали хотя бы защита была от криворуких программеров |
|||
30
floverr
15.12.14
✎
15:34
|
(28) Спасибо. попробую
|
|||
31
floverr
17.12.14
✎
13:31
|
Решение найдено другим способом, через сервер 1с.
Установили центральный сервер 1с 8.3 последнего релиза. В нём создали 3 базы со ссылками на сиквельные базы других организаций. В итоге По COM я обращаюсь к базам на своем сервере, а не к серверам других организаций для чтения инфы. Всем участникам кто писал по делу спасибо, да и флудерам то же за АП ветки. |
|||
32
oleg_km
17.12.14
✎
13:37
|
(31) Ну ходить в одну сиквельную базу с разных серверов 1С еще то извращение
|
|||
33
Ювелир
17.12.14
✎
13:52
|
(14)(15) Это работает. Просто при установке новой версии, регистрацию старого ком надо повторить.
(31) нормальное решение |
|||
34
Зеленый пень
17.12.14
✎
13:57
|
(31) Главное - регламентные задания отключить.
|
|||
35
oleg_km
17.12.14
✎
14:08
|
Есть способ создать нужный КОМ прямо из ДЛЛ без использования реестра и соответственно регистрации. На ИС по-моему была публикация
|
|||
36
H A D G E H O G s
17.12.14
✎
14:14
|
(35) Это не поможет.
|
|||
37
H A D G E H O G s
17.12.14
✎
14:21
|
Я ХЗ, как я раньше добивался параллельной загрузки всей платформы предыдущей версии. Коды канули в неизвестность.
Сейчас comcntr.dll предыдущей версии упорно говорит о другой версии core82.dll. И он даже для этого не вызывает ни: ldrLoadDll ни даже ldrGetDllHandleEx Такое ощущение, что он знает, что эаранее готовый hinstance, что странно, и я в растерянности, ведь не одним 1cv8 жив ComConnctor. p.s. Никакого дизассемблирования, просто стек вызовов. |
|||
38
Serginio1
17.12.14
✎
14:51
|
||||
39
H A D G E H O G s
17.12.14
✎
14:59
|
(38) не то.
|
|||
40
Serginio1
17.12.14
✎
15:51
|
(39) Если lpModuleName не включает в себя путь и имеется больше, чем один загруженный модуль с тем же самым базовым именем и расширением, функция извлекает дескриптор модуля, который был загружен сначала.
|
|||
41
H A D G E H O G s
17.12.14
✎
15:55
|
(40) comcntr.dll загружается по полному имени.
А потом, при выполнении метода Connect() говорит "Версия не соответствует..." При этом он не дергает ничего из ldrLoadDll ldrGetDllHandleEx а более низкоуровнего я ничего не знаю. |
|||
42
H A D G E H O G s
17.12.14
✎
15:56
|
(41) Если я подключаюсь из 1С. Если подключаюсь из сторонней проги - все дергает, нет проблем.
|
|||
43
Serginio1
17.12.14
✎
16:32
|
(42) Правильно в сторонней проге не загружен
core8x.dll v8: v8: Использование сборок .NET в 1С 7.x и 8.x |
|||
44
Serginio1
17.12.14
✎
16:33
|
43 но как только подгрузишь то из этой же проги другую версию вызвать не сможешь
v8: v8: Использование сборок .NET в 1С 7.x и 8.x |
|||
45
H A D G E H O G s
17.12.14
✎
16:38
|
(44) Почему? Как comcnctr узнает, что core82.dll уже загружена?
|
|||
46
Serginio1
17.12.14
✎
16:42
|
См 40
|
|||
47
Serginio1
17.12.14
✎
16:45
|
||||
48
H A D G E H O G s
17.12.14
✎
16:57
|
(46) (47) Я в курсе этого. Проблема не в этом.
|
|||
49
DmitrO
17.12.14
✎
16:58
|
(31) как думаете, если на тех серверах обновят конфигурацию какой нибудь базы, ваш новый кластер об этом узнает? сбросит кеши? а регламентные задания? а менеджер блокировок? :)
|
|||
50
H A D G E H O G s
17.12.14
✎
17:05
|
(47) Выйди в аську
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |