1с comconnector произошла ошибка 80110802

Обновлено: 27.01.2023

В организации, где я сейчас работаю, для обмена данными между базами 1С широко используется механизм COM. Пока все рабочие базы работали на одном сервере, проблем с этой технологией не было. Организация растет, часть баз уехала на другой сервер, и, когда типовые конфигурации потребовали срочного обновления платформы, на одном из серверов установили сервер приложений одной из последних версий. По некоторым технологическим причинам быстро обновить платформу на втором сервере не представлялось возможным, и интеграция между базами расположенными на разных серверах встала.

Пришлось искать решение. Я имею представление о принципах работы технологии COM (безотносительно к 1С) и посчитал, что есть шанс решить проблему.

До тех пор я «знал», что нельзя заставить COM работать с разными версиями платформы, и не удосужился проверить эту информацию. Статьи на инфостарте нашел уже в ходе своих экспериментов, когда разбирался с ошибками. Тем не менее, решил написать статью с пошаговым руководством, позволяющим избежать все известные мне ошибки.

В ходе эксперимента возникали ошибки. При поиске решения этих ошибок наткнулся на хорошую статью «Параллельное использование нескольких версий COM control (несколько версий платформ)»; и сама статья и комментарии к ней мне очень помогли, но всех проблем решить не смогли.

Эксперименты проводились на виртуальной машине с установленной Windows Server 2012 R2 Standard (англоязычная). Сервер приложений не ставил. Экспериментировал с 32-х разрядной клиентской частью 1С. Для экспериментов написал простую обработку, которая позволяет задавать и сохранять в настройках параметры нескольких COM-подключений, с их помощью подключаться к базам и выполнять произвольный код для проверки корректности подключения. Обработка позволяет выбрать где будет создаваться подключение: на клиенте или на сервере. Обработку прикладываю.

Итак, вот что у меня получилось.

Чтобы не запутаться, приложения буду называть «Приложение1» и «Приложение2», компоненты «Компонент1» и «Компонент2» (само собой их может быть больше). Приложение1 и Компонент1 будут использоваться для подключения к базам на платформе 8.3.12.1595, а Приложение2 и Компонент2 – для 8.3.17.1851.

Порядок действий:

1. В проводнике правой кнопкой мыши по This PC -> Manage. Откроется окно «Server manager. Dashboard».

2. В правом верхнем углу этого окна Tools — > Component services. Откроется соответствующее окно.

3. В дереве левой части окна разворачиваем Console Root -> Component Sarvices -> Computers -> My Computer -> COM+ Applications.

4. Создание приложений.

a. В контекстном меню COM+ Applications в дереве -> New -> Application. Откроется мастер.

b. В окне приветствия жмем Next.

c. Выбираем «Create an empty application».

d. Вводим имя приложения для первого соединения COM. Я в имени использовал номер версии платформы.

e. Жмем Next, и на следующем шаге указываем, пользователя, от имени которого будет работать компонент (я использовал первый вариант, т.к. для эксперимента это не важно).

f. Жмем Next, и следующий шаг позволяет добавить роли, позволяющие работать с этим компонентом. Тут я ничего делать не стал.

g. Жмем Next, и можем в каждую из ролей предыдущего шага добавить конкретных пользователей. Тут также оставил все без изменений.

h. Жмем Next, затем Finish, и у нас есть Приложение1.

i. Аналогично создаем Приложение2.

j. Наше дерево в левой части окна выглядит примерно вот так:

5. Создаем компоненты.

a. Для Приложения1 вызываем контекстное меню для раздела Components –> New -> Component. Откроется мастер установки компонентов.

b. На странице приветствия нажимаем Next, и на следующем шаге выбираем «Install new component(s)».

c. Откроется диалог выбора файла, в котором мы указываем путь к файлу comcntr.dll соответствующей версии.

d. Жмем Next, затем Finish, и у нас появляется новый компонент с названием по умолчанию.

e. Во многих статьях рекомендуют открыть Properties этого компонента и правильно установить настройки безопасности. У меня работает и так, поэтому не буду ничего делать.

f. Жмем правой кнопкой мыши по этому компоненту и в контекстном меню выбираем «Alias…». Откроется инструмент, позволяющий создать копию этого компонента с новыми ProgID и CLSID.

g. В открывшемся окне указываем название нового компонента (я использовал в названии часть номера релиза платформы). Список в левой части окна («Please select a destination») показывает, в каком приложении будет располагаться наша копия, проверяем, что она остается в Приложении1 и жмем OK.

У нас есть Компонент1.

h. Создаем новый компонент повторяя шаги f и g еще раз, но в названии используем номер другого релиза платформы и в левой части окна указываем, что вторая копия будет располагаться в Приложении2. У нас есть и Компонент2.

i. Структура наших приложений и компонентов теперь выглядит так:

j. Осталась небольшая проблема: все наши компоненты ссылаются на одну и ту-же dll. Для её решения вызываем контекстное меню Компонент2, открываем Properties и копируем CLSID.

k. Запускаем regedit и ищем в дереве узел соответствующий CLSID из предыдущего пункта и содержащий в себе подузел InprocServer32.

l. Путь указанный в значении (Default) меняем на путь к comcntr.dll версии, соответствующей Компонент2.

m. Закрываем regedit.

6. Можем проверить COM-соединения с помощью приложенной обработки.

Обработка для проверки.

Интерфейс обработки прост. По нажатии кнопки «Проверить соединение» выполняется попытка создать соединение с параметрами, указанными в текущей строке, и выполнить код прописанный в поле «Код проверки».

Почему сделано именно так:

2. Создаем отдельные приложения для каждой версии платформы. Если компоненты разных версий размещать в одном приложении, то при последовательном использовании разных компонентов, выдается ошибка «-2147024769(0x8007007F): The specified procedure could no be found.».

Видимо, первый из используемых компонентов как-то кэшируется, и второй перестает работать.

При обмене с базами возникает ошибка:
При попытке подключения к информационной базе произошла ошибка:
Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса: Недопустимая строка с указанием класса

Решение ошибки подключения через COM
Все что нам надо это выполнить регистрацию COM-соединения.
Вот что говорит 1С: Программа установки сама выполняет регистрацию COM-соединения “ для компьютера”. Имеется возможность выполнить регистрацию «для пользователя» с помощью командной строки «regsvr32 /n /i:user comcntr.dll».

А вот как это сделал я с помощью командной строки и команды Regsvr32.
Пуск – Выполнить ввел команду Regsvr32 «C:Program Files1cv828.2.14.533bincomcntr.dll» и жмем Enter.

Regsvr32 – команда регистрирует в реестре файлы .dll как компоненты команды.
regsvr32 [/u] [/s] [/n] [/i[:cmdline]] имя_dll

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

У меня была такая беда, только текст ошибки другой:
При попытке соедиения с COM-сервером произошла следующая ошибка:
Метод объекта не обнаружен (Connect)

И тоже помогло :)
Блин, а я с бубном плясал во круг служб компонентов, настроек DCOM и все что на ум приходило :)

Для Win 7 нужно создавать файл с расширением bat или cmd и выполнять от имени администратора иначе ни чего не получится.

Господа Ошибка
-2147221005(0x800401F3): Недопустимая строка с указанием класса

