Имя: Пароль:
1C
 
Не получается подключиться через com
0 vv2304
 
19.05.26
08:31
Обработка через COMConnector подключалась к другим базам. Прекрасно работало когда все было на одном сервере.
COMСоединитель = Новый COMОбъект("V83.COMConnector");
СоединениеСАгентом  = COMСоединитель.ConnectAgent(127.0.0.1);
После того как пользователей перевели на отдельный сервер,работать перестало. Хотя вроде все правильно переписал. Теперь так
СоединениеСАгентом  = COMСоединитель.ConnectAgent("ххх-srv-1c");
Кластеры = СоединениеСАгентом.GetClusters().Выгрузить();
СоединениеСАгентом.Authenticate(Кластеры[0], АдминистраторКластера, ПарольКластера);
Пишет "Администратор кластера не аутентифицирован"
админ и пароль не менялись, в консоль ведь вхожу нормально.
Подскажите, где ошибка ?
1 spiller26
 
19.05.26
08:38
(0)
1.Зачем вам подключение к другим базам?
2. Базы на УФ или ОП?
3. Почему через com?
2 2S
 
19.05.26
08:47
(1) Странные вопросы, хозяин-барин, значит так надо ему.
(0) Кластеры[0] что возвращает?
3 vv2304
 
19.05.26
09:18
(2) ComОбъект. ХостНейм = ххх-srv-1c
4 spiller26
 
19.05.26
09:27
(2) А вообще зачем ему кластеры?
5 spiller26
 
19.05.26
09:29
(3) Пробуй по другому, вот тебе функция

Функция УстановитьCOMПодключениеСБазойДанных1С(пСервер, пИмяБазыДанных, пКаталогБД, пСерверная, пПользователь, пПароль) Экспорт
    
    COM_Соединение = Неопределено;
    Попытка                                                                 
        СистемнаяИнформация = Новый СистемнаяИнформация;    
        ВерсияПлатформы = Лев(СистемнаяИнформация.ВерсияПриложения,3);
        
        Если ВерсияПлатформы = "8.3" Тогда
            ВерсияПлатформыСтрока = "V83";
        Иначе
            ВерсияПлатформыСтрока = "V82";
        КонецЕсли;
        
        V8 = Новый COMОбъект(ВерсияПлатформыСтрока + ".COMConnector");
        
        Если пСерверная Тогда
            СтрокаПодключения =
            "Srvr="""         + пСервер            +
            """; Ref="""     + пИмяБазыДанных     +
            """; Usr="""     + пПользователь     +
            """; Pwd="""     + пПароль            +"""";                        
        Иначе
            СтрокаПодключения = "file='" + пКаталогБД + "'; usr='" + пПользователь + "'; pwd='" + пПароль + "';";
        КонецЕсли;
        
        COM_Соединение = V8.Connect(СтрокаПодключения);
        
        Возврат COM_Соединение;
    Исключение
        Сообщение = Новый СообщениеПользователю;
        Сообщение.Текст = ОписаниеОшибки();
        Сообщение.Сообщить();
        Возврат Неопределено;
    КонецПопытки;
    
КонецФункции // УстановитьCOMПодключениеСБазойДанных1С()
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший