1с Ошибка При Вызове Конструктора Сомобъект • Настройка dcom-сервера
Если на ПК 32-битная ОС, то будет необходимо запустить командную строку с админ. правами, и там набрать: Запустите консоль Службы компонентов перейдите в Панель управления , затем в Администрирование , и здесь кликните на Службы компонентов ;. Если вы хотите подробнее узнать об описанных особенностях, вы можете бесплатно скачать конфигурацию и демонстрационную базу продукта, для чего необходимо оформить предварительный заказ на Инфостарте на продукт 2iS Интеграция.
Устранение ошибок подключения через COM-соединение. Устранение ошибок подключения через COM-соединение 1с регистрация com компоненты
В этой статье я расскажу о многих особенностях взаимодействия между базами 1С по COM технологии, накопленных за годы развития и использования интеграционного коммерческого продукта 2iS:Интеграция нашей компании 2iS.
COM-клиент — процесс(поток) ОС, запросивший создание COM-объекта
Com-соединитель — COM-объект V8X.ComСonnector для создания внешних соединений с базами 1С
Automation-сервер — он же OLE-сервер, COM-объект V8X.Application для создания приложений 1С
Издание платформы — подстрока до 2-й точки версии платформы (например 8.2, 8.3)
Сборка платформы — полная строка версии платформы (например 8.2.19.130, 8.2.16.352)

2147221164 (0x80040154): Класс не зарегистрирован — что делать?
- Создаем базовую внешнюю обработку с набором общих методов для приема вызовов от COM-клиента на стороне COM-сервера
- Теперь нам не нужно изменять конфигурацию базы COM-сервера, чтобы использовать там сложный функционал.
- В нашем продукте мы назвали ее «Сервисный процессор». На ее передачу и инициализацию уходит около 1 сек
- Проектируем взаимодействие с COM-сервером по принципу «минимум COM-вызовов”, т.е. готовим все нужное на стороне COM-клиента и передаем в качестве параметров одного большого вызова»
- Создаем встроенную обработку для выполнения такого вызова в COM-клиенте
- Передача агрегатных объектов
- Сериализуем все входные параметры на стороне COM-клиента
- Десериализуем все входные параметры на стороне COM-сервера
- Сериализуем все выходные параметры на стороне COM-сервера
- Десериализуем все выходные параметры на стороне COM-клиента
- В нашем продукте мы назвали ее «Выполнение сервиса инфобазы»
- Для многократных COM-вызовов предусматриваем регулируемую частоту
- Например, информационные вызовы могут выполняться с изменяемой частотой
Подключение внешнего соединения
- Пример
КомСоединитель = Новый COMОбъект(“V83.ComConnector”, ИмяКомпьютера);
ВнешнееСоединение = КомСоединитель.Connect(СтрокаСоединения); - Выполнение метода Connect (создание внешнего соединения)
- Создание сеанса — 1 сек
- Инициализация сеанса — сек
- ПередНачаломРаботыСистемы (только для Automation-сервера)
- ПриНачалеРаботыСистемы
- Инициализация параметров сеанса
- Подгрузка нужных метаданных
- Минимальные для внутрипроцессного Com-сервера
- Средние для локального внепроцессного Com-сервера
- От средних до больших для нелокального внепроцессного Cоm-сервера в зависимости от качества канала связи
перейдите в каталог .Net framework и зарегистрируйте их соответствующую dll с помощью команду regsvr32.exe путь dll пробел. Я компилировал таргетинг моего приложения любой CPU и главная проблема оказалась в том, что adobe reader был установлен старше v10. А следовательно используя ее для COM взаимодействия, вы значительно снижаете затраты на возможные переходы между COM и веб-сервисом в обоих направлениях.
Способ №1. Регистрируем необходимые библиотеки
Если на ПК 32-битная ОС, то будет необходимо запустить командную строку с админ. правами, и там набрать:
C:WindowsSystem32
egsvr32 «C:Program Files (x86)1cv8XXXXXincomcntr.dll»
Вместо XXXXX будет нужно ввести номер вашей версии 1С, к примеру, это может быть 8.3.10.2252 или иная (пройдите по указанному пути, и просмотрите номер установленной у вас версии). После этого регистрация упомянутого dll будет завершена, и «Ошибка 2147221164 0x80040154 класс не зарегистрирован» должна исчезнуть.
Уведомление об успешной регистрации dll
Если на ПК 64-битная ОС, то данная строка должна выглядеть так:
C:WindowsSysWOW64
egsvr32 «C:Program Files (x86)1cv8ХХХХХincomcntr.dll»