: Ошибка при вызове конструктора (COMОбъект)
Эксель = Новый COMОбъект(«Excel.Application»);

вот код
______________________________________
Процедура КнопкаВыполнитьНажатие(Кнопка)
// Вставить содержимое обработчика.
Эксель = Новый COMОбъект(«Excel.Application»);
Эксель.WorkBooks.Open(Путь);
Эксель.Sheets(1).Select();
.
.
____________

Везде где мог зарегистрировал comcntr.dll и в службе компонентов под учеткой админ и в настройке компонента все ок поставилось . Проблема не решилась и клиент Толстый «Управляемое и обычный». ОС 7 х64 платформа х32 на х64 тоже ставил такая же беда . Права полные запуск под админом . файл открытия Excel разблокированный что не так?

У меня ошибка осталась проделал и в реестре и в компоненте под полными правами .
: Ошибка при вызове конструктора (COMОбъект)
Эксель = Новый COMОбъект(«Excel.Application»);

-2147221005(0x800401F3): Недопустимая строка с указанием класса
_____
Только вот на ноуте Excel не устанавливал для открытия файла этого! Надо или не надо его устанавливать . связь 1С и Excell есть какая нибудь по билиотекам

А Вы не можете подсказать решение проблемы?:
При попытке редактирования документа выскочила ошибка: «Ошибка СУБД. Внутренняя ошибка компоненты dbeng8». Документ невозможно ни откорректировать, ни пометить на удаление.

(4) Nadegda_P,
Если файловая база 1С:Предприятие 8, то что-то подобное разок случилось в ситуации, когда пользователь в уже ранее проведенном документе перезаполнял табличную часть. И в момент этих его действий выключилось питание.
В результате получилась такая картина:
— движения документа есть,
— в списке документов он виден,
— запросами через консоль запросов получается выбрать и реквизиты документа, и строки табличных частей,
— но при открытии формы документа выдается ошибка наподобие указанной Вами, с подробностями, в которых упоминается несуществующая строка табличной части. И программа закрывается.

Попытки вылечить документ ни к чему не привели, и пришлось применить обходной путь:
1. Движения документа удалили с помощью обработки типа «Корректировка движений документов» (на Инфостарте есть такие),
2. Реквизиты документа подправили с помощью, например, «Групповой обработки объектов» — так, чтобы было видно, что не надо трогать его.
3. Сделали новый документ взамен этого, и провели его. А старый так и лежит, и никому вроде не мешает.

Если бы существовал бэкап, содержащий этот документ в нормальном состоянии, можно было бы XML-обменом попробовать загрузить документ из бэкапа. Но не было такого бэкапа.

Если файловая база 1С:Предприятие 8, то что-то подобное разок случилось в ситуации, когда пользователь в уже ранее проведенном документе перезаполнял табличную часть. И в момент этих его действий выключилось питание.

В результате получилась такая картина:

— движения документа есть,

— в списке документов он виден,

— запросами через консоль запросов получается выбрать и реквизиты документа, и строки табличных частей,

— но при открытии формы документа выдается ошибка наподобие указанной Вами, с подробностями, в которых упоминается несуществующая строка табличной части. И программа закрывается.

Попытки вылечить документ ни к чему не привели, и пришлось применить обходной путь:

1. Движения документа удалили с помощью обработки типа «Корректировка движений документов» (на Инфостарте есть такие),

2. Реквизиты документа подправили с помощью, например, «Групповой обработки объектов» — так, чтобы было видно, что не надо трогать его.

3. Сделали новый документ взамен этого, и провели его. А старый так и лежит, и никому вроде не мешает.

Если бы существовал бэкап, содержащий этот документ в нормальном состоянии, можно было бы XML-обменом попробовать загрузить документ из бэкапа. Но не было такого бэкапа.

ага, еще бы на SQL бы перевести базу, вообще цены бы вам не было )

(8) WKBAPKA,
Мы тоже не в деревне родились, и про клиент-серверный вариант работы с 1С знаем.
У меня на поддержке есть и базы файловые, и клиент-серверные в достаточном количестве.
В сети той организации, у которой эта проблема случилась, не было установленного 1С-сервера и SQL-сервера, и серверное железо не подходило для такого режима работы.
Да и пользователей в этой организации не столько, чтобы было необходимо переходить на вариант работы через сервер 1С-Предприятия.

Поэтому, раз проблема была только в одном этом документе, было сделано то, что я описал выше.

(4) Nadegda_P, решением для вас будет файл chdbfl.exe который лежит в папке BIN.
в смысле? у мну на домашней машине стоит 2005 скуль. и машина у меня не серверная.
вы бы могли эту базу вообще не поднять, там же один файл. в случае разрушения его, все, капут.
другой вопрос, что нужно покупать 1С сервер. это да. тока думаю, что они уже раза три как переплатили за ваши услуги. но то такое. не мое дело конечно.
Если пользователей не много то и железо для сервака не нужно суперское. В одной конторе 5 пользователей, стоит обычный комп проц уже не помню, но с 2 гб. оперативы, SentOS+PostgreSQL+1C все нормально работает уже 3 года.
Недавно обновлял платформу и 2 дня работали в файловом варианте, так все кричали что все ужасно тормозит.
не особо силен в консольных командах, возьму на заметку. Спасибо!

Еще в профилях пользователей C:Documents and Settings….Application Data1C1CEStart1CEStart.cfg изменяем параметр UseHWLicenses=0 на UseHWLicenses=1

Отпишись ели получится

Garik8866; dante; AKV77; user895546; CratosX; user1042924; ch1mera; quNas; kondr1221; wolder; DrVitaly; mnb-next; Pavel_NT; rus_alexey; nano1c; 77dream77; StAlf; BoryaMbi; emilliya; blich; collider; sv_dima; Z_Z; Dimka74; EugeneMal; vikvikmag; barelpro; 1379511; mi0999; Татьяна_69; Xytras; busy1; alimuslim; Sh00rick; mousesport; markela; Alexion; aronskiy; sergsqr; swflash; Apolonov-Erik; smolyakov; Jon2011; Glukaman; FSerg; bar_s; + 46 – Ответить
(15)
Спасибо, то что нужно — помогло! Только я думаю надо добавить, что компоненту ещё надо запустить!

(15)
хотя у меня просто после обновления платформы перестало подключаться из базы в базу.

я попробовал.
вот только «Поставил галку «Применить политику программных ограничений» — Уровень ограничений «Неограниченный»» не нашел.
но стало наверное еще хуже.
стало примерно так «. метод Подключить не обнаружен . «

удалил Ветку V82COMConnector . и все заработало. вот только не знаю. после перезагрузки сервера что будет.
и это из Бухгалтерии 2.0 в Комплексную автоматизацию.

Но вот основную то необходимость из Бухгалтерии 2.0 в Докуметооборот сходу не получилось.
Пишет «При попытке создания обработки ОбменДаннымиXML произошла ошибка:: Поле объекта не обнаружено (ОбменДаннымиXML)»

ну есно! «Обработка.ОбменДаннымиXML» такого в ДО нет.
Чтож . будем шаманить дальше.

(15) Супер! Какой вы МОЛОДЕЦ! Столько времени промучалась с сервером! И как все просто решается! Спасибо огромное!

(15) Для Windows 7×64 у меня вот так получилось

