Ошибка инициализации 1с коннектора класс com с clsid

В случае возникновения проблем с онлайн-обменом, прежде чем обращаться к данной статье, выполните диагностику и исправление проблем для вашей базы Mobile SMARTS.

У типовых продуктов «Клеверенса» («Магазин 15», «Склад 15» и др.), интегрированных с «1С: Предприятие», существует возможность онлайн-обмена документами и справочниками с данной учетной системой. О неисправном онлайн-обмене сообщает ошибка #MSE1004, которая появляется на экране ТСД (или ПК). Рассмотрим основные проблемы, которые приводят к возникновению данной ошибки (и отключению онлайн-режима), а также способы их устранения.

  • Незарегистрированный COM-объект 1С
  • Нехватка прав пользователя, под которым работает служба сервера Mobile SMARTS для запуска COM-соединения к базе 1С
  • Не найдена лицензия 1С при установке COM-соединения к базе

Незарегистрированный COM-объект 1С

Данная ошибка проявляется следующим образом: при поиске номенклатуры или запросе списка документов онлайн из 1С на экране ТСД появляется сообщение об ошибке #MSE1004:

В этом случае документы из учетной системы перестают отображаться на ТСД, остаются только документы из памяти терминала (созданные на устройстве).

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

При запуске коннектора в панели управления Mobile SMARTS также будет появляться сообщение об ошибке:

Решение проблемы: необходимо зарегистрировать COM-объект.

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

Если вы уже зарегистрировали COM-компоненту и обнаружили, что её версия не совпадает с требуемой, зарегистрируйте её повторно и перезагрузите систему.

Нехватка прав пользователя, под которым работает служба сервера Mobile SMARTS для запуска COM-соединения к базе 1С

В случае такой ошибки при поиске номенклатуры или запросе списка документов онлайн из 1С на экране ТСД появляется следующее сообщение:

Лог ошибки: System.UnauthorizedAccessException Не удалось получить фабрику класса COM для компонента с CLSID {181E893D-73A4-4722-B61D-D604B3D67D47} из-за следующей ошибки: 80070005 Отказано в доступе. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED)).

Все логи ошибок находятся в папке по пути «C:ProgramDataCleverenceLogs».

Решение проблемы: в данном случае необходимо воспользоваться функцией «Диагностика и исправление проблем» (пункты «Разрешения для коннектора 1С» и «Регистрация COM-компоненты»).

Если автоматическое исправление диагностики не помогло, то можно произвести его вручную. Для этого:

  • Войдите в «Службы компонентов».

  • Откройте ветку «Настройка DCOM».

  • Найдите в списке компонент v83.ComConnector {181E893D-73A4-4722-B61D-D604B3D67D47}, выделите и правой кнопкой мыши вызовите контекстное меню.

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

  • На вкладке «Удостоверение» должен стоять флаг на пункте «Запускающий пользователь».

  • Нажать «Применить» и «ОК». Таким образом все настройки сбросятся до изначальных.

  • Далее необходимо снова войти в «Свойства», на вкладке «Безопасность» во всех пунктах добавить пользователя Network Service («Сетевая служба») и дать ему необходимые права.

  • Далее для нужных баз «1С: Предприятие» необходимо дать пользователю Network Service («Сетевая служба») права на доступ к папке с нужной базой 1С (только для файловых баз 1С).

Не найдена лицензия 1С при установке COM-соединения к базе 1С

В случае если не была найдена лицензия при попытке установить COM-соединение, при запуске коннектора в панели управления Mobile SMARTS будет выводиться сообщение об ошибке:

Лог ошибки:

2019-10-01 15:53:12.0460|ERROR|ConnectivityManager.InitializeConnector| Инициализация внешнего модуля ‘OneC_Connector’ (OneC_8_Connector) не удалась.

[SOURCE] Cleverence.Connectivity.ConnectivityManager
[EXCEPTION MESSAGE]
System.Runtime.InteropServices.COMException Не удалось создать соединение
TargetInvocationException Адресат вызова создал исключение.
COMException Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия!

