Ошибка создания объекта v83 comconnector

Если сервер 1С стоит на Windows х64, то рано или поздно Вы столкнетесь с проблемой создания COM-соединения, если соединение инициируется на стороне сервера. На стороне клиента COM-соединение работает нормально, на стороне сервера вываливается с ошибкой.

Данная статья позволяет снять проблему. НО – до переустановки или обновления платформы!

Столкнулся с проблемой создания COM-соединения на стороне сервера. Обновили версию платформы, но после установки, компонент COM-соединения не регистрировался в системе. Предлагаемая ниже методика позволяет избавиться от описываемой проблемы.

Ниже алгоритм настройки системы, со скрином к каждому действию. Внимание скрины взяты с другого сайта, для общего понимания действий!

И так:

  1. Остановка сервера 1С (рекомендуется, но не обязательно)
  2. Регистрация компоненты comcntr.dll
  3. Создание обертки COM+, позволяющей 64-битному приложению взаимодействовать с 32-битном.
  4. Перезагрузка сервера (физического). Не обязательно, но рекомендуется
  5. Старт сервера 1С. (обязательно 🙂  

Вызываем консоль

Регистрируем компоненту. Компонента отсутствует, если установлен только сервер 1С. Почему-то 1С публикует ее только в составе клиента.

вызвать в cmd

regsvr32 "C:Program Files1cv8[номер платформы]bincomcntr.dll"

Библиотека успешно зарегистрирована.

Теперь запускаем службу компонентов. Описывается для Windows Server 2008 R2 Standart.

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

Выбираем – Создать приложение

Называем наше приложение – V83.COMConnector, ставим галочку – Серверное приложение.

На этом окне – выбираем учетную запись под которой будет запускаться наше приложение. Лучше указать “учетку” с правами Администратора. Я ставил – текущий пользователь т.к., работал под Администратором.

После того как мы создали Приложение, заходим в него, в раздел – Компоненты и создаем новый компонент.

На данном этапе нужно указать где лежит библиотека dll. Как правило библиотека лежит – “С:Program Files1cv8[номер платформы]bincomcntr.dll”

Теперь установи права на Приложение. Правой кнопкой на созданном Приложении – Свойства.

Выбираем вкладку – Безопасность и Снимаем галочку – Принудительная проверка доступа для приложений => (Ставим галочку)  => Применить политику программных ограничений => Уровень ограничений => Неограниченный.

Далее переходим к самому Компоненту – Выбираем – Свойства, раздел Безопасность.

Проверяем что галка стоит на “Владельце”

На этом у меня заработало!

Содержание:

1.       Об ошибке «Недопустимая строка с указанием класса»

2.      Устранение ошибки «Недопустимая строка с указанием класса»

1.    Об ошибке «Недопустимая строка с указанием класса»

Приветствую, коллеги! В данной статье будет рассмотрена ошибка «Недопустимая строка с указанием класса» в 1С 8.3. Мы проведем диагностику ошибки, выясним, по каким причинам она возникла, и опишем инструкция-алгоритм, согласно которой можно полностью устранить данную ошибку.

Данная ошибка в системе 1С может иметь отображение в двух видах, а именно:   

·        ошибка из-за отключения базы с пользователями на платформе 1С: «Недопустимая строка с указанием класса»;

·        ошибка из-за отключения базы пользователей на платформе 1С: «Различаются версии клиента и сервера, в клиентском приложении COM-администратор».

В случае, когда на ПК установлена версия 1С:Предприятие на 64 бита, то 64 бита устанавливается (в новых версиях платформы 1С) и на сервер, и на части программы для работы клиентов. В данном случае, когда «Effector Saver» создаёт подключение через COM к серверу, то возникает ошибка «Недопустимая строка с указанием класса». Данная неполадка может возникать и в случаях регистрации библиотеки «V83.COMConnector» для новейших версий системы 1С. Ошибка возникает по причине того, что в запросе «Effector Saver» ОС ищет COM приложение, которое будет соответствовать, после чего не может найти его, ведь данная библиотека является на 64 бита, а не на 86 битов.

2.    Устранение ошибки «Недопустимая строка с указанием класса»

Наипростейший способ по устранению ошибки «Недопустимая строка с указанием класса» – это регистрация через regsvr32. Если это не помогло, то необходимо использовать нижеприведённую инструкцию.

Для начала необходимо создать коннектор, после чего включить консоль «Службы компонентов» по пути «Панель управления → Администрирование → Службы компонентов»:

Рис. 1 Создание коннектора для устранения ошибки «Недопустимая строка с указанием класса»

Далее перед нами откроется соответствующее окно, в которое необходимо добавить элемент, чтобы произвести данное действие, — кликаем «Компьютеры», переходим в «Мой компьютер», далее в списке кликаем на «Приложение СОМ+», как можно увидеть на скриншоте ниже:    



Рис. 2 Выбор типа приложения для устранения ошибки «Недопустимая строка с указанием класса»

Открываем контекстное меню и кликаем на «Создать → Приложение», как показано на скриншоте далее:

Рис. 3 Создание приложения для устранения ошибки «Недопустимая строка с указанием»

Перед нами появится Мастер по установке приложений СОМ+, в нём кликаем «Далее», как видно на скриншоте ниже:

Во всплывшем окне «Установка или создание нового приложения» кликаем на «Создать новое приложение»:

Рис. 4 Создание нового приложения для устранения ошибки «Недопустимая строка с указанием»

Открывается новое окно, в котором в строке «Введите имя нового приложения» следует написать «V83.COMConnector». Далее в способе активации следует выбрать «Серверное приложение» и кликаем на кнопку «Далее»:

Рис. 5 Выбор имени приложения при устранении ошибки «Недопустимая строка с указанием»

Далее для устранения ошибки «Недопустимая строка с указанием класса» следует избрать запись учёта, с которой будет запускаться приложение. Далее установим «текущего пользователя», то есть того, который на данный момент находится в системе, и кликаем на кнопку «Далее», как видно на картинке ниже:


Рис. 6 Выбор пользователя при устранении ошибки «Недопустимая строка с указанием»

В последующих двух окнах по добавлению ролей в приложении оставляем всё как есть и кликаем «Далее».

В последнем открывшемся окне кликаем «Готово»:



Рис 7 Последнее окно приложения при устранении ошибки «Недопустимая строка с указанием»

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

Рис. 8 Создание компонента при устранении ошибки «Недопустимая строка с указанием»

Вновь появится окно с Мастером по установке СОМ+ компонентов, в нём кликаем «Далее»:

Рис. 9 Открытие окна Мастера при устранении ошибки «Недопустимая строка с указанием»

В окне, которое открылось, выбираем «Установка новых компонентов»:

Рис. 10 Установка новых компонентов при устранении ошибки «Недопустимая строка с указанием»

В следующем окне выбираем нужный файл comcntr.dll и кликаем на «Открыть». После перемены окна кликаем «Далее»:

Рис. 11 Выбор нужного файла при устранении ошибки «Недопустимая строка с указанием»

После данного шага в мастере для устранения ошибки «Недопустимая строка с указанием класса» будут сформированы все нужные сведения, чтобы выполнить установку, в новом окне кликаем «Готово».

Примечание: по завершению установки обязательно следует поменять свойства у объекта: открываем ветку «V83.COMConnector» и выбираем свойства компонента, который создали, как можно увидеть на скриншоте ниже:



Рис. 12 Изменение свойств объекта при устранении ошибки «Недопустимая строка с указанием»

Для дальнейшей работы с ошибкой «Недопустимая строка с указанием класса» в том окне, которое откроется, кликаем на «Безопасность», далее в «Авторизация» убираем отметку «Принудительная проверка доступа для приложений», как показано на скриншоте ниже:

Рис. 13 Отключение принудительной проверки

В панели «Политика программных ограничений» ставим «галочку» около пункта «Применить политику программных ограничений» и в уровнях избираем «Неограниченный»:

Рис. 14 Настройка политики программных ограничений

Для устранения ошибки «Различаются версии клиента и сервера, в клиентском приложении COM-администратор» из описания выше, нужно перейти во вкладку «Удостоверение» и установить «Указанный пользователь». В этом поле необходимо внести информацию о пользователе, который имеет администраторские права, либо учётную запись домена, если вход был произведён с него, как показано ниже:

Рис. 15 Исправление ошибки «Различаются версии клиента и сервера, в клиентском приложении COM-администратор»

Кликаем «Применить» и «ОК».

После всех вышеперечисленных действий был сформирован класс V83.COMConnector, который следует использовать, чтобы подключиться к базам с информацией, следовательно – ошибка полностью устранена.

Специалист компании «Кодерлайн»

Айдар Фархутдинов

в командной строке:

Regsvr32 «C:Program Files1cv88.3.20.1789bincomcntr.dll»
C:WindowsSysWOW64Regsvr32 «C:Program Files1cv88.3.20.1789bincomcntr.dl

Недавно перенес несколько баз на платформу 8.3, и столкнулся со следующей проблемой: при замене в нескольких обработках объекта V82.COMConnector на V83.COMConnector при запуске стал получать сообщение «v83.comconnector класс не зарегистрирован». Решение выкладываю, т.к. не нашел похожей статьи на данном сайте, возможно, невнимательно искал.  

Стандартный простой  способ (вызвать в cmd  regsvr32 «C:Program Files1cv8[номер платформы]bincomcntr.dll» ) не помог: выдавал ошибку:

V82.COMConnector, V83.COMConnector класс не зарегистрирован

Пришлось регистрировать объект «вручную» (это решение нашел раньше, чем причину выдаваемой ошибки): заходим в Панель управления=>  Администрирование => Службы компонентов => Компьютеры => Мой компьютер => Приложения COM+ => Создать приложение => Создать новое приложение (Вводим имя приложения) V83.COMConnector => (Поставить переключатель в) Серверное приложение => Указанный пользователь (Любой с правами администратора)

Далее необходимо создать компонент V82COMConnector => Компоненты => Создание нового компонента => Установка новых компонентов => (Открываем каталог с 1С  и ищем библиотеку)  comcntr.dll

Теперь щелкаем правой кнопкой мыши  V83COMConnector и настраиваем его:  V83COMConnector => Свойства => Безопасность => (Снимает галочку) Принудительная проверка доступа для приложений => (Ставим галочку)  => Применить политику программных ограничений => Уровень ограничений => Неограниченный.

После проверяем соединенние и видим, что все работает.

источник: https://infostart.ru/public/400951/

Регистрация компоненты comcntr.dll (для COM соединения с базой 1С)

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

{Обработка.ОбменДаннымиXML.МодульОбъекта(15947)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Invalid class string

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

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

В 32-битной версии сервера проблема решилась бы командой: regsvr32 «C:Program Files (x86)1cv88.3.5.1119bincomcntr.dll»

V82.COMConnector, V83.COMConnector класс не зарегистрирован

но в 64-битной версии команда будет примерно такой * : C:WindowsSysWOW64regsvr32 «C:Program Files (x86)1cv88.3.5.1119bincomcntr.dll»

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

V82.COMConnector, V83.COMConnector класс не зарегистрирован

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

Если и это не помогло, попробуйте переустановить платформу 1С в режиме Исправить и отметьте COM соединение

источник: https://helpf.pro/faq/view/1825.htm

ну и еще раз

83.COMConnector класс не зарегистрирован

Случается, что при попытке подключения к информационной базе через com-соединение возникает ошибка при вызове конструктора (COMОбъект): «Класс не зарегистрирован» или «Недопустимая строка с указанием класса».

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

Regsvr32 "C:Program Files1cv88.3.7.1776bincomcntr.dll"

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

  • Заходим в Панель управления — Администрирование — Службы компонентов.
  • Переходим к ветке Компьютеры — Мой компьютер — Приложения COM+.
  • В контекстном меню выбираем Создать — Приложение. Откроется Мастер установки приложений COM+.
  • Нажимаем «Далее».
  • Выбираем «Создать новое приложение».
  • Вводим имя «V83COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».
  • На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».
  • Нажимаем «Готово».
  • В появившейся ветке V83COMConnector переходим к подветке Компоненты.
  • В контекстном меню выбираем Создать — Компонент. Откроется Мастер установки компонентов COM+.
  • Нажимаем «Далее».
  • Выбираем «Установка новых компонентов».
  • Выбираем файл <каталог 1С>bincomcntr.dll.
  • Нажимаем «Далее» — «Готово».
  • Переходим к ветке V83COMConnector.
  • В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность».
  • Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».
  • Нажимаем «ОК».

Класс V83.COMConnector зарегистрирован и может использоваться для подключения к информационным базам.

Сначала зарегистрируем библиотеку comcntr.dll. Для этого запускаем cmd от имени администратора и выполним поочередно следующие команды:

cd C:Program Files (x86)1cv88.3.13.1690bin
regsvr32 comcntr.dll
Вместо «8.3.13.1690» — нужно подставить требуемую версию платформы

Или можно обойтись одной строкой команды:

regsvr32 «C:Program Files (x86)1cv88.3.13.1690bincomcntr.dll«

ДАЛЕЕ ОПИШУ ПОЛНЫЙ ПРОЦЕСС СОЗДАНИЯ COM+ СОЕДИНЕНИЯ

1. Запускаем оснастку «Службы компонентов» из папки Администрирование.

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

или

win+R -> control userpasswords -> Службы компонентов

2. Раскрываем ветку «Службы компонентов» — компьютер — Приложения COM+

3. Откроется окно мастера установки приложений COM+. Ждем «Далее»

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

5. Вбиваем имя приложения. В моем примере — «v83COMConnector». Отмечаем чекбокс «Серверное приложение»

6. В следующем окне указывается учетная запись, от имени которой будет запускаться компонент. В моем примере я выбираю чекбокс «Текущий (вошедший в систему) пользователь

7. В следующем окне просто жмем «Далее»

8. На следующем шаге можно добавить пользователей, либо группу пользователей, которым необходимо предоставить права на запуск COM+ приложения (локальные/доменные — не важно)

9. Закрываем мастер кнопкой «Готово»

10. Теперь необходимо создать компонент. Возвращаемся к оснастке «Службы компонентов», раскрываем созданное COM+ приложение, встаем на ветку «Компоненты»

11. Откроется окно «Мастера установки компонентов COM+». Жмем «Далее»

12. В следующем окне выбираем «Установка новых компонентов»

13. Теперь с помощью открывшегося окна проводника выберите ранее зарегистрированную библиотеку comcntr.dll, которая лежит в папке установленной 1С, в каталоге bin. В моем случае

C:Program Files (x86)1cv88.3.13.1690bincomcntr.dll

«Enter» или кнопка «Открыть»

14. В следующем окне просто жмите «Далее»

15. Закрываем окно мастера кнопкой «Готово»

16. Раскройте ветку «Компоненты». Здесь вы должны увидеть созданный на предыдущем шаге компонент. Выделите его, нажмите ПКМ — Свойства

17. На вкладке «Безопасность» нужно отметить галочкой CreateOwner и нажать «ОК»

Компонента COM+ создана. COM+ приложение настроено!

ОБНОВЛЕНИЕ ВЕРСИИ КОМПОНЕНТА

Иногда необходимо зарегистрировать иную версию библиотеки comcntr.dll.

Для того, чтобы посмотреть текущую зарегистрированную версию, необходимо войти в свойства компонена V83.COMConnector (см п.16) данного руководства

На вкладке «Общие» будет прописан путь. В моем случае это версия 8.3.13.1690

Зарегистрировать другую версию библиотеки можно при помощи уже рассмотренной команды regsvr32

regsvr32 "C:Program Files (x86)1cv88.3.14.1565bincomcntr.dll" 

ПРАВА НА ЗАПУСК COM+

Если в п.8 вы забыли указать пользователей или группы, кому необходимы права для запуска COM+ приложения, то добавить нужных пользователей можно так:

  • Панель управления — Система и безопасность — Администрирование — Службы компонентов
  • Раскрываем ветку: Приложения COM+ — v83COMConnector — Роли — CreateOwner
  • ПКМ на разделе «Пользователи», «Создать — Пользователь»
  • В открывшемся окне выбираем локального или доменного пользователя, либо группу

источник https://winrcmd.wordpress.com/2019/04/02/sozdaniye-com-soedineniya-1c/

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

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

Причины связаны с незарегистрированными в системе компонентами — comcntr.dll, ошибками доступа (недостаточно прав).

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

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

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

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

1. Регистрация библиотеки comcntr.dll

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

regsvr32 "<путь к каталогу установки 1С>bincomcntr.dll"

При удачном выполнении вы увидите сообщение: «Успешное выполнение DllRegisterServer в comcntr.dll».

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

Переустановите технологическую платформу 1С в режиме «Исправить» и отметьте COM-соединение.

3. Регистрация коннектора вручную

Регистрация приложения и коннектора вручную:

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

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

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

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

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

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

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

Если не получается и требуется дополнительная поддержка — наши специалисты готовы вам помочь → +7-911-500-10-11

  

MistaEr

04.03.22 — 16:25

После обновления платформы, &НА КЛИЕНТЕ, не создается Новый COMОбъект(«V83.Application»). &НаСервере создается. Переустановил платформу, перезагружал, перерегистрировал comcntr.dll. Ошибка остается 2147221005(0x800401F3): Недопустимая строка с указанием класса. Что нужно сделать, чтоб заработало подключение к другой базе?

  

MistaEr

1 — 04.03.22 — 16:26

Новый COMОбъект(«V83.COMConnector») создается без проблем.

  

MistaEr

2 — 04.03.22 — 16:35

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

  

arsik

3 — 04.03.22 — 17:21

(2) Попробуй 1С от админа запустить

  

Trimax

4 — 04.03.22 — 17:22

(2) Наверно вывод ясен? На машине клиента криво/не установлена компонента.

  

ДаЛадно

5 — 04.03.22 — 17:31

ну таки да, можно компоненту собрать руками для новой версии платформы

  

Trimax

6 — 04.03.22 — 17:42

(5) Согласен. Если на кленте и на сервере разные платформы, то при обращении в обратном порядке 1С-ка «отрыгнет» тоже самое в дерективой &НаСервере

  

MistaEr

7 — 04.03.22 — 19:30

comcntr.dll я уже скопировал из сервера, разместил в каталоге платформы, заново зарегил. Для OLE и для COM подключения эта же dll-ка используется верно?

  

Trimax

8 — 04.03.22 — 20:04

(7) Не верно. Платформы должны быть полностью идентичны, причем происходит вытеснение по приоритету более поздней версии (т.е. Если у вас стоит 8.3.17 и 8.3.20, то по-любасу будет хапать компоненту от 8.3.20)

  

pechkin

9 — 04.03.22 — 20:21

(8) компонента может любая быть. Обычно последняя ибо с установкой платформы и компоненты регистрируются

  

Trimax

10 — 04.03.22 — 21:03

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

  

Trimax

11 — 04.03.22 — 21:04

+ (10) или разрядность

  

acht

12 — 04.03.22 — 21:13

(7) > Для OLE и для COM подключения эта же dll-ка используется верно?

Нет. comcntr.dll используется только для создания объекта «V83.COMConnector». Никакого вляния на «V83.Application» оно не оказывает.

Для регистрации OLE-Automation-сервера со строкой класса «V83.Application» необходимо запустить 1С с правильным ключем командной строки. Подробности — в справке: «Справка / 1С:Предприятие / Запуск 1С:Предприятие 8 и параметры запуска / Общие параметры запуска / Регистрация «1С:Предприятия 8″ в качестве OLE-Automation-сервера»

  

acht

13 — 04.03.22 — 21:16

(8) > вытеснение по приоритету более поздней версии

Нет. Используется та платформа, на которую указывает строка регистрации класса «V83.COMConnector».

Соответственно, приоритет имеет платформа не старшей версии, а наболее поздняя по времени регистрации. По умолчанию — в каком порядке ставишь, то и используется.

  

acht

14 — 04.03.22 — 21:17

(10) > Полагаю, что на клиенте ломаная, если

Безосновательная глупость.

  

Trimax

15 — 04.03.22 — 21:34

(13) (14) я предпочитаю классические методы получения удоаольствия от работы, нежели извращаться с подбором компоненты, несоответствующей платформе.

  

VladZ

16 — 04.03.22 — 22:56

(0) Рекомендую отказаться от COM.

  

MistaEr

17 — 05.03.22 — 08:58

(0) Тут писал что платформу переустанавливал.

  

MistaEr

18 — 05.03.22 — 09:25

(12) /RegServer [-AllUsers | -CurrentUser | -Auto], в параметрах запуска прописал с параметром -AllUsers (уж не помню скобки квадратные ставил или нет), после 3-х попыток у меня все заработало. Жду что скажут пользователи. Огромное спасибо!

  

Azverin

19 — 05.03.22 — 09:57

(0) Озвучьте же вы уже номер платформы

  

MistaEr

20 — 05.03.22 — 13:51

8.3.20

Наткнулся на инфостарте на инструкцию по преодолению ошибок. Полезный мануал, сохраню тут:

Пришлось регистрировать объект «вручную» (это решение нашел раньше, чем причину выдаваемой ошибки): заходим в Панель управления=>  Администрирование => Службы компонентов => Компьютеры => Мой компьютер => Приложения COM+ => Создать приложение => Создать новое приложение (Вводим имя приложения) V83.COMConnector=> (Поставить переключатель в) Серверное приложение => Указанный пользователь (Любой с правами администратора)

Далее необходимо создать компонент V82COMConnector => Компоненты => Создание нового компонента => Установка новых компонентов => (Открываем каталог с 1С  и ищем библиотеку)  comcntr.dll

Теперь щелкаем правой кнопкой мыши  V83COMConnector и настраиваем его:  V83COMConnector => Свойства=> Безопасность => (Снимает галочку) Принудительная проверка доступа для приложений => (Ставим галочку)  => Применить политику программных ограничений => Уровень ограничений => Неограниченный.

После проверяем соединенние и видим, что все работает.

Благодарю за внимание всех, кто прочел. На вопросы и комментарии постараюсь отвечать в срочном порядке.

+

Как регистрировать COM компоненту 1С через исполняемый файл

December 22 2015, 16:32

Categories:

  • История
  • Компьютеры
  • Политика
  • Cancel

Случается, что при попытке подключения к информационной базе через com-соединение возникает ошибка при вызове конструктора (COMОбъект): «Класс не зарегистрирован» или «Недопустимая строка с указанием класса».

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

Regsvr32 "C:Program Files1cv88.3.7.1776bincomcntr.dll"

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

  • Заходим в Панель управления — Администрирование — Службы компонентов.
  • Переходим к ветке Компьютеры — Мой компьютер — Приложения COM+.
  • В контекстном меню выбираем Создать — Приложение. Откроется Мастер установки приложений COM+.
  • Нажимаем «Далее».
  • Выбираем «Создать новое приложение».
  • Вводим имя «V83COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».
  • На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».
  • Нажимаем «Готово».
  • В появившейся ветке V83COMConnector переходим к подветке Компоненты.
  • В контекстном меню выбираем Создать — Компонент. Откроется Мастер установки компонентов COM+.
  • Нажимаем «Далее».
  • Выбираем «Установка новых компонентов».
  • Выбираем файл <каталог 1С>bincomcntr.dll.
  • Нажимаем «Далее» — «Готово».
  • Переходим к ветке V83COMConnector.
  • В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность».
  • Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».
  • Нажимаем «ОК».

Класс V83.COMConnector зарегистрирован и может использоваться для подключения к информационным базам.

Содержание:

1.       Об ошибке «Недопустимая строка с указанием класса»

2.      Устранение ошибки «Недопустимая строка с указанием класса»

1.    Об ошибке «Недопустимая строка с указанием класса»

Приветствую, коллеги! В данной статье будет рассмотрена ошибка «Недопустимая строка с указанием класса» в 1С 8.3. Мы проведем диагностику ошибки, выясним, по каким причинам она возникла, и опишем инструкция-алгоритм, согласно которой можно полностью устранить данную ошибку.

Данная ошибка в системе 1С может иметь отображение в двух видах, а именно:   

·        ошибка из-за отключения базы с пользователями на платформе 1С: «Недопустимая строка с указанием класса»;

·        ошибка из-за отключения базы пользователей на платформе 1С: «Различаются версии клиента и сервера, в клиентском приложении COM-администратор».

В случае, когда на ПК установлена версия 1С:Предприятие на 64 бита, то 64 бита устанавливается (в новых версиях платформы 1С) и на сервер, и на части программы для работы клиентов. В данном случае, когда «Effector Saver» создаёт подключение через COM к серверу, то возникает ошибка «Недопустимая строка с указанием класса». Данная неполадка может возникать и в случаях регистрации библиотеки «V83.COMConnector» для новейших версий системы 1С. Ошибка возникает по причине того, что в запросе «Effector Saver» ОС ищет COM приложение, которое будет соответствовать, после чего не может найти его, ведь данная библиотека является на 64 бита, а не на 86 битов.

2.    Устранение ошибки «Недопустимая строка с указанием класса»

Наипростейший способ по устранению ошибки «Недопустимая строка с указанием класса» – это регистрация через regsvr32. Если это не помогло, то необходимо использовать нижеприведённую инструкцию.

Для начала необходимо создать коннектор, после чего включить консоль «Службы компонентов» по пути «Панель управления → Администрирование → Службы компонентов»:

Рис. 1 Создание коннектора для устранения ошибки «Недопустимая строка с указанием класса»

Далее перед нами откроется соответствующее окно, в которое необходимо добавить элемент, чтобы произвести данное действие, — кликаем «Компьютеры», переходим в «Мой компьютер», далее в списке кликаем на «Приложение СОМ+», как можно увидеть на скриншоте ниже:    



Рис. 2 Выбор типа приложения для устранения ошибки «Недопустимая строка с указанием класса»

Открываем контекстное меню и кликаем на «Создать → Приложение», как показано на скриншоте далее:

Рис. 3 Создание приложения для устранения ошибки «Недопустимая строка с указанием»

Перед нами появится Мастер по установке приложений СОМ+, в нём кликаем «Далее», как видно на скриншоте ниже:

Во всплывшем окне «Установка или создание нового приложения» кликаем на «Создать новое приложение»:

Рис. 4 Создание нового приложения для устранения ошибки «Недопустимая строка с указанием»

Открывается новое окно, в котором в строке «Введите имя нового приложения» следует написать «V83.COMConnector». Далее в способе активации следует выбрать «Серверное приложение» и кликаем на кнопку «Далее»:

Рис. 5 Выбор имени приложения при устранении ошибки «Недопустимая строка с указанием»

Далее для устранения ошибки «Недопустимая строка с указанием класса» следует избрать запись учёта, с которой будет запускаться приложение. Далее установим «текущего пользователя», то есть того, который на данный момент находится в системе, и кликаем на кнопку «Далее», как видно на картинке ниже:


Рис. 6 Выбор пользователя при устранении ошибки «Недопустимая строка с указанием»

В последующих двух окнах по добавлению ролей в приложении оставляем всё как есть и кликаем «Далее».

В последнем открывшемся окне кликаем «Готово»:



Рис 7 Последнее окно приложения при устранении ошибки «Недопустимая строка с указанием»

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

Рис. 8 Создание компонента при устранении ошибки «Недопустимая строка с указанием»

Вновь появится окно с Мастером по установке СОМ+ компонентов, в нём кликаем «Далее»:

Рис. 9 Открытие окна Мастера при устранении ошибки «Недопустимая строка с указанием»

В окне, которое открылось, выбираем «Установка новых компонентов»:

Рис. 10 Установка новых компонентов при устранении ошибки «Недопустимая строка с указанием»

В следующем окне выбираем нужный файл comcntr.dll и кликаем на «Открыть». После перемены окна кликаем «Далее»:

Рис. 11 Выбор нужного файла при устранении ошибки «Недопустимая строка с указанием»

После данного шага в мастере для устранения ошибки «Недопустимая строка с указанием класса» будут сформированы все нужные сведения, чтобы выполнить установку, в новом окне кликаем «Готово».

Примечание: по завершению установки обязательно следует поменять свойства у объекта: открываем ветку «V83.COMConnector» и выбираем свойства компонента, который создали, как можно увидеть на скриншоте ниже:



Рис. 12 Изменение свойств объекта при устранении ошибки «Недопустимая строка с указанием»

Для дальнейшей работы с ошибкой «Недопустимая строка с указанием класса» в том окне, которое откроется, кликаем на «Безопасность», далее в «Авторизация» убираем отметку «Принудительная проверка доступа для приложений», как показано на скриншоте ниже:

Рис. 13 Отключение принудительной проверки

В панели «Политика программных ограничений» ставим «галочку» около пункта «Применить политику программных ограничений» и в уровнях избираем «Неограниченный»:

Рис. 14 Настройка политики программных ограничений

Для устранения ошибки «Различаются версии клиента и сервера, в клиентском приложении COM-администратор» из описания выше, нужно перейти во вкладку «Удостоверение» и установить «Указанный пользователь». В этом поле необходимо внести информацию о пользователе, который имеет администраторские права, либо учётную запись домена, если вход был произведён с него, как показано ниже:

Рис. 15 Исправление ошибки «Различаются версии клиента и сервера, в клиентском приложении COM-администратор»

Кликаем «Применить» и «ОК».

После всех вышеперечисленных действий был сформирован класс V83.COMConnector, который следует использовать, чтобы подключиться к базам с информацией, следовательно – ошибка полностью устранена.

Специалист компании «Кодерлайн»

Айдар Фархутдинов

Цитата
surkenny написал:
тут дело именно в excel

и все же нет. VBA просто не может создать объект, на который Вы ссылаетесь. Убедитесь, что имя класса «V83.COMConnector» задано верно. Не нужны ли в конце какие-то номера версий сборок и т.п.
Ну и попробуйте подключиться так же хотя бы к Word. Если работает — значит дело точно не в Excel, ибо механизм один.
Так же попробуйте подключаться не через CreateObject, а через ранее связывание(через Tools -Referneces). Возможно, Ваша DLL просто не поддерживает вызовы позднего связывания. Это тоже может быть причиной ошибки.

Изменено: Дмитрий(The_Prist) Щербаков06.09.2018 11:30:06

в командной строке:

Regsvr32 «C:Program Files1cv88.3.20.1789bincomcntr.dll»
C:WindowsSysWOW64Regsvr32 «C:Program Files1cv88.3.20.1789bincomcntr.dl

Недавно перенес несколько баз на платформу 8.3, и столкнулся со следующей проблемой: при замене в нескольких обработках объекта V82.COMConnector на V83.COMConnector при запуске стал получать сообщение «v83.comconnector класс не зарегистрирован». Решение выкладываю, т.к. не нашел похожей статьи на данном сайте, возможно, невнимательно искал.  

Стандартный простой  способ (вызвать в cmd  regsvr32 «C:Program Files1cv8[номер платформы]bincomcntr.dll» ) не помог: выдавал ошибку:

V82.COMConnector, V83.COMConnector класс не зарегистрирован

Пришлось регистрировать объект «вручную» (это решение нашел раньше, чем причину выдаваемой ошибки): заходим в Панель управления=>  Администрирование => Службы компонентов => Компьютеры => Мой компьютер => Приложения COM+ => Создать приложение => Создать новое приложение (Вводим имя приложения) V83.COMConnector => (Поставить переключатель в) Серверное приложение => Указанный пользователь (Любой с правами администратора)

Далее необходимо создать компонент V82COMConnector => Компоненты => Создание нового компонента => Установка новых компонентов => (Открываем каталог с 1С  и ищем библиотеку)  comcntr.dll

Теперь щелкаем правой кнопкой мыши  V83COMConnector и настраиваем его:  V83COMConnector => Свойства => Безопасность => (Снимает галочку) Принудительная проверка доступа для приложений => (Ставим галочку)  => Применить политику программных ограничений => Уровень ограничений => Неограниченный.

После проверяем соединенние и видим, что все работает.

источник: https://infostart.ru/public/400951/

Регистрация компоненты comcntr.dll (для COM соединения с базой 1С)

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

{Обработка.ОбменДаннымиXML.МодульОбъекта(15947)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Invalid class string

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

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

В 32-битной версии сервера проблема решилась бы командой: regsvr32 «C:Program Files (x86)1cv88.3.5.1119bincomcntr.dll»

V82.COMConnector, V83.COMConnector класс не зарегистрирован

но в 64-битной версии команда будет примерно такой * : C:WindowsSysWOW64regsvr32 «C:Program Files (x86)1cv88.3.5.1119bincomcntr.dll»

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

V82.COMConnector, V83.COMConnector класс не зарегистрирован

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

Если и это не помогло, попробуйте переустановить платформу 1С в режиме Исправить и отметьте COM соединение

источник: https://helpf.pro/faq/view/1825.htm

ну и еще раз

83.COMConnector класс не зарегистрирован

Случается, что при попытке подключения к информационной базе через com-соединение возникает ошибка при вызове конструктора (COMОбъект): «Класс не зарегистрирован» или «Недопустимая строка с указанием класса».

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

Regsvr32 "C:Program Files1cv88.3.7.1776bincomcntr.dll"

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

  • Заходим в Панель управления — Администрирование — Службы компонентов.
  • Переходим к ветке Компьютеры — Мой компьютер — Приложения COM+.
  • В контекстном меню выбираем Создать — Приложение. Откроется Мастер установки приложений COM+.
  • Нажимаем «Далее».
  • Выбираем «Создать новое приложение».
  • Вводим имя «V83COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».
  • На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».
  • Нажимаем «Готово».
  • В появившейся ветке V83COMConnector переходим к подветке Компоненты.
  • В контекстном меню выбираем Создать — Компонент. Откроется Мастер установки компонентов COM+.
  • Нажимаем «Далее».
  • Выбираем «Установка новых компонентов».
  • Выбираем файл <каталог 1С>bincomcntr.dll.
  • Нажимаем «Далее» — «Готово».
  • Переходим к ветке V83COMConnector.
  • В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность».
  • Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».
  • Нажимаем «ОК».

Класс V83.COMConnector зарегистрирован и может использоваться для подключения к информационным базам.

Сначала зарегистрируем библиотеку comcntr.dll. Для этого запускаем cmd от имени администратора и выполним поочередно следующие команды:

cd C:Program Files (x86)1cv88.3.13.1690bin
regsvr32 comcntr.dll
Вместо «8.3.13.1690» — нужно подставить требуемую версию платформы

Или можно обойтись одной строкой команды:

regsvr32 «C:Program Files (x86)1cv88.3.13.1690bincomcntr.dll«

ДАЛЕЕ ОПИШУ ПОЛНЫЙ ПРОЦЕСС СОЗДАНИЯ COM+ СОЕДИНЕНИЯ

1. Запускаем оснастку «Службы компонентов» из папки Администрирование.

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

или

win+R -> control userpasswords -> Службы компонентов

2. Раскрываем ветку «Службы компонентов» — компьютер — Приложения COM+

3. Откроется окно мастера установки приложений COM+. Ждем «Далее»

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

5. Вбиваем имя приложения. В моем примере — «v83COMConnector». Отмечаем чекбокс «Серверное приложение»

6. В следующем окне указывается учетная запись, от имени которой будет запускаться компонент. В моем примере я выбираю чекбокс «Текущий (вошедший в систему) пользователь

7. В следующем окне просто жмем «Далее»

8. На следующем шаге можно добавить пользователей, либо группу пользователей, которым необходимо предоставить права на запуск COM+ приложения (локальные/доменные — не важно)

9. Закрываем мастер кнопкой «Готово»

10. Теперь необходимо создать компонент. Возвращаемся к оснастке «Службы компонентов», раскрываем созданное COM+ приложение, встаем на ветку «Компоненты»

11. Откроется окно «Мастера установки компонентов COM+». Жмем «Далее»

12. В следующем окне выбираем «Установка новых компонентов»

13. Теперь с помощью открывшегося окна проводника выберите ранее зарегистрированную библиотеку comcntr.dll, которая лежит в папке установленной 1С, в каталоге bin. В моем случае

C:Program Files (x86)1cv88.3.13.1690bincomcntr.dll

«Enter» или кнопка «Открыть»

14. В следующем окне просто жмите «Далее»

15. Закрываем окно мастера кнопкой «Готово»

16. Раскройте ветку «Компоненты». Здесь вы должны увидеть созданный на предыдущем шаге компонент. Выделите его, нажмите ПКМ — Свойства

17. На вкладке «Безопасность» нужно отметить галочкой CreateOwner и нажать «ОК»

Компонента COM+ создана. COM+ приложение настроено!

ОБНОВЛЕНИЕ ВЕРСИИ КОМПОНЕНТА

Иногда необходимо зарегистрировать иную версию библиотеки comcntr.dll.

Для того, чтобы посмотреть текущую зарегистрированную версию, необходимо войти в свойства компонена V83.COMConnector (см п.16) данного руководства

На вкладке «Общие» будет прописан путь. В моем случае это версия 8.3.13.1690

Зарегистрировать другую версию библиотеки можно при помощи уже рассмотренной команды regsvr32

regsvr32 "C:Program Files (x86)1cv88.3.14.1565bincomcntr.dll" 

ПРАВА НА ЗАПУСК COM+

Если в п.8 вы забыли указать пользователей или группы, кому необходимы права для запуска COM+ приложения, то добавить нужных пользователей можно так:

  • Панель управления — Система и безопасность — Администрирование — Службы компонентов
  • Раскрываем ветку: Приложения COM+ — v83COMConnector — Роли — CreateOwner
  • ПКМ на разделе «Пользователи», «Создать — Пользователь»
  • В открывшемся окне выбираем локального или доменного пользователя, либо группу

источник https://winrcmd.wordpress.com/2019/04/02/sozdaniye-com-soedineniya-1c/

Если сервер 1С стоит на Windows х64, то рано или поздно Вы столкнетесь с проблемой создания COM-соединения, если соединение инициируется на стороне сервера. На стороне клиента COM-соединение работает нормально, на стороне сервера вываливается с ошибкой.

Данная статья позволяет снять проблему. НО – до переустановки или обновления платформы!

Столкнулся с проблемой создания COM-соединения на стороне сервера. Обновили версию платформы, но после установки, компонент COM-соединения не регистрировался в системе. Предлагаемая ниже методика позволяет избавиться от описываемой проблемы.

Ниже алгоритм настройки системы, со скрином к каждому действию. Внимание скрины взяты с другого сайта, для общего понимания действий!

И так:

  1. Остановка сервера 1С (рекомендуется, но не обязательно)
  2. Регистрация компоненты comcntr.dll
  3. Создание обертки COM+, позволяющей 64-битному приложению взаимодействовать с 32-битном.
  4. Перезагрузка сервера (физического). Не обязательно, но рекомендуется
  5. Старт сервера 1С. (обязательно 🙂  

Вызываем консоль

Регистрируем компоненту. Компонента отсутствует, если установлен только сервер 1С. Почему-то 1С публикует ее только в составе клиента.

вызвать в cmd

regsvr32 "C:Program Files1cv8[номер платформы]bincomcntr.dll"

Библиотека успешно зарегистрирована.

Теперь запускаем службу компонентов. Описывается для Windows Server 2008 R2 Standart.

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

Выбираем – Создать приложение

Называем наше приложение – V83.COMConnector, ставим галочку – Серверное приложение.

На этом окне – выбираем учетную запись под которой будет запускаться наше приложение. Лучше указать “учетку” с правами Администратора. Я ставил – текущий пользователь т.к., работал под Администратором.

После того как мы создали Приложение, заходим в него, в раздел – Компоненты и создаем новый компонент.

На данном этапе нужно указать где лежит библиотека dll. Как правило библиотека лежит – “С:Program Files1cv8[номер платформы]bincomcntr.dll”

Теперь установи права на Приложение. Правой кнопкой на созданном Приложении – Свойства.

Выбираем вкладку – Безопасность и Снимаем галочку – Принудительная проверка доступа для приложений => (Ставим галочку)  => Применить политику программных ограничений => Уровень ограничений => Неограниченный.

Далее переходим к самому Компоненту – Выбираем – Свойства, раздел Безопасность.

Проверяем что галка стоит на “Владельце”

На этом у меня заработало!

  • Ошибка создания объекта adodb connection
  • Ошибка создания объекта 4200
  • Ошибка сокета 10049 citrix
  • Ошибка создания обращения 403 ок утм
  • Ошибка создания электронной подписи на вайлдберриз