в %systemroot%SysWoW64 нашел cmd.exe

далее клик на нем правой мышкой и открываю его из меню как администратор

открывается командное окно с путем: C:Windowssystem32

Далее RegSvr32 «С:Program Files (x86)1cv828.2.19.76bincomcntr.dll»

(15) яростно плюсанула 10 пальцами
давно пыталась решить проблему с этими коннекторами — особенно когда несколько разных платформ и выгрузка идет например с 8.2 торговли в 8.3 бухгалтерию
огромное СПАСИБО за такую подробную инструкцию.
первый вариант с regsvr32 не помогал
(15) , (77)
Спасибо, оба молодцы, хотя (77) выдал более подробную, пошаговую для «чайников» инструкцию.
Рекомендации работают .
Спасибо за то что написали об этом. Когда мне было нужно — нигде об этом не писалось. Было убито немерено времени.
Большое спасибо, сам сталкивался с такой проблемой, сломали голову, так и не смогли забороть. А сейчас попробовал и все получилось.

регистрация по новой этой dll не решило проблемы: платформа 1С:Предприятие 8.2 (8.2.13.219) — может есть еще решения проблемы.
З.Ы.
Платформу не целесообразно обновлять так как у меня распределенка — а новая платформа при изменении в конфигурации отправляет в файле обмена полностью файл конфигурации в подчиненные узлы. (по крайне мере была такая проблема)

Использовал, и очень даже неплохо получилось! Спасибо.

Манипуляция с компонентой не помогла.
Regsvr32 «C:Program Files1cv828.2.14.540bincomcntr.dll» делал результат ноль.
Платформу переставлял, тоже не помогло.

Какие будут идеи может с компонентой есть еще какая то настройка?

Как вариант, чтобы запустить cmd в windows 7 от имени администратора, можно запустить его из папки «C:WindowsSystem32» (в папке System32 есть файл cmd, который нужно запустить от имени администратора :)))
Автору респект, что поделился. Давно это проходил и, именно так решал проблему. Но не удосужился где-то зафиксировать.
Решил проблему с выгрузкой базы данных dbeng8. Спасибо!
а я просто платформу обновил, и у меня эта ошибка исчезла
(36) Ксалекс, просто при обновлении платформы зарегистрировалась библиотека comcntr.dll
Спасибо, оказалось полезней. Обычная регистрация компоненты тоже не спасала.

если не помог не один из двух вариантов, еще есть решение?
Win Server 2003 x64
1С 8.2
пытаюсь из ЗУП подключиться к УТ

При попытке соедиения с COM-сервером произошла следующая ошибка:
: Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса: Недопустимая строка с указанием класса
У меня компонента успешно регистрируется, однако ошибка все равно вылетает. Уже сносил компа старую и новую версию платформы, комп перезагружал.
Что еще может быть?
Мне тоже помогло, но только после того, как я ЗАШЕЛ в систему как Администратор.
Просто запуск от имени Администратора не помогал.
У меня Windows 7 64-битная
Обратите на это внимание, я убил на это 6 часов.
Воспользовался советом. Винда 64 разрядная, запустил cmd от имени администратора,
командная строка Regsvr32 «C:Program Files (x86)1cv828.2.19.90bincomcntr.dll». путь изменил на нужный в блокноте. все сработало
Спасибо! Помогла регистрация компоненты! Win server 2012 r2
Мне помогло в следующем случае:
на серваке стоит рабочая версия Бухгалтерии на платформе 8.2.17.143
Себе локально для разработки поставил наверх платформу 8.2.19.116, ибо в старой неприятный глюк с убеганием курсора в левый верхний угол. Но теперь при попытке COM-соединения с сервером от себя выскакивала ошибка несоответствия версий comcntr.dll на клиенте (у меня) и сервере (рабочая).
Зарегистрировал у себя regsvr32 «c:Program Files (x86)1cv828.2.17.143bincomcntr.dll» поверх 8.2.19.116 и соединение с сервером через COM теперь проходит.
+ Запуск от имени администратора. Может понадобится отключение антивирусов.
Был настроен обмен между ИБ комплексной конфигурации (КА).
После обновления конфигураций в двух базах при обмене выдал эту ошибку.
Воспользовался предложенной командой — обмен восстановился.
Огромное спасибо автору.
Начат обмен данными под полными правами на сервере 1С:Предприятия по настройке «Обмен с «1С:Бухгалтерия государственного учреждения 8 (начиная с версии 1.0.2)»» 08.12.2015 20:26:28
Завершен обмен данными под полными правами на сервере 1С:Предприятия по настройке «Обмен с «1С:Бухгалтерия государственного учреждения 8 (начиная с версии 1.0.2)»» 08.12.2015 20:26:30

Отслеживаю отладкой:
в Функция ПодключитсяКИнформационнойБазе

При «Проверке подключения» ТекCOMПодключение получаем COMОбъект
При «Выполнении обмена» ТекCOMПодключение получаем Неопределено
ОбъектПодключения в обоих случаях равен «V83.COMConnector»
В чем может быть проблема. Подскажите.
(60) as7bs,
Сразу не отписался, но лучше поздно.
Проблема была решена установкой сервера 1С заново. Предполагаю, что проблема возникла из за того, что возможно, когда первоначально обновляли сервер 1С в компонентах не включили «COM-соеденение». После новой установки сервера 1С ошибка пропала.
помогло, Но все же пляски с бубном пришлось совершать — и в «Службу компонентов» тоже слазить.
Ошибка возникает при установке новой версии платформы/сервера 1с
Решение:
1)Деинсталлировать технологические платформы предыдущих версий(если они не требуются вам для старых версий баз)
2)Переставить нужную тех. платформу(должна быть одинаковой версии с версией сервера, если есть сервер)
3)Произвести манипуляцию типа «regsvr32 «c:Program Files (x86)1cv828.2.17.143bincomcntr.dll»» или ее 64 разр аналог.
как на машине, так и на сервере

p.s. при этом regsvr как не хотел нормально её регить, так и не согласился. Но работает.

Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(13799)>: Ошибка при вызове конструктора

После этого начинает работать COM на стороне сервера x64.

set version=8.3.5.1625
set x64=C:Program Files1cv8%version%bincomcntr.dll
set x32=C:Program Files (x86)1cv8%version%bincomcntr.dll
set reg64=%systemroot%System32regsvr32.exe
set reg32=%systemroot%SysWoW64regsvr32.exe

%reg64% /i /s «%x64%»
%reg64% /u /s «%x32%»
%reg64% /i /s «%x64%»
%reg32% /u /s «%x64%»
%reg64% /i /s «%x64%»
%reg32% /u /s «%x32%»
%reg64% /i «%x64%»

Не могу вас не поблагодарить — 3 дня я мучался с запуском COM на сервере, только ваш совет помог!

В большинстве случаев никаких проблем с этой библиотекой не наблюдается — обновлятор сам автоматически регистрирует и использует библиотеку нужной версии 1с, но изредка возникают случаи (в основном на серверных ОС), когда требуются «пляски с бубном».

Как понять, что у нас проблемы с COM

Для этого нажимаем кнопку «Проверить настройки» удерживая клавишу «Shift» на клавиатуре:

При нормальной работе COM отчёт будет примерно таким:

