При обмене с базами возникает ошибка:
При попытке подключения к информационной базе произошла ошибка:
Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса: Недопустимая строка с указанием класса
Решение ошибки подключения через COM
Все что нам надо это выполнить регистрацию COM-соединения.
Вот что говорит 1С: Программа установки сама выполняет регистрацию COM-соединения “ для компьютера”. Имеется возможность выполнить регистрацию “для пользователя” с помощью командной строки “regsvr32 /n /i:user comcntr.dll”.
А вот как это сделал я с помощью командной строки и команды Regsvr32.
Пуск – Выполнить ввел команду Regsvr32 “C:Program Files1cv828.2.14.533bincomcntr.dll” и жмем Enter.
Если все хорошо то на экране выйдет следующее сообщение.
Ошибка 5 отказано в доступе при запуске службы Windows 11, 10
Regsvr32 – команда регистрирует в реестре файлы .dll как компоненты команды.
regsvr32 [/u] [/s] [/n] [/i[:cmdline]] имя_dll
Параметры
/u Отменяет регистрацию сервера. /s Задает запуск regsvr32 без вывода сообщений на экран. /n Указывает не вызывать DllRegisterServer. Этот параметр можно использовать с параметром /i. /i:cmdline Вызывает DllInstall с помощью дополнительной передачи [cmdline]. При использовании с параметром /u вызывает удаление dll. dllname Задает имя файла dll для последующей регистрации. /? Вывод справки в командной строке.
П.С.
Ошибка вида «V82.COMConnector.1: Не найдена лицензия COM-соединением» тоже решается этим методом.
Источник: 1c-md.com
АйТиБложик
Данная ошибка возникла при использовании библиотеки, например HASP, которая была зарегистрирована с помощью COM+. Такая регистрация помогает использовать 32 разрядные библиотеки на 64 разрядных серверах. Подробное описание действий по регистрации библиотек легко найти на просторах интернета.
После регистрации не всегда проходит все гладко по созданию COM объекта. Может возникнуть ошибка доступа к COM объекту, которая звучит примерно так:
Ошибка получения объекта COM: отказано в доступе.
Что бы избавиться от ошибки, откройте оснастку «Службы компонентов». Раскройте дерево служб и в ветке COM+ найди нужную службу, откройте её свойства (см. рисунок 1).
![]() |
Рисунок 1. Свойства приложения COM+ |
Как исправить «Ошибка 5: Отказано в доступе» при запуске службы
В свойствах перейдите на вкладку Безопасность и для пункта «принудительная проверка доступа для приложений» снимите галочку (см. рисунок 2). Проверьте создание COM объекта.
![]() |
Рисунок 2. Снятие принудительной проверки доступа для COM+ |
Если создание COM объекта не увенчалось успехом, попробуйте установить политику программных ограничений в неограниченный уровень (см. рисунок 3).
![]() |
Рисунок 3. Неограниченный уровень политики программных ограничений |
Если требуется, чтобы приложение COM+ могли запускать пользователи сети, не проходящие проверку подлинности, роли приложения должны включать анонимного пользователя. В Microsoft Windows Vista® анонимный пользователь не включается по умолчанию в группу «Все». Этот тип пользователя можно добавить в мастере установки приложения COM+ при установке или создании нового приложения. В мастере на странице Добавление ролей приложения щелкните Добавить роль, введите «АНОНИМНЫЙ ВХОД» и нажмите кнопку ОК.
Источник: 1centerprise8.blogspot.com
1с ошибка получения объекта com 2147024891 0x80070005 отказано в доступе
Значит дело было так. Появилась необходимость подключаться к базам по com соединению, для анализа тамошних объектов метаданных. Проблема оказалась в том, что базы могли работать на разных версиях 1С. Пошел в интернет, искал, читал, но все фигня, в оновном все предлагают держать базы на одной версии, что для меня было невозможным.
Кроме, вот этой статьи. Огромное спасибо автору (Леонид Кириенко) и zakiap
Тут уже интересней, но есть пару минусов
1) 1С должна работать от имени учетки с админскими правами.
2) «Варварское» поведение по отношению dllhost.exe 🙂
3) Могут возникнуть проблемы при одновременном обращении к базам на разных версиях.
Но, как оказалось, самым для меня полезным, оказалась не сама статья, а один из комментариев к ней.
Если присмотрется, то видно, что у него создано несколько оберток для разных версий. Увидев этот коммент, я тут же обрадовался, думал сейчас все расскажут. Но не тут то было, показать, показал, а рассказать забыл)
Инструкция
1. Идем «Панель управления» — «Администрирование» — «Службы компонентов»
2. В оснастке служб компонентов, «Службы компонентов» — «Компьютеры» — «Мой компьютер» — «Приложения COM+»
3. Создаем новое приложение, правой кнопкой по «Приложения COM+» — «Создать» — «Приложение»
4. Выбираем «Создать новое приложение», называем например «1cv8», тип выбираем «Библиотечное приложение»
должно полчуить так
5. Раскрываем «1cv8», правой кнопкой по «Компоненты» — «Создать» — «Компонент».
6. Выбираем вариант «Установка новых компонентов», находим нашу библиотеку comcntr.dll
Находится она в катлоге BIN установленной платформы, у меня например путь такой
«C:Program Files (x86)1cv88.3.10.2168bincomcntr.dll»
должны получить следующую картину
7. Правой кнопкой по «V83.COMConnector.1» — «Псевдоним. «, меняем наименование с «CopyOf.V83.COMConnector.1» на «V83.COMConnector_8.3.9.2033». Данное действие проделываем для всех нужных версий платформ.
8. Открываем «regedit» через пуск или команду «Выполнить», нажимаем F3 и указываем для поиска строку с наименованием созданой нами обертки, например «V83.COMConnector_8.3.9.2033». Или использум для поиска CLSID созданной обертки.
9. Ищем значение в ветке «HKEY_LOCAL_MACHINE» у меня путь такой HKEY_LOCAL_MACHINESOFTWAREClassesWow6432NodeCLSID\ выглядеть должно так
В ветке «InprocServer32» меняем значение у меня, «C:Program Files (x86)1cv88.3.10.2168bincomcntr.dll» на путь к нужной версии длл, в данном случае «C:Program Files (x86)1cv88.3.9.2033bincomcntr.dll».
Данное дейстие проделываем для всех созданных оберток.
Все готово) Для подключения к конкретной версии базы, в 1С теперь нужно использовать следующую конструкцию
В файлах утилита, которая выполнит все эти действия автоматически. Подходит для тех у кого 1С лежит в каталоге
«C:Program Files (x86)1cv8». У кого что то отличается, вот ссылка на GitHub . Запустить утилиту нужно от имени администратора. Надеюсь данный материал будет вам полезен)
Обработка для проверки работоспобности соединения с разыми версиями
Специальные предложения
При регистрации библиотек из разных версий 8.3, в одном СОМ приложении, возможно подключиться только к одной из версий.
(15) Решил проблему, создав компоненты в отдельных приложениях СОМ user841691; AlxPop; Franchiser; SoftIce; SurovcevD; WizaXxX; + 6 – Ответить (15) Методом проб и ошибок- свойствах приложения-> Активация-> Серверное подключение . Так заводится и создается инстанс без ошибок Доброго дня.
Оставлю это здесь.
При последовательном подключении к разным платформам COM соединением, необходимо сделать следующую настройку в свойствах КомКоннектора
размер группы увеличить с 1 до 5
время ожидания уменьшить с 15 до 2
Спасибо за статью. Мне она помогла, но если просто сделать как написано, возникали ошибки. Куча комментариев с разными ошибками не дали быстрого решения как именно сделать настройки. Предлагаю слегка скорректированный алгоритм. (*) — измененные шаги. В нем нет последних шагов по работе с реестром.
У меня сработало на двух серверах.
Если автор посчитает возможным — можно было бы перенести в шапку.
- Как изменить рабочую область в after effects
- Поле соглашение не заполнено в 1с
- Память компьютера используется не только для хранения данных но и программ
- Что в программе 1с используется для описания наборов постоянных значений
- 1с zip некорректный формат файла
Источник: kompyutery-programmy.ru