Решение проблемы: необходимо вставить в ПК, на котором установлена «1С: Предприятие», USB Hasp ключ или использовать программную лицензию на «1С: Предприятие» (сервер 1С выдает лицензию на подключение при наличии свободных лицензий). Проверить, выполняется ли вход в базу «1С: Предприятие» на данном ПК через клиент 1С. Если через клиент 1С вход выполняется, а при запуске соединения к 1С лицензия не находится, попробовать завершить все сеансы «1С: Предприятие» с данной базой и повторить попытку запуска соединения. Возможно, используется однопользовательская лицензия 1С, которая не позволяет устанавливать дополнительные подключения. В этом случае при необходимости одновременно иметь онлайн доступ с ТСД к 1С и работать в 1С обычным пользователем следует рассмотреть приобретение дополнительной лицензии «1С: Предприятие».

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Pick a username
Email Address
Password

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

   Мыш

02.10.15 — 10:48

Пытаюсь выполнить команду:

$Connector = New-Object -ComObject «V83.COMConnector»

Получаю сообщение об ошибке:

New-Object : Сбой при получении производства объектов класса COM для компонента с CLSID {181E893D-73A4-4722-B61D-D604B3D67D47} в результате следующей ошибки: 8007007e.

OS Server 2008 R2 x64

Установлен сервер 1С х64 и клиент х32

Коннектор в реестре есть, указывает на длл клиента.

На рабочей станции х32 код отрабатывает нормально.

Как заставить работать на сервере?

   Мыш

1 — 02.10.15 — 11:17

Спецы уже отдыхают?

   denis_jj

2 — 02.10.15 — 11:30

Вероятно надо зарегистрировать 64битную компоненту.

regsvr32 «путь к файлу comctrl.dll»

   denis_jj

3 — 02.10.15 — 11:32

как то так

regsvr32 C:Program Files1cv88.3.6.2299bincomcntr.dll

(2), (3) Спасибо, сделал. Помогло. Единственное, что данного файла не было по адресу. Вытащил из соответствующего дистрибутива вручную. Соответственно вопрос, какой компонент при установке платформы отвечает за эту библиотеку?

  1. На главную

  2. How

  3. Не удалось получить фабрику класса COM для компонента с CLSID {XXXX} из-за следующей ошибки: 80080005
  • 2023
  • Редактор:
    Christopher Sullivan |
    Написать мне

Каков процесс устранения неполадок для ошибки «Получение фабрики классов COM для компонента с CLSID {XXXX} из-за следующей ошибки: 80080005» в .Net? Чтобы уточнить: я получаю это во время выполнения на моей машине XP, когда клиент является кодом .net, работающим под учетной записью администратора. {XXXX} относится к одному из наших собственных компонентов COM.

Насколько я понимаю, 0x80080005 означает «отказано в разрешении», но где мне проверить / изменить разрешения? Или я здесь совершенно не прав, и ошибка исходит из самого компонента, а не из подсистемы Windows COM?

  • 1 Ваш вопрос может быть слишком расплывчатым, чтобы получить содержательный ответ. Вы получаете эту ошибку во время компиляции? Время выполнения? Какой компонент COM вызывает ошибку? Если ошибка возникает во время выполнения, вы работаете как пользователь без прав администратора в XP или Vista?
  • 1 Для ответа действительно нужна дополнительная информация. Ваше приложение настольное? Он работает как стандартный пользователь или администратор? Является ли COM-объект локальным или удаленным?
  • Я столкнулся с чем-то похожим. Я могу сказать — по крайней мере, из своего собственного опыта — что это может происходить из приложения, которое запускается локально, в контексте учетной записи службы, в то время как этот svc acct является вашим собственным именем пользователя, пока у вас есть права администратора на машине, и COM-объект был локальным для машины. Ошибка возникает при попытке запустить код, обращающийся к COM-объекту. Я согласен, какой COM-объект еще не указан — в моем примере это был объект Word.
  • Связанные — stackoverflow.com/questions/3477086/…