При проблемах же с COM возникнет вот такая или похожая ошибка:

Ещё может писать, что -то типа » Не удалось создать программное подключение к 1С «.

Да, судя по тесту, у нас проблемы с COM

Прежде всего, о какой именно библиотеке идёт речь? Эта библиотека comcntr.dll, которая находится в папке bin конкретной платформы 1с:

Эта библиотека устанавливается и автоматически регистрируется в системе при установке платформы.

Кроме того, обновлятор перед тем как подключаться к базе через внешнее соединение сам дополнительно регистрирует в системе библиотеку из нужной версии платформы при помощи команды:

Итак, что мы можем предпринять?

Шаг №0

Обратите внимание на утилиту для отображения и регистрации библиотек RegDllView. При помощи неё вы как минимум сможете контролировать результат работы следующих шагов.

Шаг №1

Прежде всего убеждаемся, что у нас действительно проф-версия платформы, потому что для базовой версии платформы внешнее подключение к базам работать и не должно (это ограничение платформы).

Чтобы понять какая у нас платформа (базовая или проф) выполним вот этот пункт.

Если лицензия на платформу у нас всё же не проф, а базовая, то все остальные шаги не имеют смысла. Внешнее подключение к базам у нас работать не будет (из-за ограничений платформы). Ничего не остаётся, кроме как настроить базы вот так.

Шаг №2

Далее пробуем запустить обновлятор с правами администратора.

Если у вас включён UAC, то добиться этого можно, нажав на ярлыке обновлятора правой кнопкой, и выбрав вариант «Запуск от имени администратора».

Далее выбираем базу и нажимаем кнопку «Проверить настройки». Если ошибка пропала и больше не воспроизводится даже при обычном запуске обновлятора (без прав администратора) — поздравляю, проблема решена. Если нет — идём дальше.

Шаг №3

В 32-битной версии ОС пробуем выполнить команду

В 64-битной версии ОС команда будет такой:

— для регистрации 64-битной платформы 1С:

— для регистрации 32-битной платформы 1С:

Эти команды запускаем от имени пользователя с правами администратора. А при включённом UAC, запускаем cmd через «Запуск от имени администратора», либо через такой же запуск написанного батника.

Если команда регистрации не помогла, то нужно предварительно удалить регистрацию библиотеки comcntr.dll, запустив ту же команду вызова regsvr32 с ключом /u

Если этот шаг не помог — идём дальше.

Шаг №4

Похоже, что у обновлятора не получается зарегистрировать COM компоненту из-за настроек безопасности на вашем сервере.
В этом случае:

  1. Заходим в Панель управления — Администрирование — Службы компонентов.
  2. Переходим к ветке Компьютеры — Мой компьютер — Приложения COM+.
  3. В контекстном меню выбираем Создать — Приложение. Откроется Мастер установки приложений COM+.
  4. Нажимаем «Далее».
  5. Выбираем «Создать новое приложение».
  6. Вводим имя «V83COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».
  7. На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».
  8. Нажимаем «Готово».
  9. В появившейся ветке V83COMConnector переходим к подветке Компоненты.
  10. В контекстном меню выбираем Создать — Компонент. Откроется Мастер установки компонентов COM+.
  11. Нажимаем «Далее».
  12. Выбираем «Установка новых компонентов».
  13. Выбираем файл <каталог 1С>bincomcntr.dll.
  14. Нажимаем «Далее» — «Готово».
  15. Переходим к ветке V83COMConnector.
  16. В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность».
  17. Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».
  18. Нажимаем «ОК».

После этого обновлятор должен смочь самостоятельно регистрировать компоненты всех версий платформ, а не только той, которую мы прописали в компоненте.

Шаг №5

Бывает так, что помогает только повторная переустановка платформы (при этом происходит корректная регистрация компоненты).

Шаг №6

Если проблема начала возникать сразу после обновления платформы 1с, то вероятнее всего новой версии платформы 1с не хватает какого-нибудь сервиспака или обновления для вашей операционной системы. Поэтому если есть возможность — ставим их все, если нет — действуем выборочно согласно этой ссылке.

Шаг №7

Бывает так, что всё работает при обычном запуске обновлятора, но не работает при запуске с повышением привилегий до администратора, когда вы запускаете обновлятор через пункт меню «Запустить от имени администратора» или из программы (типа TotalCommander), которая сама запущена с повышенными привилегиями.

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Если фоновый процесс COM-соединения завершается с ошибкой:

: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Invalid class string

Нужно зарегистрировать библиотеку ComConnector comcntr.dll из каталога программы.

. Перед этим нужно отключить службу агента сервера 1С:Предприятия и все программы, использующие эту DLL .

При удачном выполнении Вы увидите:

Разместил: all4cf  Версии: | 8.2 УП | 8.3 |  Дата: 05.09.2016   Прочитано: 215656

Распечатать

Похожие FAQ

Еще в этой же категории

Ключевые слова и Изображения

Слова упорядочены по частоте использования в тексте

Изображения

Первым делом необходимо зарегистрировать DLL в системе

В случае, если не помогает — создаём коннектор руками:

•Заходим в Панель управления — Администрирование — Службы компонентов.

•Переходим к ветке Компьютеры — Мой компьютер — Приложения COM+.

•В контекстном меню выбираем Создать — Приложение. Откроется Мастер установки приложений COM+.

•Выбираем «Создать новое приложение».

•Вводим имя «V83COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».

•На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».

•В появившейся ветке V83COMConnector переходим к подветке Компоненты.

•В контекстном меню выбираем Создать — Компонент. Откроется Мастер установки компонентов COM+.

•Выбираем «Установка новых компонентов».

•Нажимаем «Далее» — «Готово».

•Переходим к ветке V83COMConnector.

•В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность».

•Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».

Бывало так, что вместо Текущий пользователь нужно прописать USR1CV8

Читайте также:

  • Driver installation module что это
  • Ошибки при загрузке больничного в 1с
  • Microsoft edge xbox one вылетает
  • Microsoft edge сохранить видео
  • Как поставить пикеты в автокаде
  • Remove From My Forums
  • Question

  • Hi,

    We are migrating the COM components to .NET. For the existing legacy clients we created CCW and registered with regasm. CCW works fine with classis ASP clients. But we have some .NET clients which were accessing COM components through RCW. Those clients
    are failing with error «Retrieving the COM class factory for component with CLSID XXX failed due to the following error: 80110802.» Basically RCW wrappper using CCW to interact with .NET code. Is this ok? We want existing clients both ASP and .NET should work
    without any changes.

    Please help.

    Thanks!

    • Moved by

      Thursday, July 22, 2010 3:51 AM
      (From:Visual Basic Interop and Upgrade)

Answers

  • Hi,

    Sorry for replying so late.

    As far as I know, early-binding cannot let a .NET client work with .NET COM server; for your question, we may need to recompile the .NET client, use late-binding to invoke the COM server. The
    CSCOMClient project of All-In-One Code Framework demonstrates how to call COM server using late-binding machanism, hope it can helps.


    Sincerely,
    Eric
    MSDN Subscriber Support in Forum
    If you have any feedback of our support, please contact
    msdnmg@microsoft.com.
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.

    • Marked as answer by
      eryang
      Tuesday, August 24, 2010 8:44 AM

