Здравствуйте!
Пытаюсь подключиться к ИБ УПП через OLE соединение и прочитать номенклатуру к примеру.

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

    V82COMConnector = Новый COMObject("V83.Application");
    Попытка
    Base1С = V82COMConnector.Connect("File="путь";Usr="юзер";Pwd="пароль";");
    Исключение
    сообщить("Ошибка!");
    возврат;
    КонецПопытки;

    СсылкаНаОбъект = Base1С.Справочник.Номенклатура.НайтиПоКоду("00000010000");

    Если Не ЗначениеЗаполнено(СсылкаНаОбъект) Тогда
    Сообщить("Не найден документ!");
    Возврат;
    Иначе
    сообщить("ура!");
    КонецЕсли;

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

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

приложение открывает! но на моменте
СсылкаНаОбъект = Base1С.Справочник.Номенклатура.НайтиПоКоду("00000010000");

 пишет:
Значение не является значением объектного типа (Справочник)
 СсылкаНаОбъект = Base1С.Справочник.Номенклатура.НайтиПоКоду("00000010000");

при этом в отладчике:
Base1С = истина

Что не так делаю?? и почему Base1С = истина, а не может прочитать справочник??

Пысы: из базы ерп хоче прочитать справочники в упп (1С:Предприятие 8.3 (8.3.15.1830))
---
все понятно, не внимательно прочел код соединения

смотрите, вы используете Application для подключения
при этом в Base1С вернется Истина или Ложь, в зависимости от того, успешно подключение прошло или нет
у вас Истина возвращает, значит подключаетесь к базе, все ок
но дальше вы пытаетесь работать с Application как с COMConnector, что неверно
вам надо использовать не Base1С.Справочники, а V82COMConnector.Справочники

как-то так

```1c
    &НаСервере
    Процедура ВыполнитьНаСервере()
    Подключено = Ложь;

    _COMConnector = Новый COMObject("V83.Application");
    Попытка
    Подключено = _COMConnector.Connect("File="путь";Usr="юзер";Pwd="пароль";");
    Исключение
    Сообщить("Ошибка подключения к базе!");
    Возврат;

    КонецПопытки;

    Если Подключено Тогда

    СсылкаНаОбъект = _COMConnector.Справочники.Номенклатура.НайтиПоКоду("00000010000");

    Если Не ЗначениеЗаполнено(СсылкаНаОбъект) Тогда
    Сообщить("Не найден документ!");
    Возврат;
    Иначе
    сообщить("ура!");
    КонецЕсли;
    КонецЕсли;

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

    &НаКлиенте
    Процедура Выполнить(Команда)
    ВыполнитьНаСервере();
    КонецПроцедуры
```
---
Справочники (во множественном числе)
---
исправила, сохранила. перезапустила обработку.. но все равно та же ошибка! как ни странно.
---
либо не то сохранили , либо не ту обработку открываете
---
100% эту!
я в адеквате) дважды проверила.
---
замените "Base1С" на что-то другое, даже на тоже "_Base1С"
не может соединение возвращать логический тип в результате подключения
скорее всего попали на зарезервированное имя переменной, оттого и ошибка
---
поменяла.. и все так же..
---
У меня так работает (&НаКлиенте):

```1c
    ПараметрыПодключения = "Srvr="" + ИмяСервера + "";Ref="" + ИмяБазы + "";Usr="" + ИмяПользователя + "";Pwd="" + Пароль + "";";
    V82COMConnector = Новый COMОбъект("V83.COMConnector");
    Base1С = V82COMConnector.Connect(ПараметрыПодключения);
    Запрос = Base1С.NewObject("Запрос");
    ....
```

Update: немного исправил. код из разных мест собирался, поэтому изначально неправильно было.
---
все понятно, не внимательно прочел код соединения

смотрите, вы используете Application для подключения
при этом в Base1С вернется Истина или Ложь, в зависимости от того, успешно подключение прошло или нет
у вас Истина возвращает, значит подключаетесь к базе, все ок
но дальше вы пытаетесь работать с Application как с COMConnector, что неверно
вам надо использовать не Base1С.Справочники, а V82COMConnector.Справочники

