#0
by floverr
условности: Компания состоит из 3х фирм. в каждой фирме своя версия 1с 8.3 Есть консолидированная база из которой должны идти подключения к базам 3х компаний. Проблема: Если подключение идет к серверу с такой же версией 1с 8.3 - все хорошо. Если нет - Ошибка не соответствия версий клиента и сервера. Возможности привести к единой версии в 3х компаниях нет. Есть способ как решить это? что бы 1с подключаясь к серверу компании №1 использовала коннектор от ее сервера, а подключаясь к компании №2 - ее ?
#2
by DmitrO
мы решили эту проблему путем отказа от использования COMConnector-а в интеграционных механизмах, заменили веб-сервисом :)
#4
by rasswet
"Возможности привести к единой версии в 3х компаниях нет."-пример того, как 3 компании создают себе проблемы на ровном месте.
#6
by floverr
Интересное решение! Но тут не прокатит... можно только подключаться и читать, а вот реализовывать Web Сервисы нет. т.е. вести разработку в базах тех компаний. , банально все просто - у них нет ни желания ни ресурсов...да многое чего... он зарегестрирован, но при вызове Новый COMObject("V83.ComConnector") - 1с использует самую новейшую версию.
#8
by Fish
"у них нет ни желания ни ресурсов" - значит, у вас нет желания иметь консолидированную отчётность. В противном случае и желание сразу придалось бы, и ресурс, который запустит сетап и пару раз нажмёт кнопку "далее", сразу бы нашёлся.
#11
by Господин ПЖ
>он зарегестрирован, но при вызове Новый COMObject("V83.ComConnector") - 1с использует самую новейшую версию уже не верю. 1с ее не с потолка берет
#12
by vladko
тоже не понимаю. Как может быть нет желания запустить сетапку от текущего релиза платформы и сделать пару кликов.
#13
by kortun
ну это не пара кликов, базы скорее всего серверные, уже геморойно, а потом еще пройти по каждому пользователю и ему переустановить.
#14
by b_ru
regsvr32 comccntr.dll для нужной версии платформы непосредственно перед созданием объекта ComConnector
#16
by DmitrO
эта проблема не такая простая как может показаться.. Просто зарегить comccntr.dll нужной версии не получится, т.к. если версия comccntr.dll будет совпадать с версией базы к которой идет подключение, но не будет совпадать с версией ИЗ которой идет подключение тоже будет ошибка только другая :)
#17
by DmitrO
+ вместо: "отличаются версии клиента и сервера" он будет писать что-то типа: "отличаются версии COMConnector и core.dll" а все потому что core.dll уже давно в памяти, а COMConnector-у она тоже шибко нужна (на самом деле не только она), и другой версии она быть не может (так можно и в космос улететь)..
#18
by alexei366
попробуй Новый COMObject("V83.ComConnector", "SERVER1") вдруг прокатит). Или тогда ветки реестра копируй
#19
by DmitrO
+ хотя я вот тут подумал.. есть вероятность, что от этого можно избавться если переобъявить COMConnector через COM+, т.о. избавться от Inproc-ности COMConnector-а (чтобы он работал в своем процессе), будет помедленее и с бубном, но тем у кого "нет ни желания ни ресурсов...да многое чего... " может и подойдет :)
#20
by Ase4kapwnz
Для 2х версий помогает установка последней платформы более старой. Т.е. если используется грубо говоря 8,2,19 и 8,2,14 то сначала ставим 19, потом 14, и тогда com подключается нормально. А как с 3мя быть- хз.
#23
by H A D G E H O G s
У меня получилось подгрузить 2 версии core83.dll в процесс при подключении comconnector и они нормально жили. А потом я похерил код, надо восстанавливать.
#26
by alexei366
"Возможности привести к единой версии в 3х компаниях нет. ". Не майтесь фигней, приводите все к одной версии. Заодно версии обновите.
#29
by Garykom
особенно умиляет что "можно только подключаться и читать" - и это при сом то соединении )) лучше бы действительно веб сервисы сделали хотя бы защита была от криворуких программеров
#31
by floverr
Решение найдено другим способом, через сервер 1с. Установили центральный сервер 1с 8.3 последнего релиза. В нём создали 3 базы со ссылками на сиквельные базы других организаций. В итоге По COM я обращаюсь к базам на своем сервере, а не к серверам других организаций для чтения инфы. Всем участникам кто писал по делу спасибо, да и флудерам то же за АП ветки.
#33
by Ювелир
Это работает. Просто при установке новой версии, регистрацию старого ком надо повторить. нормальное решение
#35
by oleg_km
Есть способ создать нужный КОМ прямо из ДЛЛ без использования реестра и соответственно регистрации. На ИС по-моему была публикация
#37
by H A D G E H O G s
Я ХЗ, как я раньше добивался параллельной загрузки всей платформы предыдущей версии. Коды канули в неизвестность. Сейчас comcntr.dll предыдущей версии упорно говорит о другой версии core82.dll. И он даже для этого не вызывает ни: ни даже ldrGetDllHandleEx Такое ощущение, что он знает, что эаранее готовый hinstance, что странно, и я в растерянности, ведь не одним 1cv8 жив ComConnctor. p.s. Никакого дизассемблирования, просто стек вызовов.
#40
by Serginio1
Если lpModuleName не включает в себя путь и имеется больше, чем один загруженный модуль с тем же самым базовым именем и расширением, функция извлекает дескриптор модуля, который был загружен сначала.
#41
by H A D G E H O G s
comcntr.dll загружается по полному имени. А потом, при выполнении метода Connect говорит "Версия не соответствует..." При этом он не дергает ничего из ldrLoadDll ldrGetDllHandleEx а более низкоуровнего я ничего не знаю.
#42
by H A D G E H O G s
Если я подключаюсь из 1С. Если подключаюсь из сторонней проги - все дергает, нет проблем.
#49
by DmitrO
как думаете, если на тех серверах обновят конфигурацию какой нибудь базы, ваш новый кластер об этом узнает? сбросит кеши? а регламентные задания? а менеджер блокировок? :)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Доступ к представлениям строк в таблице формы УФ
- Ограничение на выбор определенных типов данных,в таб части документа
- Отчет "Ведомость по учету стоимости материалов в эксплуатации". Нет суммы.
- Внешняя обработка заполнения табличной части 8.3
- Обновление платформы клиент-серверной 1С 8.3.5.1186
- 1с как экспортированный запрос достат по уровенем
- Как программно добавить отбор в динамический список на УФ 8.3?
- С какого релиза 8ки (2,0) перестали вкладывать правила обмена с 7кой (перехода)?
- Закрытие месяца. Предлагает перепровести документы за 2 года...
- Веб-Сервис 1С. Сервис не найден.
- Выборка данных посредством прямого доступа к dbf файлам 1с77
- 1С 8.3. СКД не считает количество детальных записей в иерархии группировки
- Количество экземпляров при печати внешней печатной формы
- Открыть вторую форму внешней обработки 8.3
- ЗУП 3.0 Принимать Исчисленный НДФЛ как удержанный
- Найти документ по номеру 1с 8.3
- УФ. "Текущая строка" сбивается при удалении строки.
- Метод объекта не обнаружен, хотя он есть
- ЗУП, увольнение прогульщиков
- Процедура отмены проведения