ОС: Windows 7.
Комплекс АСКОН 2009: Лоцман V10

Проблема в следующем: при запуске справочника стандартных изделий — возникает ошибка: OLE Error 80110802, очень хотелось бы знать, что это за ошибка — это возврат к кодам ошибок: http://forum.ascon.ru/index.php/topic,13890.0.html

КОДЫ ОШИБОК НУЖНЫ! не каждый же раз лезть на форум!

При этом в параметрах указан нужный сервак для коннекта и проблем работы с ним на других машинах нет…

Обновлено: 08.04.2023

В организации, где я сейчас работаю, для обмена данными между базами 1С широко используется механизм COM. Пока все рабочие базы работали на одном сервере, проблем с этой технологией не было. Организация растет, часть баз уехала на другой сервер, и, когда типовые конфигурации потребовали срочного обновления платформы, на одном из серверов установили сервер приложений одной из последних версий. По некоторым технологическим причинам быстро обновить платформу на втором сервере не представлялось возможным, и интеграция между базами расположенными на разных серверах встала.

Пришлось искать решение. Я имею представление о принципах работы технологии COM (безотносительно к 1С) и посчитал, что есть шанс решить проблему.

До тех пор я «знал», что нельзя заставить COM работать с разными версиями платформы, и не удосужился проверить эту информацию. Статьи на инфостарте нашел уже в ходе своих экспериментов, когда разбирался с ошибками. Тем не менее, решил написать статью с пошаговым руководством, позволяющим избежать все известные мне ошибки.

В ходе эксперимента возникали ошибки. При поиске решения этих ошибок наткнулся на хорошую статью «Параллельное использование нескольких версий COM control (несколько версий платформ)»; и сама статья и комментарии к ней мне очень помогли, но всех проблем решить не смогли.

Эксперименты проводились на виртуальной машине с установленной Windows Server 2012 R2 Standard (англоязычная). Сервер приложений не ставил. Экспериментировал с 32-х разрядной клиентской частью 1С. Для экспериментов написал простую обработку, которая позволяет задавать и сохранять в настройках параметры нескольких COM-подключений, с их помощью подключаться к базам и выполнять произвольный код для проверки корректности подключения. Обработка позволяет выбрать где будет создаваться подключение: на клиенте или на сервере. Обработку прикладываю.

Итак, вот что у меня получилось.

Чтобы не запутаться, приложения буду называть «Приложение1» и «Приложение2», компоненты «Компонент1» и «Компонент2» (само собой их может быть больше). Приложение1 и Компонент1 будут использоваться для подключения к базам на платформе 8.3.12.1595, а Приложение2 и Компонент2 – для 8.3.17.1851.

Порядок действий:

1. В проводнике правой кнопкой мыши по This PC -> Manage. Откроется окно «Server manager. Dashboard».

2. В правом верхнем углу этого окна Tools — > Component services. Откроется соответствующее окно.

3. В дереве левой части окна разворачиваем Console Root -> Component Sarvices -> Computers -> My Computer -> COM+ Applications.

4. Создание приложений.

a. В контекстном меню COM+ Applications в дереве -> New -> Application. Откроется мастер.

b. В окне приветствия жмем Next.

c. Выбираем «Create an empty application».

d. Вводим имя приложения для первого соединения COM. Я в имени использовал номер версии платформы.

e. Жмем Next, и на следующем шаге указываем, пользователя, от имени которого будет работать компонент (я использовал первый вариант, т.к. для эксперимента это не важно).

f. Жмем Next, и следующий шаг позволяет добавить роли, позволяющие работать с этим компонентом. Тут я ничего делать не стал.

g. Жмем Next, и можем в каждую из ролей предыдущего шага добавить конкретных пользователей. Тут также оставил все без изменений.

h. Жмем Next, затем Finish, и у нас есть Приложение1.

i. Аналогично создаем Приложение2.

j. Наше дерево в левой части окна выглядит примерно вот так:

5. Создаем компоненты.

a. Для Приложения1 вызываем контекстное меню для раздела Components –> New -> Component. Откроется мастер установки компонентов.

b. На странице приветствия нажимаем Next, и на следующем шаге выбираем «Install new component(s)».

c. Откроется диалог выбора файла, в котором мы указываем путь к файлу comcntr.dll соответствующей версии.

d. Жмем Next, затем Finish, и у нас появляется новый компонент с названием по умолчанию.

e. Во многих статьях рекомендуют открыть Properties этого компонента и правильно установить настройки безопасности. У меня работает и так, поэтому не буду ничего делать.

f. Жмем правой кнопкой мыши по этому компоненту и в контекстном меню выбираем «Alias…». Откроется инструмент, позволяющий создать копию этого компонента с новыми ProgID и CLSID.

g. В открывшемся окне указываем название нового компонента (я использовал в названии часть номера релиза платформы). Список в левой части окна («Please select a destination») показывает, в каком приложении будет располагаться наша копия, проверяем, что она остается в Приложении1 и жмем OK.

У нас есть Компонент1.

h. Создаем новый компонент повторяя шаги f и g еще раз, но в названии используем номер другого релиза платформы и в левой части окна указываем, что вторая копия будет располагаться в Приложении2. У нас есть и Компонент2.

i. Структура наших приложений и компонентов теперь выглядит так:

j. Осталась небольшая проблема: все наши компоненты ссылаются на одну и ту-же dll. Для её решения вызываем контекстное меню Компонент2, открываем Properties и копируем CLSID.

k. Запускаем regedit и ищем в дереве узел соответствующий CLSID из предыдущего пункта и содержащий в себе подузел InprocServer32.

l. Путь указанный в значении (Default) меняем на путь к comcntr.dll версии, соответствующей Компонент2.

m. Закрываем regedit.

6. Можем проверить COM-соединения с помощью приложенной обработки.

Обработка для проверки.

Интерфейс обработки прост. По нажатии кнопки «Проверить соединение» выполняется попытка создать соединение с параметрами, указанными в текущей строке, и выполнить код прописанный в поле «Код проверки».

Почему сделано именно так:

2. Создаем отдельные приложения для каждой версии платформы. Если компоненты разных версий размещать в одном приложении, то при последовательном использовании разных компонентов, выдается ошибка «-2147024769(0x8007007F): The specified procedure could no be found.».

Видимо, первый из используемых компонентов как-то кэшируется, и второй перестает работать.

При обмене с базами возникает ошибка:
При попытке подключения к информационной базе произошла ошибка:
Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса: Недопустимая строка с указанием класса

Решение ошибки подключения через COM
Все что нам надо это выполнить регистрацию COM-соединения.
Вот что говорит 1С: Программа установки сама выполняет регистрацию COM-соединения “ для компьютера”. Имеется возможность выполнить регистрацию «для пользователя» с помощью командной строки «regsvr32 /n /i:user comcntr.dll».

А вот как это сделал я с помощью командной строки и команды Regsvr32.
Пуск – Выполнить ввел команду Regsvr32 «C:Program Files1cv828.2.14.533bincomcntr.dll» и жмем Enter.

Regsvr32 – команда регистрирует в реестре файлы .dll как компоненты команды.
regsvr32 [/u] [/s] [/n] [/i[:cmdline]] имя_dll

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

