Имя: Пароль:
1C
1С v8
COM подключение 8.2 --> 8.3
,
0 alex-ander-777
 
12.03.15
18:18
Есть два сервера. На одном 8.2, на другом 8.3.

Попытка подключиться COM`ом с платформы 8.2 к любой базе на 8.3 приводит к падению базы на сервере 8.2.

Ошибка возникает в момент подключения.
    СтрокаПодключения = "Srvr=" + Сервер+"; Ref=" + База+"; Usr=" + Логин+"; Pwd =" + Пароль;
    cntr= Новый COMObject("v83.COMConnector");
    connection= cntr.Connect(СтрокаПодключения);

Видимо, проблема с v83.COMConnector.
Если на клиентском компе стоит и 8.2, и 8.3, то одна и та же обработка нормально работает на 8.3 и валит прогу на 8.2.
Перевести базы с платформы 8.2 на 8.3 пока нет возможности.


Вопрос, как можно подключиться из БД на 8.2 к БД на 8.3?
1 Гёдза
 
12.03.15
18:19
на сервере или на клиенте?
2 alex-ander-777
 
12.03.15
18:20
Да хоть как. Предпочтительно на клиенте.
3 Гёдза
 
12.03.15
18:22
валится где?
4 DS
 
12.03.15
18:23
(2) Устанавливаются обе платформы. Регистрируется компонента той версии, к которой необходимо подключаться.
5 alex-ander-777
 
12.03.15
18:43
(4) Попробую повожусь, но пока, как было уже сказано:
==========================================
Если на клиентском компе стоит и 8.2, и 8.3, то одна и та же обработка нормально работает на 8.3 и валит прогу на 8.2.
============================================


Такое впечатление, что дело не в том, что там в виндовом реестре прописано...
6 alex-ander-777
 
12.03.15
18:45
(3) на клиенте валится. Причем на компе стоят обе платформы.
7 ДенисЧ
 
12.03.15
19:36
Откуда такой идиотизм берётся... Что за манера лезьть в базу другой версией программы...
Вот 1с и старается по мере возможности блокировать и отшибать руки всяким там гореписателям...
8 etc
 
12.03.15
21:27
> как можно подключиться из БД на 8.2 к БД на 8.3
в коде конфы 8.2 создать объект COMConnector 8.3, подключиться им к базе 8.3 и работать с её данными.
Вот это вообще не понял:
> Если на клиентском компе стоит и 8.2, и 8.3, то одна и та же обработка нормально работает на 8.3 и валит прогу на 8.2.
На клиентском компе должна быть зарегистрирована компонента ком-коннектора 8.3. Это достаточное условие.
9 lamme
 
12.03.15
22:33
вот так попробуй. там разные версии комконнектора идут


Функция СоздатьПодключение1С8_COM (ПараметрыПодключения, Результат, ТекстСообщения) Экспорт
    
    СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();
    
    СистемнаяИнфо = Новый СистемнаяИнформация;
    ПодстрокиВерсии = ОбщегоНазначенияOCS.РазложитьСтрокуВМассивПодстрок(СистемнаяИнфо.ВерсияПриложения, ".");
    ИмяCOMСоединителя =  "v" + ПодстрокиВерсии[0] + ПодстрокиВерсии[1] + ".COMConnector";
    
    
    
    сомОбъект = Новый COMObject(ИмяCOMСоединителя);
    
    Попытка
        
        Подключение = сомОбъект.Connect(ПараметрыПодключения);
    исключение
          Подключение = ЛОЖЬ;
        сомОбъект = Неопределено;
        ИнформацияОбОшибке = ИнформацияОбОшибке();
        ТекстСообщения = ИнформацияОбОшибке.Описание;
    конецпопытки;
    
    
    Результат = Не (Подключение = Неопределено);
    Возврат Подключение;


    
конецфункции
10 alex-ander-777
 
12.03.15
22:48
(7) Высказался? молодец, иди отдыхай.
11 alex-ander-777
 
12.03.15
22:56
(8)
в коде конфы 8.2 создать объект COMConnector 8.3, подключиться им к базе 8.3
========================================
Создаю, пытаюсь подключиться, 1С клиент вылетает нах.


Вот это вообще не понял
=============================================
Чего непонятного? На компе установлены клиенты и 8.2, и 8.3. 8.3 устанавливалась после 8.2
Запускаю любую конфу на 8.3, из неё обработкой по COM подключаюсь к базе, которая крутится на сервере 8.3 - всё нормально.
Запускаю любую конфу на 8.2, из неё обработкой по COM подключаюсь к базе, которая крутится на сервере 8.3 - клиентская 1с падает нах.
12 Infsams654
 
13.03.15
08:27
(11) dll-ка не та хватается. Попробуй запускаться не через 1cestart.exe, а прямо из каталога bin платформы. Там лежат dll именно той версии, которая будет запускаться
13 DrZombi
 
гуру
13.03.15
08:50
(0) Используй ОЛЕ, что так привязались к этому комку :)
14 DrZombi
 
гуру
13.03.15
08:52
(7) Больше всего вопрос к той же 1С - "До коли такое ограничение??!!!" :)
15 DrZombi
 
гуру
13.03.15
08:55
(11) У 1С всегда с этим криво работало :)
Хочешь использовать ком-ок, то соизвольте использовать одну и туже версию платформы.
16 alex-ander-777
 
13.03.15
09:07
(12) Да я эту dll-ку и регистрировал, и засовывал в bin старой версии...

А прямо из каталоги bin платформы не получается - "несоответствие версий клиента и сервера".
17 alex-ander-777
 
13.03.15
09:10
(15) Да естественно, всё будет переведено на одну платформу. Но ПОКА нет такой возможности.