Доброго времени суток,

Пожалуйста, помогите с решением следующей задачи: 2 базы 1С 8.3.12.1412, управляемые формы, подключение между базами через COMConnector:

```1c
    &НаКлиенте
    Процедура Подключить()
    БазаУправленка=Новый COMОбъект("V83.COMConnector");
    Попытка
    БазаУправленка.Connect("Srvr = "ххх";Ref = "хх"; Usr = "хх"; Pwd = "хх"");
    Исключение
    Возврат;
    КонецПопытки;

    Касса = БазаУправленка.Справочники.Кассы;
    КонецПроцедуры
```

Как результат COMОбъект живой, но при попытке доступа к БазаУправленка.Справочники.Кассы, выдает сообщение об ошибке «Поле объекта не обнаружено (Справочники)». Тоже с БазаУправленка.NewObject("Запрос"). При этом в журнале регистрации удаленной базы имеется запись о начале, успешной аутентификации и последующем завершении сеанса, все одним временем, секунда в секунду.

Где грабельки? Тыкните, пожалуйста, носом.
---
Вам сначала нужно поместить полученное подключение в переменную, и возвращать уже ее:
---
В исключение нужно не возврат писать, а сообщение об ошибке.

```1c
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Не удалось подключиться к базе" + ОписаниеОшибки();
    Сообщение.Сообщить();
```

Может кэш почистить.

Что-нибудь такое работает, ниже?

```1c
    Док = БазаУправленка.Документы.ПлатежноеПоручение.СоздатьДокумент();
```
---
Переделайте следующим образом:

```1c
    &НаКлиенте
    Процедура Подключить()
    БазаУправленка=Новый COMОбъект("V83.COMConnector");
    Попытка
    Подключение = БазаУправленка.Connect("Srvr = "ххх";Ref = "хх"; Usr = "хх"; Pwd = "хх"");
    Исключение
    Сообщить(ОписаниеОшибки());
    КонецПопытки;

    Касса = Подключение.Справочники.Кассы;
    КонецПроцедуры
```
---
&НаКлиенте - вы даже свои справочники не увидите, а уж в подключенной базе и подавно.
---
Верное замечание, соединение нужно возвращать на клиенте, а дальнейшие операции производить на сервере

```1c
    &НаСервере
    Процедура КомандаВыполнитьНаСервере()

    Соединение = УстановитьCOMСоединение();
    Касса = Соединение.Справочники.Кассы;

    КонецПроцедуры

    Функция УстановитьCOMСоединение()

    Попытка
    Коннектор = Новый COMObject("V83.COMConnector");
    Соединение = Коннектор.Connect("Srvr = "ххх";Ref = "хх"; Usr = "хх"; Pwd = "хх"");
    Возврат Соединение;
    Исключение
    ТекстСообщенияОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
    ВызватьИсключение ТекстСообщенияОбОшибке;
    КонецПопытки;

    КонецФункции
```
---
Нет-нет, всё на сервере.
В Вашем примере функция кстати тоже выполняется на севере, по умолчанию, т.к. не указано &НаКлиенте.
---
:) Действительно, я сегодня не в себе
Но по крайней мере код должен быть рабочий))
---
&НаКлиенте - вы даже свои справочники не увидите, а уж в подключенной базе и подавно.
Да свои не увидит,
а у базы в ком соединении, независимо откуда к ней подключились, там свой сервер..и все объекты там доступны.
---
Передал модуль, запускаю &НаСервере, СОМОбъект живой, но снова, ни через NewObject, ни через Справочники, ни через Документы, доступа к объектам удаленной базе нет, сообщение об ошибке «Метод объекта не обнаружен»

```1c
    &НаСервере
    Функция ПодключениеКУдаленнойБазе()
    БазаУправленка=Новый COMОбъект("V83.COMConnector");
    Попытка
    БазаУправленка.Connect("Srvr="ххх"; Ref="хх"; Usr="хх"; Pwd="хх";");
    Исключение
    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр(
    "ru='Произошла ошибка подключения к базе'; "));
    БазаУправленка = Неопределено;
    КонецПопытки;

    Возврат БазаУправленка;
    КонецФункции

    &НаСервере
    Процедура ПодключитьсяСервер()
    БазаУправленка = ПодключениеКУдаленнойБазе();
    Запрос = БазаУправленка.NewObject("Запрос");
    Запрос.Текст = "ВЫБРАТЬ
    | Кассы.Ссылка КАК Ссылка,
    | Кассы.Наименование КАК Наименование
    |ИЗ
    | Справочник.Кассы КАК Кассы";

    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    ….
    КонецЦикла;
    БазаУправленка = Неопределено;
    КонецПроцедуры
```

То ли я, то ли лыжи... Несколькими годами раньше, на обычных базах, я десятки документов и справочника переносил, буду пробовать через V83.Application
---
```1c
    &НаСервере
    Функция ПодключениеКУдаленнойБазе()
    БазаУправленка=Новый COMОбъект("V83.COMConnector");
    Попытка
    МойКоннектор = БазаУправленка.Connect("Srvr="ххх"; Ref="хх"; Usr="хх"; Pwd="хх";");
    Исключение
    ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр(
    "ru='Произошла ошибка подключения к базе'; "));
    БазаУправленка = Неопределено;
    КонецПопытки;

    Возврат МойКоннектор;
```
---
подключение похоже к другой базе не проходит, вы вот так сделайте:

```1c
    БазаУправленка = ПодключениеКУдаленнойБазе();
    Если БазаУправленка = Неопределено Тогда
    Возврат;
    КонецЕсли
    Запрос = БазаУправленка.NewObject("Запрос");
```
---
Вам сначала нужно поместить полученное подключение в переменную, и возвращать уже ее:
---
разница между

```1c
    БазаУправленка.Connect("Srvr="ххх"; Ref="хх"; Usr="хх"; Pwd="хх";");
```

и

```1c
    БазаКом =БазаУправленка.Connect("Srvr="ххх"; Ref="хх"; Usr="хх"; Pwd="хх";");
```

в том, что в первом случае(в вашем коде), вы создаете ком-объект с базой, но никуда его не помещаете, поэтому не можете к нему обратиться, а если вы поместите его в переменную, как в указанном примере, то в ней уже будет содержаться "ваша база" и соответственно можно будет обращаться к ее объектам.
---
Вот это я затупил! Bene_Valete, огромная благодарность, за подсказку! Также благодарю всех откликнувшихся за участие.
---
Пожалуйста, рада помочь :)
---
Похожая ошибка:
Метод объекта не обнаружен (NewObject)
 ЗапросCOM = Подключение.NewObject("Запрос");

Но только у меня com объект создается без проблем:
 , а вот запрос не хочет создавать через ком.