У меня была такая беда, только текст ошибки другой:
При попытке соедиения с COM-сервером произошла следующая ошибка:
Метод объекта не обнаружен (Connect)

И тоже помогло :)
Блин, а я с бубном плясал во круг служб компонентов, настроек DCOM и все что на ум приходило :)

Для Win 7 нужно создавать файл с расширением bat или cmd и выполнять от имени администратора иначе ни чего не получится.

Господа Ошибка
-2147221005(0x800401F3): Недопустимая строка с указанием класса

: Ошибка при вызове конструктора (COMОбъект)
Эксель = Новый COMОбъект(«Excel.Application»);

вот код
______________________________________
Процедура КнопкаВыполнитьНажатие(Кнопка)
// Вставить содержимое обработчика.
Эксель = Новый COMОбъект(«Excel.Application»);
Эксель.WorkBooks.Open(Путь);
Эксель.Sheets(1).Select();
.
.
____________

Везде где мог зарегистрировал comcntr.dll и в службе компонентов под учеткой админ и в настройке компонента все ок поставилось . Проблема не решилась и клиент Толстый «Управляемое и обычный». ОС 7 х64 платформа х32 на х64 тоже ставил такая же беда . Права полные запуск под админом . файл открытия Excel разблокированный что не так?

У меня ошибка осталась проделал и в реестре и в компоненте под полными правами .
: Ошибка при вызове конструктора (COMОбъект)
Эксель = Новый COMОбъект(«Excel.Application»);

-2147221005(0x800401F3): Недопустимая строка с указанием класса
_____
Только вот на ноуте Excel не устанавливал для открытия файла этого! Надо или не надо его устанавливать . связь 1С и Excell есть какая нибудь по билиотекам

А Вы не можете подсказать решение проблемы?:
При попытке редактирования документа выскочила ошибка: «Ошибка СУБД. Внутренняя ошибка компоненты dbeng8». Документ невозможно ни откорректировать, ни пометить на удаление.

(4) Nadegda_P,
Если файловая база 1С:Предприятие 8, то что-то подобное разок случилось в ситуации, когда пользователь в уже ранее проведенном документе перезаполнял табличную часть. И в момент этих его действий выключилось питание.
В результате получилась такая картина:
— движения документа есть,
— в списке документов он виден,
— запросами через консоль запросов получается выбрать и реквизиты документа, и строки табличных частей,
— но при открытии формы документа выдается ошибка наподобие указанной Вами, с подробностями, в которых упоминается несуществующая строка табличной части. И программа закрывается.

Попытки вылечить документ ни к чему не привели, и пришлось применить обходной путь:
1. Движения документа удалили с помощью обработки типа «Корректировка движений документов» (на Инфостарте есть такие),
2. Реквизиты документа подправили с помощью, например, «Групповой обработки объектов» — так, чтобы было видно, что не надо трогать его.
3. Сделали новый документ взамен этого, и провели его. А старый так и лежит, и никому вроде не мешает.

Если бы существовал бэкап, содержащий этот документ в нормальном состоянии, можно было бы XML-обменом попробовать загрузить документ из бэкапа. Но не было такого бэкапа.

Если файловая база 1С:Предприятие 8, то что-то подобное разок случилось в ситуации, когда пользователь в уже ранее проведенном документе перезаполнял табличную часть. И в момент этих его действий выключилось питание.

В результате получилась такая картина:

— движения документа есть,

— в списке документов он виден,

— запросами через консоль запросов получается выбрать и реквизиты документа, и строки табличных частей,

— но при открытии формы документа выдается ошибка наподобие указанной Вами, с подробностями, в которых упоминается несуществующая строка табличной части. И программа закрывается.

Попытки вылечить документ ни к чему не привели, и пришлось применить обходной путь:

1. Движения документа удалили с помощью обработки типа «Корректировка движений документов» (на Инфостарте есть такие),

2. Реквизиты документа подправили с помощью, например, «Групповой обработки объектов» — так, чтобы было видно, что не надо трогать его.

3. Сделали новый документ взамен этого, и провели его. А старый так и лежит, и никому вроде не мешает.

Если бы существовал бэкап, содержащий этот документ в нормальном состоянии, можно было бы XML-обменом попробовать загрузить документ из бэкапа. Но не было такого бэкапа.

ага, еще бы на SQL бы перевести базу, вообще цены бы вам не было )

(8) WKBAPKA,
Мы тоже не в деревне родились, и про клиент-серверный вариант работы с 1С знаем.
У меня на поддержке есть и базы файловые, и клиент-серверные в достаточном количестве.
В сети той организации, у которой эта проблема случилась, не было установленного 1С-сервера и SQL-сервера, и серверное железо не подходило для такого режима работы.
Да и пользователей в этой организации не столько, чтобы было необходимо переходить на вариант работы через сервер 1С-Предприятия.

Поэтому, раз проблема была только в одном этом документе, было сделано то, что я описал выше.

(4) Nadegda_P, решением для вас будет файл chdbfl.exe который лежит в папке BIN.
в смысле? у мну на домашней машине стоит 2005 скуль. и машина у меня не серверная.
вы бы могли эту базу вообще не поднять, там же один файл. в случае разрушения его, все, капут.
другой вопрос, что нужно покупать 1С сервер. это да. тока думаю, что они уже раза три как переплатили за ваши услуги. но то такое. не мое дело конечно.
Если пользователей не много то и железо для сервака не нужно суперское. В одной конторе 5 пользователей, стоит обычный комп проц уже не помню, но с 2 гб. оперативы, SentOS+PostgreSQL+1C все нормально работает уже 3 года.
Недавно обновлял платформу и 2 дня работали в файловом варианте, так все кричали что все ужасно тормозит.
не особо силен в консольных командах, возьму на заметку. Спасибо!

Еще в профилях пользователей C:Documents and Settings….Application Data1C1CEStart1CEStart.cfg изменяем параметр UseHWLicenses=0 на UseHWLicenses=1

Отпишись ели получится

Garik8866; dante; AKV77; user895546; CratosX; user1042924; ch1mera; quNas; kondr1221; wolder; DrVitaly; mnb-next; Pavel_NT; rus_alexey; nano1c; 77dream77; StAlf; BoryaMbi; emilliya; blich; collider; sv_dima; Z_Z; Dimka74; EugeneMal; vikvikmag; barelpro; 1379511; mi0999; Татьяна_69; Xytras; busy1; alimuslim; Sh00rick; mousesport; markela; Alexion; aronskiy; sergsqr; swflash; Apolonov-Erik; smolyakov; Jon2011; Glukaman; FSerg; bar_s; + 46 – Ответить
(15)
Спасибо, то что нужно — помогло! Только я думаю надо добавить, что компоненту ещё надо запустить!

(15)
хотя у меня просто после обновления платформы перестало подключаться из базы в базу.

я попробовал.
вот только «Поставил галку «Применить политику программных ограничений» — Уровень ограничений «Неограниченный»» не нашел.
но стало наверное еще хуже.
стало примерно так «. метод Подключить не обнаружен . «

удалил Ветку V82COMConnector . и все заработало. вот только не знаю. после перезагрузки сервера что будет.
и это из Бухгалтерии 2.0 в Комплексную автоматизацию.

