1с при попытке соединения с com сервером произошла следующая ошибка

Обновлено: 04.07.2024

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

Представь что у тебя Linux (или Mac) и действуй исходя из этого.

(7) я вангую что он ставит не там и не той разрядности
(9) Там проблемы когда несколько разных версий платформы 1С стоят или ставили криво.
Можно совместить 8.1. 8.2 и 8.3 а вот разные 8.3 глючит.
Например если 8.3.16 и 8.3.15 ну или разрядность того.
(10) неа. Я подозреваю что надо ставить на сервере, а он пытается на клиенте. Ну и х86-64 и SysWOW64 - как бы противоречие, хотя там надо просто зарегать COM+-приложение
С учетом того,что стандартный обмен все равно передает xml-файл,то можно перейти на web-сервисы без проблем.
(12) это надо публиковать базу, а мало кто это хочет делать
(13) так надо опубликовать внутри локальной сети, не надо в глобальном интернете публиковать.
мне регистрация в службах компонентов всегда помогала
Нет, версия одна и запускаю на сервере. Проблема решилась перезапуском сервера 1С. Всем спасибо за участие.
Вроде COM-соединение возможно с базой на другой версии платформы 8.3 А OLE-соединение возможно?

(кстати на 16-ю версию платформы люди жалуются, нам сейчас пока запретили её ставить)

Панель управления\Все элементы панели управления\Администрирование\Службы компонентов\Компьютеры\Мой компьютер\Приложения COM+\CommCtrl\Роли\CreatorOwner\Пользователи\
Сюда добавить пользователей ОС сервера, под кем приходится запускать регламентные задания, а главное USR1CV8.

И лучше физически перезагрузить сервер сам компьютер.

(20) > И лучше физически перезагрузить сервер сам компьютер.
У меня все базы на 8.3.10.2466 (x86-64), только одна 8.3.14.1779 (x64) на диапазоне портов 16хх. Когда к ней подключаюсь в строке подключения к имени сервера дописываю ":1640". Даже вручную делаю команду C:\Windows\SysWOW64\regsvr32 "c:\Program Files\1cv8\8.3.14.1779\bin\comcntr.dll", пишет: Успешно выполнено DllRtgisterServer в c:\Program Files\1cv8\8.3.14.1779\bin\comcntr.dll. Но при этом все равно ошибка: "Несоответствие версий клиента и сервера 1С:Предприятия" (8.3.10.2466 - 8.3.14.1779).

(21) Я вот думаю сказать или нет что COM как и прочие приложения могут быть как x32 так и x64.

И короче регать думать надо что и откуда. И откуда и куда подключаться.
Ну не выйдет цыветочек и x32 не умеет с x64 через COM или OLE

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

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

А вот как это сделал я с помощью командной строки и команды Regsvr32.
Пуск – Выполнить ввел команду Regsvr32 «C:\Program Files\1cv82\8.2.14.533\bin\comcntr.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 Data\1C\1CEStart\1CEStart.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 7x64 у меня вот так получилось

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

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

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

Далее RegSvr32 "С:\Program Files (x86)\1cv82\8.2.19.76\bin\comcntr.dll"

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

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

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

Манипуляция с компонентой не помогла.
Regsvr32 "C:\Program Files\1cv82\8.2.14.540\bin\comcntr.dll" делал результат ноль.
Платформу переставлял, тоже не помогло.

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

Как вариант, чтобы запустить cmd в windows 7 от имени администратора, можно запустить его из папки "C:\Windows\System32" (в папке 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)\1cv82\8.2.19.90\bin\comcntr.dll". путь изменил на нужный в блокноте. все сработало Спасибо! Помогла регистрация компоненты! Win server 2012 r2 Мне помогло в следующем случае:
на серваке стоит рабочая версия Бухгалтерии на платформе 8.2.17.143
Себе локально для разработки поставил наверх платформу 8.2.19.116, ибо в старой неприятный глюк с убеганием курсора в левый верхний угол. Но теперь при попытке COM-соединения с сервером от себя выскакивала ошибка несоответствия версий comcntr.dll на клиенте (у меня) и сервере (рабочая).
Зарегистрировал у себя regsvr32 "c:\Program Files (x86)\1cv82\8.2.17.143\bin\comcntr.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)\1cv82\8.2.17.143\bin\comcntr.dll"" или ее 64 разр аналог.
как на машине, так и на сервере

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

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

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