Кажется, это довольно общая ошибка, связанная с запуском COM-сервера. Возможные проблемы включают тайм-ауты, сбои входа в систему (проверьте Q о ) или разрешения безопасности или (очевидно) ошибку ATL VS2008. Я думаю, что ошибка в CreateInstance тоже поможет.

Я бы начал с проверки журнала событий на предмет чего-нибудь интересного.

  • Я только что откопал исходный код сервера. Это C ++ / ATL. Содрогаться. Кажется, проще обойти эту проблему, чем разобраться в ней.
  • 1 Привет. Ваш пост очень интересный. Однако ссылки в нем, похоже, имеют синтаксическую проблему, и secfac.htm, похоже, переместился на alt.pluralsight.com/wiki/default.aspx/Keith/…
  • Следует избегать ответов только по ссылкам и вместо этого предоставить некоторые из перечисленных ниже вещей для проверки. Ссылки «ошибки входа» и «разрешения безопасности» уже являются мертвыми ссылками. Ошибка ATL больше не должна возникать, если разработчик использует VS 2008 SP1 или выше.

0x80080005 — это «сбой выполнения сервера», согласно ERRLOOK.EXE. WinError.h отображает это как . Не «Доступ запрещен».

  • 2 D’oh. Спасибо! Означает ли это, что сервер вышел из строя или COM не удалось создать экземпляр сервера?
  • 1 Это должно было быть сделано как комментарий, а не как ответ. Это ничего не исправляет.

Одна вещь, на которую вы можете посмотреть, — это конфигурация безопасности DCOM. Управляется утилитой dcomcnfg. В Интернете есть полезные обучающие видеоролики, в которых объясняется, как им пользоваться. На форуме ASP.NET также есть ветка, в которой обсуждается, как использовать dcomcnfg.

  • +1 Ссылка только ответы не приветствуются. Учебник теперь является мертвой ссылкой. Тема актуальна — он добавил разрешение в DCOM Config> Активация удаленного запуска Microsoft Word 93-2000 для учетной записи Network Service. Вы должны были просто добавить это сюда. Ссылка SO (которая будет активной, пока есть эта страница) содержит инструкции о том, как это сделать, хотя они рекомендуют использовать интерактивного пользователя или ничего, если это не работает, поэтому 3 варианта: stackoverflow.com/ questions / 3477086 /…

koc94ok

13 / 13 / 2

Регистрация: 22.04.2010

Сообщений: 642

1

15.08.2022, 09:17. Показов 1531. Ответов 13

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Есть сервер с клиентом 8.3.
С того же ПК пытаюсь подключиться:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
            string user = @"test";
            string pas = @"";
            string srv = @"1cserver";
            string reff = @"test";
            string connection = "Srvr='" + srv + "';Ref='" + reff + "';Usr='" + user + "';Pwd='" + pas + "';";
            Console.WriteLine(connection);
            Type comconnector = Type.GetTypeFromProgID("V83.COMConnector");
            if (comconnector == null)
            {
                throw new Exception($"COM Class Object "V83.COMConnector" was not found or not registered in the system");
            }
            try
            {
                COMConnector connectorInstance = (COMConnector)Activator.CreateInstance(comconnector);
                var ComObjRef = connectorInstance.Connect(connection);
            }
            catch (Exception ex)
            {
                throw new Exception($"{ex.Message}rn");
            }
            Console.ReadKey(true);

System.Exception: «Не удалось получить фабрику класса COM для компонента с CLSID {181E893D-73A4-4722-B61D-D604B3D67D47} из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

В чем может быть дело?



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

15.08.2022, 09:17

13

Yulunga

1190 / 729 / 211

Регистрация: 22.04.2013

Сообщений: 5,363

Записей в блоге: 1

15.08.2022, 09:56

2

Bash
1
regsvr32 "C:Program Files (x86)1cv8[версия платформы]bincomcntr.dll"



0



13 / 13 / 2

Регистрация: 22.04.2010

Сообщений: 642