Но вот основную то необходимость из Бухгалтерии 2.0 в Докуметооборот сходу не получилось.
Пишет «При попытке создания обработки ОбменДаннымиXML произошла ошибка:: Поле объекта не обнаружено (ОбменДаннымиXML)»

ну есно! «Обработка.ОбменДаннымиXML» такого в ДО нет.
Чтож . будем шаманить дальше.

(15) Супер! Какой вы МОЛОДЕЦ! Столько времени промучалась с сервером! И как все просто решается! Спасибо огромное!

(15) Для Windows 7×64 у меня вот так получилось

в %systemroot%SysWoW64 нашел cmd.exe

далее клик на нем правой мышкой и открываю его из меню как администратор

открывается командное окно с путем: C:Windowssystem32

Далее RegSvr32 «С:Program Files (x86)1cv828.2.19.76bincomcntr.dll»

(15) яростно плюсанула 10 пальцами
давно пыталась решить проблему с этими коннекторами — особенно когда несколько разных платформ и выгрузка идет например с 8.2 торговли в 8.3 бухгалтерию
огромное СПАСИБО за такую подробную инструкцию.
первый вариант с regsvr32 не помогал
(15) , (77)
Спасибо, оба молодцы, хотя (77) выдал более подробную, пошаговую для «чайников» инструкцию.
Рекомендации работают .
Спасибо за то что написали об этом. Когда мне было нужно — нигде об этом не писалось. Было убито немерено времени.
Большое спасибо, сам сталкивался с такой проблемой, сломали голову, так и не смогли забороть. А сейчас попробовал и все получилось.

регистрация по новой этой dll не решило проблемы: платформа 1С:Предприятие 8.2 (8.2.13.219) — может есть еще решения проблемы.
З.Ы.
Платформу не целесообразно обновлять так как у меня распределенка — а новая платформа при изменении в конфигурации отправляет в файле обмена полностью файл конфигурации в подчиненные узлы. (по крайне мере была такая проблема)

Использовал, и очень даже неплохо получилось! Спасибо.

Манипуляция с компонентой не помогла.
Regsvr32 «C:Program Files1cv828.2.14.540bincomcntr.dll» делал результат ноль.
Платформу переставлял, тоже не помогло.

Какие будут идеи может с компонентой есть еще какая то настройка?

Как вариант, чтобы запустить cmd в windows 7 от имени администратора, можно запустить его из папки «C:WindowsSystem32» (в папке System32 есть файл cmd, который нужно запустить от имени администратора :)))
Автору респект, что поделился. Давно это проходил и, именно так решал проблему. Но не удосужился где-то зафиксировать.
Решил проблему с выгрузкой базы данных dbeng8. Спасибо!
а я просто платформу обновил, и у меня эта ошибка исчезла
(36) Ксалекс, просто при обновлении платформы зарегистрировалась библиотека comcntr.dll
Спасибо, оказалось полезней. Обычная регистрация компоненты тоже не спасала.

если не помог не один из двух вариантов, еще есть решение?
Win Server 2003 x64
1С 8.2
пытаюсь из ЗУП подключиться к УТ

При попытке соедиения с COM-сервером произошла следующая ошибка:
: Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса: Недопустимая строка с указанием класса
У меня компонента успешно регистрируется, однако ошибка все равно вылетает. Уже сносил компа старую и новую версию платформы, комп перезагружал.
Что еще может быть?
Мне тоже помогло, но только после того, как я ЗАШЕЛ в систему как Администратор.
Просто запуск от имени Администратора не помогал.
У меня Windows 7 64-битная
Обратите на это внимание, я убил на это 6 часов.
Воспользовался советом. Винда 64 разрядная, запустил cmd от имени администратора,
командная строка Regsvr32 «C:Program Files (x86)1cv828.2.19.90bincomcntr.dll». путь изменил на нужный в блокноте. все сработало
Спасибо! Помогла регистрация компоненты! Win server 2012 r2
Мне помогло в следующем случае:
на серваке стоит рабочая версия Бухгалтерии на платформе 8.2.17.143
Себе локально для разработки поставил наверх платформу 8.2.19.116, ибо в старой неприятный глюк с убеганием курсора в левый верхний угол. Но теперь при попытке COM-соединения с сервером от себя выскакивала ошибка несоответствия версий comcntr.dll на клиенте (у меня) и сервере (рабочая).
Зарегистрировал у себя regsvr32 «c:Program Files (x86)1cv828.2.17.143bincomcntr.dll» поверх 8.2.19.116 и соединение с сервером через COM теперь проходит.
+ Запуск от имени администратора. Может понадобится отключение антивирусов.
Был настроен обмен между ИБ комплексной конфигурации (КА).
После обновления конфигураций в двух базах при обмене выдал эту ошибку.
Воспользовался предложенной командой — обмен восстановился.
Огромное спасибо автору.
Начат обмен данными под полными правами на сервере 1С:Предприятия по настройке «Обмен с «1С:Бухгалтерия государственного учреждения 8 (начиная с версии 1.0.2)»» 08.12.2015 20:26:28
Завершен обмен данными под полными правами на сервере 1С:Предприятия по настройке «Обмен с «1С:Бухгалтерия государственного учреждения 8 (начиная с версии 1.0.2)»» 08.12.2015 20:26:30

Отслеживаю отладкой:
в Функция ПодключитсяКИнформационнойБазе

При «Проверке подключения» ТекCOMПодключение получаем COMОбъект
При «Выполнении обмена» ТекCOMПодключение получаем Неопределено
ОбъектПодключения в обоих случаях равен «V83.COMConnector»
В чем может быть проблема. Подскажите.
(60) as7bs,
Сразу не отписался, но лучше поздно.
Проблема была решена установкой сервера 1С заново. Предполагаю, что проблема возникла из за того, что возможно, когда первоначально обновляли сервер 1С в компонентах не включили «COM-соеденение». После новой установки сервера 1С ошибка пропала.
помогло, Но все же пляски с бубном пришлось совершать — и в «Службу компонентов» тоже слазить.
Ошибка возникает при установке новой версии платформы/сервера 1с
Решение:
1)Деинсталлировать технологические платформы предыдущих версий(если они не требуются вам для старых версий баз)
2)Переставить нужную тех. платформу(должна быть одинаковой версии с версией сервера, если есть сервер)
3)Произвести манипуляцию типа «regsvr32 «c:Program Files (x86)1cv828.2.17.143bincomcntr.dll»» или ее 64 разр аналог.
как на машине, так и на сервере

p.s. при этом regsvr как не хотел нормально её регить, так и не согласился. Но работает.

Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(13799)>: Ошибка при вызове конструктора

После этого начинает работать COM на стороне сервера x64.

set version=8.3.5.1625
set x64=C:Program Files1cv8%version%bincomcntr.dll
set x32=C:Program Files (x86)1cv8%version%bincomcntr.dll
set reg64=%systemroot%System32regsvr32.exe
set reg32=%systemroot%SysWoW64regsvr32.exe

%reg64% /i /s «%x64%»
%reg64% /u /s «%x32%»
%reg64% /i /s «%x64%»
%reg32% /u /s «%x64%»
%reg64% /i /s «%x64%»
%reg32% /u /s «%x32%»
%reg64% /i «%x64%»

Не могу вас не поблагодарить — 3 дня я мучался с запуском COM на сервере, только ваш совет помог!