set version=8.3.5.1625
set x64=C:\Program Files\1cv8\%version%\bin\comcntr.dll
set x32=C:\Program Files (x86)\1cv8\%version%\bin\comcntr.dll
set reg64=%systemroot%\System32\regsvr32.exe
set reg32=%systemroot%\SysWoW64\regsvr32.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. Проверка даты/времени на ПК

Проверьте корректность через «Панель управления — Часы и регион — Дата и время». Отправьте команду на автоматическую синхронизацию, если вы соединены с сетью Интернет.

2. Проверка доступности

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

Если адрес не открывается — другие распространенные причины:
• доступ заблокирован через файл hosts;
• нет доступа из-за прокси-сервера;
• ресурс блокирован firewall/антивирусом.

3. Отключение проверок

Список ИБ — Выбор базы — Изменить… — Дополнительно… — Далее >
Выберите клиентский сертификат: Не предоставлять
Выберите способ проверки сертификата сервера: Не проверять


Не проверять сертификат сервера

4. Игнорирование ошибки проверки отзыва

В конфигурацию платформы — в файл conf с расширением cfg — добавьте следующую опцию:

Расположение файла:
• C:\Program Files\1cv8\8.х.хх.хххх\bin\conf
• C:\Program Files (x86)\1cv8\8.х.хх.хххх\bin\conf

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

5. Импорт самоподписанного сертификата

Добавьте сертификат сервера на ПК, с которого вы подключаетесь, в список «Локальный компьютер — Доверенные корневые центры сертификации — Сертификаты».

В этом случае поставьте режим «Выберите способ проверки сертификата сервера = Хранилище сертификатов Windows». Или укажите файл сертификатов CA — как удобнее.

6. Диагностика ошибок

Используйте методические рекомендации по диагностике ошибок ОС Windows из официальной статьи 1С.

Если окружение настроено корректно и есть доверие к сертификату удаленного ресурса, то ошибки не будет. Пусть все получится. 🤗

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

Текст: «Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса».

Решение — в регистрации библиотеки comcntr.dll из каталога программы для корректного вызова COMConnector.

Подготовительные действия

  • отключите службу Агента сервера 1С:Предприятия и программы, возможно использующие регистрируемую DLL;
  • если ранее использовалась библиотека устаревшей версии, удалите регистрацию comcntr.dll, запустив команду вызова regsvr32 с ключом /u.

Подходы к решению

В командной строке с правами Администратора выполните команду:

2. Переустановка платформы с внесением исправлений

  • запускаем консоль «Службы компонентов»;
  • добавляем новый элемент, переходим «Компьютеры» — «Мой компьютер» — из списка выбираем «Приложения COM+»;
  • выбираем «Создать» — «Приложение»;
  • в Мастере установки выбираем второй вариант «Создать новое приложение», в поле «Введите имя нового приложения:» вводим «V83COMConnector», «Способ активации» устанавливаем «Серверное приложение», нажимаем «Далее»;
  • выбираем учетную запись под которой запускается приложение, по умолчанию — «Текущий (вошедший в систему) пользователь»;
  • на этапах «Добавление ролей приложения» и «Добавление пользователей для ролей» нажимаем «Далее», а затем «Готово».

В ветке только что созданного приложения переходим в подветку «Компоненты» и создаем компонент:

  • в контекстном меню выбираем «Создать» — «Компонент»;
  • кликаем по первому варианту «Установка новых компонентов»;
  • в открывшемся диалоге выбираем необходимый файл comcntr.dll и нажимаем «Открыть»;
  • нажимаем «Далее» и «Готово».

Обратите внимание: после установки измените свойства объекта. Для этого переходим к ветке V83COMConnector:

  • открываем свойства созданного компонента, переходим в ветку V83COMConnector — «Свойства»;
  • на вкладке «Безопасность», в «Авторизация» снимаем флаг «Принудительная проверка доступа для приложений»;
  • в «Политика программных ограничений» устанавливаем флаг «Применить политику программных ограничений» и выбираем «Уровень ограничений:» — «Неограниченный»;
  • нажимаем «Применить» — «ОК».

Полная версия со снимками экранов — в статье на Дзен-канале.

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