1С ошибка при вызове конструктора (COMOбъект) класс не зарегистрирован
- Несовпадение конфигурации 1С на сервере и локальном ПК (к примеру, на сервере используется версия 8.3, а на локальном ПК – версия 8.1);
- Невозможность прямого обращения 64-битной 1С к 32-битному файлу comcntr.dll;
- В ОС Виндовс не зарегистрирован вышеупомянутый файл comcntr.dll.
когда я попытался вызвать службу wcf, получил ошибку » 80040154 класс не зарегистрирован (исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG» похоже, что программа или процесс, который вы пытаетесь инициализировать, не установлен на вашем компьютере, имеет поврежденную установку или должен быть зарегистрирован. Переходим по пути 1CV8_ComConnect Роли CreatorOwner Пользователи и добавляем новую учетную запись User1CV82, под которой будет производиться запуск сервера 1С версии 8.
Справляемся с проблемой
Заканчиваем с теорией и переходим к практике – пробуем исправить ошибку «2147221164 (0x80040154): Класс не зарегистрирован».
Регистрируем библиотеку comcntr.dll
Ошибка может проявиться, если не зарегистрирована библиотека comcntr.dll. Решаем ее следующим образом. Вызываем строку «Выполнить» (кликнув ПКМ по кнопке «Пуск») и вводим regsvr32.exe «C:\Program Files(86)\1cv82\8.3.XX.XXXX\bin\comcntr.dll». Нажимаем ОК и, если все прошло корректно, то мы увидим сообщение об успешной регистрации библиотеки.
Создаем новое приложение СОМ+
- В открывшемся Мастере нажимаем «Далее» и, когда в следующем окне нам предложат действие на выбор, кликаем «Создать новое приложение».
- В соответствующей строке присваиваем новому приложению имя, которое будет понятно не только нам, но и другим пользователям при дальнейшей работе, например 1CV8_ComConnect. Здесь же выбираем способ активации – «Серверное приложение».
Мы рассмотрели соединение с базой из программы 1С:Предприятие версии 8.3. Если планируется устанавливать коннект с БД 8.1 из версии 1С 8.2, то нужно добавить нового пользователя. Переходим по пути 1CV8_ComConnect → Роли → CreatorOwner → Пользователи и добавляем новую учетную запись User1CV82, под которой будет производиться запуск сервера 1С версии 8.2.
Если спокойно и внимательно следовать алгоритму, то исправление ошибки на деле окажется простым и быстрым. Благодаря вышеописанным действиям программа 1С версий 8.2 и 8.3 сможет обратиться за информацией к библиотеке comcntr.dll и ошибка «2147221164 (0x80040154): Класс не зарегистрирован» больше не возникнет.

Ошибки после синхронизации 1С: класс не зарегистрирован и процесс сервера не может быть запущен В Смоленске в Легасофт.
Содержание
- 1 Устранение ошибок подключения через COM-соединение. Устранение ошибок подключения через COM-соединение 1с регистрация com компоненты
- 1.1 2147221164 (0x80040154): Класс не зарегистрирован — что делать?
- 1.2 Подключение внешнего соединения
- 1.3 Способ №1. Регистрируем необходимые библиотеки
- 1.4 1С ошибка при вызове конструктора (COMOбъект) класс не зарегистрирован
- 1.5 Справляемся с проблемой
- 1.6 Ошибки после синхронизации 1С: класс не зарегистрирован и процесс сервера не может быть запущен В Смоленске в Легасофт.
Публикуя свою персональную информацию в открытом доступе на нашем сайте вы, даете согласие на обработку персональных данных и самостоятельно несете ответственность за содержание высказываний, мнений и предоставляемых данных. Мы никак не используем, не продаем и не передаем ваши данные третьим лицам.