В большинстве случаев никаких проблем с этой библиотекой не наблюдается — обновлятор сам автоматически регистрирует и использует библиотеку нужной версии 1с, но изредка возникают случаи (в основном на серверных ОС), когда требуются «пляски с бубном».

Как понять, что у нас проблемы с COM

Для этого нажимаем кнопку «Проверить настройки» удерживая клавишу «Shift» на клавиатуре:

При нормальной работе COM отчёт будет примерно таким:

При проблемах же с COM возникнет вот такая или похожая ошибка:

Ещё может писать, что -то типа » Не удалось создать программное подключение к 1С «.

Да, судя по тесту, у нас проблемы с COM

Прежде всего, о какой именно библиотеке идёт речь? Эта библиотека comcntr.dll, которая находится в папке bin конкретной платформы 1с:

Эта библиотека устанавливается и автоматически регистрируется в системе при установке платформы.

Кроме того, обновлятор перед тем как подключаться к базе через внешнее соединение сам дополнительно регистрирует в системе библиотеку из нужной версии платформы при помощи команды:

Итак, что мы можем предпринять?

Шаг №0

Обратите внимание на утилиту для отображения и регистрации библиотек RegDllView. При помощи неё вы как минимум сможете контролировать результат работы следующих шагов.

Шаг №1

Прежде всего убеждаемся, что у нас действительно проф-версия платформы, потому что для базовой версии платформы внешнее подключение к базам работать и не должно (это ограничение платформы).

Чтобы понять какая у нас платформа (базовая или проф) выполним вот этот пункт.

Если лицензия на платформу у нас всё же не проф, а базовая, то все остальные шаги не имеют смысла. Внешнее подключение к базам у нас работать не будет (из-за ограничений платформы). Ничего не остаётся, кроме как настроить базы вот так.

Шаг №2

Далее пробуем запустить обновлятор с правами администратора.

Если у вас включён UAC, то добиться этого можно, нажав на ярлыке обновлятора правой кнопкой, и выбрав вариант «Запуск от имени администратора».

Далее выбираем базу и нажимаем кнопку «Проверить настройки». Если ошибка пропала и больше не воспроизводится даже при обычном запуске обновлятора (без прав администратора) — поздравляю, проблема решена. Если нет — идём дальше.

Шаг №3

В 32-битной версии ОС пробуем выполнить команду

В 64-битной версии ОС команда будет такой:

— для регистрации 64-битной платформы 1С:

— для регистрации 32-битной платформы 1С:

Эти команды запускаем от имени пользователя с правами администратора. А при включённом UAC, запускаем cmd через «Запуск от имени администратора», либо через такой же запуск написанного батника.

Если команда регистрации не помогла, то нужно предварительно удалить регистрацию библиотеки comcntr.dll, запустив ту же команду вызова regsvr32 с ключом /u

Если этот шаг не помог — идём дальше.

Шаг №4

Похоже, что у обновлятора не получается зарегистрировать COM компоненту из-за настроек безопасности на вашем сервере.
В этом случае:

  1. Заходим в Панель управления — Администрирование — Службы компонентов.
  2. Переходим к ветке Компьютеры — Мой компьютер — Приложения COM+.
  3. В контекстном меню выбираем Создать — Приложение. Откроется Мастер установки приложений COM+.
  4. Нажимаем «Далее».
  5. Выбираем «Создать новое приложение».
  6. Вводим имя «V83COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».
  7. На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».
  8. Нажимаем «Готово».
  9. В появившейся ветке V83COMConnector переходим к подветке Компоненты.
  10. В контекстном меню выбираем Создать — Компонент. Откроется Мастер установки компонентов COM+.
  11. Нажимаем «Далее».
  12. Выбираем «Установка новых компонентов».
  13. Выбираем файл <каталог 1С>bincomcntr.dll.
  14. Нажимаем «Далее» — «Готово».
  15. Переходим к ветке V83COMConnector.
  16. В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность».
  17. Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».
  18. Нажимаем «ОК».

После этого обновлятор должен смочь самостоятельно регистрировать компоненты всех версий платформ, а не только той, которую мы прописали в компоненте.

Шаг №5

Бывает так, что помогает только повторная переустановка платформы (при этом происходит корректная регистрация компоненты).

Шаг №6

Если проблема начала возникать сразу после обновления платформы 1с, то вероятнее всего новой версии платформы 1с не хватает какого-нибудь сервиспака или обновления для вашей операционной системы. Поэтому если есть возможность — ставим их все, если нет — действуем выборочно согласно этой ссылке.

Шаг №7

Бывает так, что всё работает при обычном запуске обновлятора, но не работает при запуске с повышением привилегий до администратора, когда вы запускаете обновлятор через пункт меню «Запустить от имени администратора» или из программы (типа TotalCommander), которая сама запущена с повышенными привилегиями.

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Если фоновый процесс COM-соединения завершается с ошибкой:

: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Invalid class string

Нужно зарегистрировать библиотеку ComConnector comcntr.dll из каталога программы.

. Перед этим нужно отключить службу агента сервера 1С:Предприятия и все программы, использующие эту DLL .

При удачном выполнении Вы увидите:

Разместил: all4cf  Версии: | 8.2 УП | 8.3 |  Дата: 05.09.2016   Прочитано: 215656

Распечатать

Похожие FAQ

Еще в этой же категории

Ключевые слова и Изображения

Слова упорядочены по частоте использования в тексте

Изображения

Первым делом необходимо зарегистрировать DLL в системе

В случае, если не помогает — создаём коннектор руками:

•Заходим в Панель управления — Администрирование — Службы компонентов.

•Переходим к ветке Компьютеры — Мой компьютер — Приложения COM+.

•В контекстном меню выбираем Создать — Приложение. Откроется Мастер установки приложений COM+.

•Выбираем «Создать новое приложение».

•Вводим имя «V83COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».

•На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».

•В появившейся ветке V83COMConnector переходим к подветке Компоненты.

•В контекстном меню выбираем Создать — Компонент. Откроется Мастер установки компонентов COM+.

•Выбираем «Установка новых компонентов».

•Нажимаем «Далее» — «Готово».

•Переходим к ветке V83COMConnector.

•В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность».

•Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».

Бывало так, что вместо Текущий пользователь нужно прописать USR1CV8

Читайте также:

  • Driver installation module что это
  • Ошибки при загрузке больничного в 1с
  • Microsoft edge xbox one вылетает
  • Microsoft edge сохранить видео
  • Как поставить пикеты в автокаде

RarusTechDay - открытая техническая конференция программистов 1С

 

Маркет42 - место для твоих разработок

 


1С:Предприятие

::

Я
  

Amianna

10.10.07 — 16:01

Кто-нить в курсе, где можно прочитать про код этой ошибки? Возникает у некоторых клиентов при входе в 1с через терминал.


Список тем форума

TurboConf — расширение возможностей Конфигуратора 1С

Ветка сдана в архив.

  • 1с 8 попытка исключение описание ошибки
  • 1с 8 выгрузка базы ошибка разделенного
  • 1с 77 ошибка разделения данных при доступе к users usr
  • 1с 77 ошибка при запуске журнала регистрации
  • 1с 77 ошибка загрузки метаданных виндовс 10