Ошибка получения объекта com: отказано в доступе.
Данная ошибка возникла при использовании библиотеки, например HASP, которая была зарегистрирована с помощью COM+. Такая регистрация помогает использовать 32 разрядные библиотеки на 64 разрядных серверах. Подробное описание действий по регистрации библиотек легко найти на просторах интернета.
После регистрации не всегда проходит все гладко по созданию COM объекта. Может возникнуть ошибка доступа к COM объекту, которая звучит примерно так:
Ошибка получения объекта COM: отказано в доступе.
Что бы избавиться от ошибки, откройте оснастку «Службы компонентов». Раскройте дерево служб и в ветке COM+ найди нужную службу, откройте её свойства (см. рисунок 1).
Рисунок 1. Свойства приложения COM+ |
В свойствах перейдите на вкладку Безопасность и для пункта «принудительная проверка доступа для приложений» снимите галочку (см. рисунок 2). Проверьте создание COM объекта.
Рисунок 1. Свойства приложения COM+ |
В свойствах перейдите на вкладку Безопасность и для пункта «принудительная проверка доступа для приложений» снимите галочку (см. рисунок 2). Проверьте создание COM объекта.
Рисунок 2. Снятие принудительной проверки доступа для COM+ |
Если создание COM объекта не увенчалось успехом, попробуйте установить политику программных ограничений в неограниченный уровень (см. рисунок 3).
Рисунок 3. Неограниченный уровень политики программных ограничений |
Если требуется, чтобы приложение COM+ могли запускать пользователи сети, не проходящие проверку подлинности, роли приложения должны включать анонимного пользователя. В Microsoft Windows Vista® анонимный пользователь не включается по умолчанию в группу «Все». Этот тип пользователя можно добавить в мастере установки приложения COM+ при установке или создании нового приложения. В мастере на странице Добавление ролей приложения щелкните Добавить роль, введите «АНОНИМНЫЙ ВХОД» и нажмите кнопку ОК.
РЕШЕНО!!!
1. Администрирование — Службы компонентов – Компьютеры – Мой компьютер – Приложения COM+ — Создать приложение – Создать новое приложение – вводим имя «V82.COMConnector»(переключатель «Серверное приложение») – Указанный пользователь (Администратор)
2. В появившейся ветке V82COMConnector – подветка Компоненты – создание нового компонента – Установка новых компонентов — <каталог 1С>bincomcntr.dll
3. Правой кнопкой по ветке V82COMConnector – Свойства – Безопасность – Снял галку «Принудительная проверка доступа для приложений» — Поставил галку «Применить политику программных ограничений» — Уровень ограничений «Неограниченный»
Ошибка при вызове конструктора (COMObject) по причине: Интерфейс не поддерживается
Ошибка происходит при попытке загрузить из Excel в 1С, когда код обработчика выполняется не на клиенте, а на сервере и в большинстве случаев текст ошибки говорит об отсутствии прав у пользователя сервера 1С.
Быстрый переход
- Особенности
- Устранение:
- Может оказаться, что «Microsoft Excel Application» отсутствует в списке, в данном случае
- Заключение
Особенности
Кодом со стороны 1С без изменения места исполнения не устраняется, использование других функций подключения Com также не дает положительных результатов.
Убедиться в причине ошибки возможно, если посмотреть логи системы.
Устранение:
- на сервере убиваем excel (taskkill /im excel.exe /f)
- открываем оснастку «Службы компонентов» (Пуск->Администрирование->Службы компонентов)
- в ней раскрываем ветку Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM
- справа в списке находим Microsoft Excel Application, открываем Свойства, вкладка Удостоверение, выбираем пользователя с администраторскими правами, ОК.
Может оказаться, что «Microsoft Excel Application» отсутствует в списке, в данном случае
- Запускаем REGEDIT
- Открываем ветку ComputerHKEY_CLASSES_ROOTAppIDEXCEL.EXE, если ее нет, то создаем
- Создаем в ней строковый параметр AppID = {00020812-0000-0000-C000-000000000046}
- Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты.
- После этого в Component Services должен появиться «Microsoft Excel Application»
Чтобы решить эту проблему, я включил пользователя USRV82, под которым запускается сервер приложений 1С Предприятия 8.3, в группу Distributed COM Users, но ошибка сразу не ушла, потребовалась перезагрузка.
Для правки использовалась оснастка Локальные пользователи и группы (lusrmgr.msc) — это инструмент, предназначенный для управления локальными пользователями и группами. Локальный пользователь или группа — это учетная запись, которой могут быть предоставлены разрешения и права на вашем компьютере.
Осложняло проблему то, что ошибка плавала: периодически выходила, либо в момент создания объекта, либо уже в момент вызова методов excel-application.
Так что нельзя однозначно сказать, что же решило проблему.
Заключение
В большинстве случаев уйти от дополнительной настройки операционной системы возможно, если использовать вызова Com-Объекта на клиенте. При правильной установке объектов они работают даже при различных по битности 1с и Excel, OS.
В моем же случае клиентские компьютеры работали на Ubuntu, поэтому вся обработка перенесена на сервер.
Бывает такое: вы прописываете для компонента пользователя и пароль.
Затем через некоторое время меняете пароль и компонент перестает работать: выходит такая же ошибка «Интерфейс не поддерживается». Следует просто вбить новый пароль.
Закон рекламы: родившись, брэнд нуждается в рекламе для своего существования.
-
13.11.2018, 09:23
#31
Пришел за помощью
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от avm3110
А сколько есть попыток угадать какую именно библиотеку ставил «2 раза»? Где ставил (на клиенте или на сервере)? под какими правами (пользователя или админа)?
Да и по синтаксису… У тебя в диагностике:
Что явно указывает на ошибку — «лишняя запятая». Параметр «Excel.Application» должен быть
первым
правильно:
ExcelApplication = Новый COMObject(«Excel.Application»);Теперь ошибка немного другая
{ВнешняяОбработка.Загрузка ВITIL.Форма.Форма.Форма(123)}: Ошибка при вызове конструктора (COMObject)
ExcelApplication = Новый COMObject(«Excel.Application»);
по причине:
-2147024891(0x80070005): Отказано в доступе.
-
13.11.2018, 12:13
#32
Гордость форума PRO
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от Akbar11
Регистрировал библиотеку на клиенте, под администратором. Той платформы которую запускаю
Продолжаю занудно. Какую библиотеку регистрируете? Какой командой? У вас база файловая или клиент-сервер?
Опишите поподробнее — как именно регистрируете «под администратором».
-
14.11.2018, 06:04
#33
Пришел за помощью
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от avm3110
Продолжаю занудно. Какую библиотеку регистрируете? Какой командой? У вас база файловая или клиент-сервер?
Опишите поподробнее — как именно регистрируете «под администратором».Регистрация библиотеки командой regsvr32 «C:Program Files1cv88.3.10.2466bincomcntr.dll»
Клиент — сервер
Процес, нажимаю вин + Q, пишу командная строка строка, контекстное меню запустить от имени админа, запускаю, Логин + пароль и регистрирую библиотеку
-
14.11.2018, 07:05
#34
Гордость форума PRO
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от Akbar11
Регистрация библиотеки командой regsvr32 «C:Program Files1cv88.3.10.2466bincomcntr.dll»
Клиент — сервер
Процес, нажимаю вин + Q, пишу командная строка строка, контекстное меню запустить от имени админа, запускаю, Логин + пароль и регистрирую библиотекуМдя-я-я… все как в анекдоте…
«Пьяный ходит вокруг фонаря ночью и о чем-то материться. Прохожий хочет помочь и участливо спрашивает в чем дело.
Да я ключи потерял и уже полчаса не могу найти — следует ответ.
прохожий оглядывает место под фонарем и удивляется. Да тут же ровный асфальт, сухо и отлично видно что ключей тут нет. Ты уверен что именно тут потерял?
Да нет.. потерял я в грязной луже, вон там в подворотне. Но там же очень темно искать и очень грязно и очень мокро — поэтому я ищу именно тут».Уважаемый… У Вас диагностика «не зарегистрирован класс Excel.Application». Ну и что же вы хотите добиться «упорством достойного лучшего применения» регистрируя библиотеку 1с предприятия????
-
Пользователь сказал cпасибо:
-
14.11.2018, 07:10
#35
Гордость форума PRO
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от Akbar11
Теперь ошибка немного другая
{ВнешняяОбработка.Загрузка ВITIL.Форма.Форма.Форма(123)}: Ошибка при вызове конструктора (COMObject)
ExcelApplication = Новый COMObject(«Excel.Application»);
по причине:
-2147024891(0x80070005): Отказано в доступе.А эта ошибка показывает, что пользователю под которым выполняется строка
ExcelApplication = Новый COMObject(«Excel.Application»);
нет прав на создание ком-объекта.У вас база клиент-серверная или файловая? Для файловой запустите 1с с правами администратора и попробуйте выполнить внешнюю обработку под админом с полными правами и правами администрирования.
-
14.11.2018, 08:14
#36
Пришел за помощью
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от avm3110
А эта ошибка показывает, что пользователю под которым выполняется строка
ExcelApplication = Новый COMObject(«Excel.Application»);
нет прав на создание ком-объекта.У вас база клиент-серверная или файловая? Для файловой запустите 1с с правами администратора и попробуйте выполнить внешнюю обработку под админом с полными правами и правами администрирования.
В файловой все работает, даже не под админимон
-
14.11.2018, 13:33
#37
Гордость форума PRO
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от Akbar11
В файловой все работает, даже не под админимон
Поднимите файловую на сервере и там попробуйте.
Если интерактивно в файловой будет работать, а в запущенном клиенте на сервере в клиент-сервере — нет. нужно смотреть права пользователя под которым работает 1С предприятие. А есть еще ряд настоек которые нужно будет проверять.
Пришлите вначале результаты этого тестирования
-
27.11.2018, 03:06
#38
Пришел за помощью
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от avm3110
Поднимите файловую на сервере и там попробуйте.
Если интерактивно в файловой будет работать, а в запущенном клиенте на сервере в клиент-сервере — нет. нужно смотреть права пользователя под которым работает 1С предприятие. А есть еще ряд настоек которые нужно будет проверять.
Пришлите вначале результаты этого тестирования
Здравствуйте. В файловой на сервере все работает
Последний раз редактировалось Akbar11; 27.11.2018 в 03:23.
-
27.11.2018, 03:26
#39
Пришел за помощью
Re: Ошибка при вызове конструктора (COMObject)
На сервере ошибка
{ВнешняяОбработка.Загрузка ВITIL.Форма.Форма.Форма(123)}: Ошибка при вызове конструктора (COMObject)
ExcelApplication = Новый COMObject(«Excel.Application»);
по причине:
-2147467262(0x80004002): Интерфейс не поддерживается
-
27.11.2018, 07:59
#40
Гордость форума PRO
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от Akbar11
В файловой на сервере все работает
На сервере ошибкану е-е-е-е… еще раз.. выше уже писал… Если на одном и том же компе одна и та же база поднята в файловом режиме, а затем в клиент-серверном (когда и сервер и клиент это один и тот же ком). И при этом на файловом «все работает», а на клиент-сервере подобная ошибка — следовательно проблема в правах под которым работает база.
При файл серверном — это права пользователя под которым идет запуск базы, а на клиент сервере это права пользователя под которым крутиться сервер 1С предприятия.
Решение — смотреть и фиксить эти права. Например как описано тут: — http://buh.ruboard.ru/public/196323/
Похожие темы
-
Ответов: 1
Последнее сообщение: 08.06.2017, 00:12
-
Ответов: 9
Последнее сообщение: 16.04.2014, 12:50
-
Ответов: 0
Последнее сообщение: 27.02.2014, 22:04
-
Ответов: 2
Последнее сообщение: 12.08.2013, 13:34
-
Ответов: 1
Последнее сообщение: 27.06.2013, 19:33
Социальные закладки
Социальные закладки

Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
- BB коды Вкл.
- Смайлы Вкл.
- [IMG] код Вкл.
- [VIDEO] код Вкл.
- HTML код Выкл.
Правила форума
После обновления платформы 1С на последнюю текущую версию столкнулся с ошибкой в обработке, которая работала еще до сегодняшнего дня.
Если требуется, чтобы приложение COM+ могли запускать пользователи сети, не проходящие проверку подлинности, роли приложения должны включать анонимного пользователя. В Microsoft Windows Vista® анонимный пользователь не включается по умолчанию в группу «Все». Этот тип пользователя можно добавить в мастере установки приложения COM+ при установке или создании нового приложения. В мастере на странице Добавление ролей приложения щелкните Добавить роль, введите «АНОНИМНЫЙ ВХОД» и нажмите кнопку ОК.