15.08.2022, 13:35

 [ТС]

3

Yulunga,
—————————
RegSvr32
—————————
Успешное выполнение DllRegisterServer в C:Program Files1cv88.3.17.1496bincomcntr.dll.
—————————
ОК
—————————

Проблема не ушла.

System.Exception: «Не удалось получить фабрику класса COM для компонента с CLSID {181E893D-73A4-4722-B61D-D604B3D67D47} из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

Еще варианты?



0



1190 / 729 / 211

Регистрация: 22.04.2013

Сообщений: 5,363

Записей в блоге: 1

15.08.2022, 13:39

4

неа. больше нету. да и это не должно наверно было бы сработать — там же проверка написана на отсутствие его
ну только что для пущей уверенности и на сервере и на клиенте же зарегистрировать
но это так. мёртвому припарки



0



13 / 13 / 2

Регистрация: 22.04.2010

Сообщений: 642

15.08.2022, 13:44

 [ТС]

5

Yulunga, То есть, если у меня работает штатный клиент «C:Program Files1cv8common1cestart.exe» это не значит что я смогу подключиться через C# или любую другую платформу к серверу?



0



1190 / 729 / 211

Регистрация: 22.04.2013

Сообщений: 5,363

Записей в блоге: 1

15.08.2022, 14:24

6



0



13 / 13 / 2

Регистрация: 22.04.2010

Сообщений: 642

15.08.2022, 14:36

 [ТС]

7

Yulunga, в таком случае вот такая ошибка:
System.Exception: «В результате вызова компонента COM возвращена ошибка в формате HRESULT E_FAIL.



0



Yulunga

15.08.2022, 14:47

Не по теме:

koc94ok, не поверите, но давайте я больше не буду гуглить по проблемам шарпа?
первая же ссылка дала какой-то ответ
раз вы продвинулись дальше — значит эта задача решена.
значит и правда проблема в вашем коде, а со стороны 1с всё работает, n’est pas?



0



13 / 13 / 2

Регистрация: 22.04.2010

Сообщений: 642

15.08.2022, 15:46

 [ТС]

9

Yulunga, Согласен, долой шарп. Есть какой-нибудь другой способ проверить возможность коннекта к 1с извне?



0



264 / 219 / 95

Регистрация: 07.04.2011

Сообщений: 1,358

16.08.2022, 22:08

10



0



Модератор

Эксперт 1С

3724 / 2918 / 575

Регистрация: 10.03.2011

Сообщений: 11,491

Записей в блоге: 1

18.08.2022, 00:50

11

Цитата
Сообщение от koc94ok
Посмотреть сообщение

Есть какой-нибудь другой способ проверить возможность коннекта к 1с извне?

А что конкретно нужно?



0



13 / 13 / 2

Регистрация: 22.04.2010

Сообщений: 642

20.08.2022, 23:35

 [ТС]

12

Dethmontt,
Любым способом программно зайти в 1с и получить данные. Думал начать с шарпа, но по известным примерам в интернете сыпятся ошибки.
Через обычный клиент и сохранение информации в excel пользоваться не очень удобно.



0



264 / 219 / 95

Регистрация: 07.04.2011

Сообщений: 1,358

21.08.2022, 18:26

13

Я же дал ссылку на рабочий вариант.В чем проблема перейти по ней?



0



Модератор

Эксперт 1С

3724 / 2918 / 575

Регистрация: 10.03.2011

Сообщений: 11,491

Записей в блоге: 1

23.08.2022, 02:14

14

Цитата
Сообщение от koc94ok
Посмотреть сообщение

но по известным примерам в интернете сыпятся ошибки.

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



0



Понравилась статья? Поделить с друзьями:
  • Ошибка инициализации 0x0175dcbb в симс 3 помогите
  • Ошибка инициализации 135dec40 в симс 4 пиратка
  • Ошибка инициализации 0x0175d824 что это
  • Ошибка инициализации 135dec40 29f00e76 00000083
  • Ошибка инициализации 0 0175dcbb что это