как-то так

```1c
    &НаСервере
    Процедура ВыполнитьНаСервере()
    Подключено = Ложь;

    _COMConnector = Новый COMObject("V83.Application");
    Попытка
    Подключено = _COMConnector.Connect("File="путь";Usr="юзер";Pwd="пароль";");
    Исключение
    Сообщить("Ошибка подключения к базе!");
    Возврат;

    КонецПопытки;

    Если Подключено Тогда

    СсылкаНаОбъект = _COMConnector.Справочники.Номенклатура.НайтиПоКоду("00000010000");

    Если Не ЗначениеЗаполнено(СсылкаНаОбъект) Тогда
    Сообщить("Не найден документ!");
    Возврат;
    Иначе
    сообщить("ура!");
    КонецЕсли;
    КонецЕсли;

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

    &НаКлиенте
    Процедура Выполнить(Команда)
    ВыполнитьНаСервере();
    КонецПроцедуры
```
---
спасибо большое!
поняла. исправила..
---
а приложение само открывается постоянно. подскажите, нельзя не открывая его, обращаться к данным??
---
через Application нет, будет открываться
через COMConnector можно, откроется в фоне соединение, в конце работы присвоите ему Неопределено и оно прибьется
---
спасибо!
---
У вас ругается именно на Справочники? или в ошибке осталось так как и было "Справочник"?
Иногда остаются какие-то данные в кеше и открывается старая обработка. Либо забыли нажать сохранить... Мне в некоторых случаях даже приходилось перезапускать 1С чтобы обработка обновилась. А если эта обработка еще и загружена в какие-нибудь дополнительные отчеты и обработки, то вообще проблема с отладкой..
---
я поняла вас.
но дело в том, что изначально, до написания темы на форуме, у меня было написано правильно Справочники. и обработка не выполнялась! потом, я поменяла на Справочник (подумала может не Справочники...).. и тоже не работало.. и поэтому отписалась уже на форуме.. а вернуть обратно на Справочники забыла! но и так и эдак.. не работает! рестарт сделала! клянусь!
уже не знаю какой бубен доставать.. прошу о помощи у гуру!
---
Попробуйте еще заменить V83.Application на V83.COMConnector. у меня через него работает. Вообще странно, что Base1С содержит ИСТИНА в отладчике.
---
тоже меняла. почитав статьи на просторах интернета..

если V82COMConnector = Новый COMObject("V83.COMConnector");
 то выдает :
-2147221164(0x80040154): Класс не зарегистрирован
{ВнешняяОбработка.КВ_обработка1.Форма.Форма1.Форма(7)}: V82COMConnector = Новый COMObject("V83.COMConnector");
{ВнешняяОбработка.КВ_обработка1.Форма.Форма1.Форма(28)}: ВыпоонитьНаСервере();

по причине:
-2147221164(0x80040154): Класс не зарегистрирован

пробовала зарегить компоненту
regsvr32 "C:\Program Files\1cv8\8.3.15.1830\bin\comcntr.dll"
- пишет, что модуль загружен, но не удалось выполнить вызов DllRegisterServer... ля-ля-ля..

далее делать это не стала https://v8book.ru/public/400951/

ну думаю может и надо..
---
пробовала и V82COMConnector = Новый COMObject("V83.COMConnector");

почитала, что может быть не зарегистрирован модуль
regsvr32 "C:\Program Files\1cv8\8.3.15.1830\bin\comcntr.dll"

выдает, что модуль этот загружен. но не удалось выполнить вызов DllRegisterServer... ля-ля-ля..
делать https://v8book.ru/public/400951/ я не стала.. пока..
я вот тоже сначала усомнилась правильно ли возвращаемое значение ИСТИНА.. но судя по статье https://infostart.ru/public/83859/ булево - это верный тип.. исправьте, если не так