Ошибка v82 comconnector на сервере 64

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

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

Предлагаемая ниже методика позволяет избавиться от описываемой проблемы. К сожалению, после переустановки платформы все возвращается на круги своя и процедуру приходится повторять.

Ссылки по теме:

http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=555004

http://www.steeltrace.ru/details/articleid/22/%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F-1%D1%81-com-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%B0-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-64-%D0%B1%D0%B8%D1%82%D0%BD%D1%8B%D0%BC%D0%B8-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%D0%BC%D0%B8.aspx

UpdДополнение: если на Windows-сервере 64-бит стоит Сервер 1С Предприятие 64-бит (в дистрибутиве windows64.rar), 
то такой проблемы не будет. Уставщик позволяет поставить COM-коннектор без установки самого севера. Это полезно, когда приложение реализовано на платформе 8.3, а COM-соединение нужно к базам на 8.2.

Com64bit

За дополнение спасибо brix8x.

Приведен алгоритм настройки системы, со скрином к каждому действию.

План:

1. Остановка сервера 1С (рекомендуется, но не обязательно)

2. Регистрация компоненты comcntr.dll

3. Создание обертки COM+, позволяющей 64-битному приложению взаимодействовать с 32-битном.

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

5. Старт сервера 1С. (обязательно 🙂  

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

CMD

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

Регистрация comcntr.dll

Upd. Если компонента не регистрируется, то возможно придется сначала удалить старую компоненту, только затем встанет новая.
Делаем regsvr32 /u «c:Program Files1cv88.2.18.82incomcntr.dll» 
Затем тоже самое, но без «/u» regsvr32 «c:Program Files1cv88.2.18.82incomcntr.dll» 

За дополнение спасибо shur52.

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

Старт службы компонентов

Регистрация нового приложения

В ветке Components добавляем новую компоненту comcntr.dll

ВАЖНО!!! После установки нужно немного изменить свойства. Эта тонкость нигде не описана, без нее у меня не работало!

Перезапуск физического сервера

Старт сервера 1С.

Я
   Стальная Крыса

18.08.11 — 12:17

Кто-нибудь пользует такой вызов ?

Т.е. в серверном модуле (сервер x64) соединение с другой базой. Например для регулярного получения каких-то произвольных данных.

Вываливается ошибка о том что «класс V82.ComConnector не зарегистрирован».

На клиентской-то стороне все ок.

Понятно, что происходит хрень при вызове библиотек x32 из приложений x64, но может есть какой-то путь ?

   Defender aka LINN

1 — 18.08.11 — 12:20

(0) А если сервер под админом запустить?

   Стальная Крыса

2 — 18.08.11 — 14:55

была такая мысль…

но его однако перезапустить нужно при этом (в смысле — службу сервера 1С), а сервер-то боевой.

зы. но завтра все равно попробую — запущу еще экземпляр   :)

   Стальная Крыса

3 — 19.08.11 — 11:04

под админом такая же х…. :(

   Lama12

4 — 22.08.11 — 17:52

Вообще Com на сервере работает?

   Serginio1

5 — 22.08.11 — 18:07

http://www.steeltrace.ru/details/articleid/22/регистрация-1с-com-компонента-для-работы-с-64-битными-приложениями.aspx

   DmitrO

6 — 22.08.11 — 18:16

в составе x64 дистрибутива есть comcntr.dll, посмотри на сервере в папке bin, он наверно x64?

   Nexux

7 — 22.08.11 — 18:27

при установке сервера не отметили «COM-соединение»

   Serginio1

8 — 22.08.11 — 18:29

(6)Есть, Наверное просто не зарегестрирована.

(7) Да точно.

   Стальная Крыса

9 — 22.08.11 — 18:48

Если переделать конфу для выполнения кода на клиенте и запустить 1С на том самом сервере — все отрабатывает

   Nexux

10 — 22.08.11 — 18:50

потому что клиент x32

   Стальная Крыса

11 — 22.08.11 — 19:03

(10) это понятно.

(5) сегодня (уже так) попробую на работе.

   Стальная Крыса

12 — 23.08.11 — 03:30

сделал как в (5)

но получаю отлуп в виде «Отказано в доступе», это уже лучше, но результат все равно нулевой.

зы. внес учетку сервера 1С в группу «администраторы», перезапустил службу сервера 1С — успеха не дало.

в обед планирую перезапустить сам сервак — может этого-то как раз и не хватает.

   Alex375

13 — 23.08.11 — 03:33

Я сталкивался с проблемами доступа при выполнении кода на сервере 8.2. В результате завел в домене учетку и запускаю от ее имени службу 1С сервера — проблем с доступом больше нет :)

   Стальная Крыса

14 — 23.08.11 — 03:51

серверная учетка — именно доменная

  

Стальная Крыса

15 — 23.08.11 — 04:25

уф, заработало   :)

при просмотре журнала «Система» увидел строку ошибки, которая гласит:

Параметры разрешений для конкретного приложения не дают разрешения Локальный Активация для приложения COM-сервера с CLSID

{2B0C1632-A199-4350-AA2D-2AEE3D2D573A}

пользователю VSV8SRV2 с SID (S-1-5-21-3130539278-2622096588-3598039170-4160) и адресом LocalHost (с использованием LRPC). Это разрешение безопасности можно изменить с помощью служебной программы управления службами компонентов.

это навело на мысль.

в ветке созданного приложения COM+ в «ролях» добавил пользователя и указал учетку сервера.

и — вуаля …   :)

всем огромное спасибо за помощь !!!

зы. для справки: сервер Windows 2008 Enterprise x64

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

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

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

Предлагаемая ниже методика позволяет избавиться от описываемой проблемы. К сожалению, после переустановки платформы все возвращается на круги своя и процедуру приходится повторять.

Ссылки по теме:

http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=555004

http://www.steeltrace.ru/details/articleid/22/%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F-1%D1%81-com-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%B0-%D0%B4%D0%BB%D1%8F-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D1%81-64-%D0%B1%D0%B8%D1%82%D0%BD%D1%8B%D0%BC%D0%B8-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%D0%BC%D0%B8.aspx

UpdДополнение: если на Windows-сервере 64-бит стоит Сервер 1С Предприятие 64-бит (в дистрибутиве windows64.rar), 
то такой проблемы не будет. Уставщик позволяет поставить COM-коннектор без установки самого севера. Это полезно, когда приложение реализовано на платформе 8.3, а COM-соединение нужно к базам на 8.2.

Com64bit

За дополнение спасибо brix8x.

Приведен алгоритм настройки системы, со скрином к каждому действию.

План:

1. Остановка сервера 1С (рекомендуется, но не обязательно)

2. Регистрация компоненты comcntr.dll

3. Создание обертки COM+, позволяющей 64-битному приложению взаимодействовать с 32-битном.

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

5. Старт сервера 1С. (обязательно 🙂  

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

CMD

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

Регистрация comcntr.dll

Upd. Если компонента не регистрируется, то возможно придется сначала удалить старую компоненту, только затем встанет новая.
Делаем regsvr32 /u «c:Program Files1cv88.2.18.82incomcntr.dll» 
Затем тоже самое, но без «/u» regsvr32 «c:Program Files1cv88.2.18.82incomcntr.dll» 

За дополнение спасибо shur52.

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

Старт службы компонентов

Регистрация нового приложения

В ветке Components добавляем новую компоненту comcntr.dll

ВАЖНО!!! После установки нужно немного изменить свойства. Эта тонкость нигде не описана, без нее у меня не работало!

Перезапуск физического сервера

Старт сервера 1С.

Если сервер 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”

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

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

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

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

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

Ссылки:

Регистрация библиотеки comcntr.dll (regsvr32 comcntr.dll) на стороне клиента не помогает.

64 битные приложения не могут запускать 32 битные DLL которые активируются при запуске 32 битного COM объекта 1С. Для решения проблемы нужно воспользоваться оберткой COM+ которая являясь 64 битным приложением может взаимодействовать с 32 битными библиотеками. Для это необходимо выполнить следующие шаги:

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

  2. В ветке Приложения COM+ добавляем новое приложение: Создать → Приложение

  3. На вопрос «Установка или создание нового приложения» — выбираем «Создать новое приложение».

  4. Имя нового приложения лучше написать чтобы было понятно о чем речь: V8_ComConnector, способ активации — «серверное приложение».

  5. Учетная запись для запуска приложения: выбираем учетку под которой стартует сервер 1С.

  6. В ветке созданного приложения переходим на ветку «Роли» открываем роль «CreatorOwner» и далее в разделе «Пользователи» создаем пользователя — учетную запись под которой работает сервер 1С.

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

  8. Выбираем «Установка новых компонентов», и в диалоге выбираем нужную DLL-ку (comcntr.dll)

  9. Открываем свойства только что созданного компонента, идем на вкладку «Безопасность», проверяем в списке «Явно установленные для выделенных объектов роли» стоит ли «птичка» напротив роль CreatorOwner — если нет, тогда устанавливаем эту «птичку».

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

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

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

Regsvr32 «C:Program Files1cv88.3.7.1776bincomcntr.dll»

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

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

•Переходим к ветке Компьютеры — Мой компьютер — Приложения COM+.

•В контекстном меню выбираем Создать — Приложение. Откроется Мастер установки приложений COM+.

•Нажимаем «Далее».

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

•Вводим имя «V83COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».

•На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».

•Нажимаем «Готово».

•В появившейся ветке V83COMConnector переходим к подветке Компоненты.

•В контекстном меню выбираем Создать — Компонент. Откроется Мастер установки компонентов COM+.

•Нажимаем «Далее».

•Выбираем «Установка новых компонентов».

•Выбираем файл <каталог 1С>bincomcntr.dll.

•Нажимаем «Далее» — «Готово».

•Переходим к ветке V83COMConnector.

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

•Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».

•Нажимаем «ОК».

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

Бывало так, что вместо Текущий пользователь нужно прописать USR1CV8

При установке 64 битного сервера, для использования COM-соединения необходимо отметить флажок. После установки, в операционной системе Windows, автоматически будет зарегистрирована компонента V82.COMConnector или V83.COMConnector, в зависимости от версии сервера. Если по какой-то причине компонента не зарегистрировалась автоматически, то ее можно зарегистрировать вручную: регистрация компоненты в командной строке. Для взаимодействия с 32 битными клиентскими приложениями инсталлятор 64 битного сервера автоматически создает специальную обертку «Приложение COM+» в службах компонентов Windows. Если по какой-то причине обертка не создалась автоматически, то ее можно создать вручную.

Добавление «Приложение COM+»

Как известно, в управляемом приложении программный код обрабатывается на сервере или на клиенте. Если не создано «Приложение COM+», то на клиенте COM-соединение работает, а на сервере появляется ошибка.

«Приложение COM+» создается в «Службах компонентов».
Windows Servere 2008: ПУСК->Administrative Tools->Component Services.
Windows 7: ПУСК->Панель управления->Администрирование->Службы компонентов.


Службы компонентов windows


Мастер установки приложений COM+


Установка или создание нового приложения


Создание нового приложения

Укажите пользователя, который был указан при установке сервера 1С

Удостоверение нового приложения


Добавление ролей приложения


Добавление пользователей для ролей


Создание компоненты


Мастер установки компонентов COM+

Выберите comcntr.dll из директории с установленным сервером 1С

Импорт или установка компонента


Установка новых компонентов

Чтобы установить внешнее соединение с информационной базой 1С:Предприятие 8.3 применяют COMConnector. Это позволяет выполнять любое количество подключений.  Пользователям, обладающим 64-разрядной платформы 1С:Предприятие 8.3, для осуществления корректной работы режима ComConnector необходимо создать дополнительное COM-соединение. Чтобы это сделать потребуется выполнить определенную последовательность действий.

Содержание

  1. Как создать оболочку COM+ для 1С (Платформа 1С x64)
  2. Ошибка «Нам не удалось найти 1С на вашем ПК»
  3. Как зарегистрировать файл comcntr.dll из каталога 1С в реестре ОС Windows

Как создать оболочку COM+ для 1С (Платформа 1С x64)

1) Регистрация компонента comcntr.dll.

2) Желательно выполнить остановку сервера.

3) Далее необходимо перейти в раздел Панель управления — Все элементы панели управления — Администрирование.
Регистрация com-компоненты 1С:Предприятие 8.3
4) После чего открыть Службы компонентов, как показано на примере ниже.

Регистрация com-компоненты 1С:Предприятие 8.3

4) Теперь необходимо кликнуть правой кнопкой мыши по Приложения COM+ и из выпадающего списка выбрать пункт Создать — Приложение.

Регистрация com-компоненты 1С:Предприятие 8.3

5) В результате запустится Мастер установки приложения COM+, установку необходимо выполнить согласно следующей инструкции:

  • во втором окне из двух предложенных вариантов выбрать Создать новое положение;
  • имя нового положения нужно указать V82_COMConnector;
  • Способ активации: Серверное приложение;

Регистрация com-компоненты 1С:Предприятие 8.3

  • на шаге выбора учетной записи для запуска приложения выбираем вариант Указанный пользователь, после чего вводим данные для авторизации;

Регистрация com-компоненты 1С:Предприятие 8.3

  • добавляем роли приложения.

Регистрация com-компоненты 1С:Предприятие 8.3

6) Теперь нам необходимо открыть V82_COMConnector, далее правой кнопкой мыши кликаем по Компоненты и из выпадающего списка выбираем Создать — Компонент.

Регистрация com-компоненты 1С:Предприятие 8.3

7) Запускаем Мастер установки компонентов COM+, на шаге Импорт или установка компонента выбираем вариант Установка новых компонентов, после чего указываем путь к файлу к comcntr.dll.

Регистрация com-компоненты 1С:Предприятие 8.3

Регистрация com-компоненты 1С:Предприятие 8.3

8) В окне Службы компонентов правой кнопкой мыши кликаем по V82_COMConnector и выбираем Свойства. В открывшемся окне Свойств нам нужно снять флажок в пункте Принудительная проверка доступа для приложения, после чего сохраняем настройки, нажав кнопку ОК.

Регистрация com-компоненты 1С:Предприятие 8.3

Готово, остается только перезагрузить сервер 1С. Важно, при смене логина или пароля учетной записи, необходимо перенастроить созданное ранее подключение. Далее мы расскажем о наиболее часто встречающейся проблеме и способах её решения при настройке подключения к 1С через ComConnector.

Некоторые пользователи могут столкнуться с сообщением об ошибке «Нам не удалось найти 1С на вашем ПК». Существует несколько возможных причин появления данного сообщения.

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

Возможная причина 2: При установке программы 1С по компьютер не произошла автоматическая установка файла comcntr.dll 

Решение проблемы: необходимо выполнить регистрацию файл comcntr.dll из каталога 1С в реестре операционной системы Windows.

Важно обратить внимание на следующие моменты:

  • при наличии установленных двух и более версий программы 1С, необходимо выполнить отмету регистрации неактуальных версий, только после этого можно выполнять регистрацию файл comcntr.dll;
  • при наличии установленной 1С в обеих папках Program Files, нужно выполнить отмену регистрации dll-файлов для обеих папок, после чего нужно зарегистрируйте файл актуальной версии.

Как зарегистрировать файл comcntr.dll из каталога 1С в реестре ОС Windows

1.1 Находим ярлык программы 1С на рабочем столе компьютера и кликаем правой кнопкой мыши, далее из выпадающего списка выбираем пункт Свойства.

Регистрация com-компоненты 1С:Предприятие 8.3

1.2 В открывшемся окне Свойства: 1С Предприятие переходим во вкладку Ярлык, где нам необходимо скопировать текст из строки Объект до третьего символа «». Для версии 1С 8.3 это «1cv8», для версии 8.2 — «1cv82».

Регистрация com-компоненты 1С:Предприятие 8.3

2.1 Далее вставляем адрес каталога 1С: Предприятие в проводник Windows, после чего жмем Enter на клавиатуре.

2.2 После нужно выбрать актуальную версию платформы для регистрации объекта или с предыдущей версией платформы для отмены регистрации объекта.

2.3 Следующим шагом открываем папку bin и находим в ней файл comcntr.dll.
Регистрация com-компоненты 1С:Предприятие 8.3

2.4 После того, как требуемый файл найден, кликаем по нему правой кнопкой мыши и из выпадающего списка выбираем пункт Свойства.

2.5 Переходим во вкладку Безопасность, где нам нужно целиком скопировать значение из строки Имя объекта.

Регистрация com-компоненты 1С:Предприятие 8.3

3.1 ​Запустите командную строку:

  • Чтобы запустить командную строку в ОС  Windows 7 нужно открыть Пуск и ввести cmd в строку поиска. После чего нажать правой кнопкой мыши на cmd.exe и выбрать Запуск от имени администратора.
  • Для запуска командной строки в ОС Windows 10 нажимаем сочетание клавиш Win+X на клавиатуре, далее выбираем Командная строка (администратор).

3.2 В командной следует указать следующую команду:

«regsvr32 /u» — для отмены регистрации;
«regsvr32» — для регистрации.

3.3 Нажимаем клавишу Пробел а клавиатуре и вставляем скопированный адрес файла comcntr.dll в командную строку. Если в адресе есть пробелы, напишите его 

в кавычках

.

Пример:

regsvr32 /u «C:/Program Files (x86)/1cv82/8.2.16.368/bin/comcntr.dll»

3.4  Далее жмем Enter. Повторяем команду отмены регистрации regsvr32 /u для всех неактуальных версий платформы 1С. Для актуальной версии регистрацию проведите один раз.

Готово, в результате мы выполнили успешную регистрацию файла comcntr.dll в системе.

Возможная причина 3: при использовании 64-разрядной версию платформы 1С: Предприятие не было создано дополнительное COM-соединение.
Решение проблемы: решение этой проблемы заключается в создании дополнительного COM-соединение, в результате режим ComConnector будет работать в корректном режиме.

Если предложенные решения не помогли, обратитесь к специалистам компании МэйнСервис. 

Решаем проблему интеграции (импорт, экспорт документов) 1С с другими программами. К примеру с ПК «M.E.Doc» (МЕДок) при помощи нашей разработки »
Документ-Навигатор»

———————————————-

Названия файлов библиотек для версий 1С :

— для 1с7 — V7Plus.dll

— для 1с8 — comcntr.dll

Для 1с версии 7.* это путь как правило C: Program Files 1Cv77 BIN

Для 1с версии 8.* это путь как правило C: Program Files 1cv8 8.3.9.2170 bin

———————————

Инструкцию для решения проблемы регистрации комконнектора на 64 разрядном сервере.

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

Внимание!!! — для 1С версии 8.3 — компонент будет называться соответственно — V83_COMConnector

Можно выбрать вариант Interactive user 

В ветке Components добавляем новую компоненту comcntr.dll

ВАЖНО!!! После установки нужно немного изменить свойства.

Готово.

—————

Важный момен — Какой разрядности дистрибутив вашей 1С? Соответственно указывайте правильный пусть к файлу comcntr.dll

————

Приводим примеры как не надо делать (в подавляющем большинстве случаев не корректно работает) :

Windows (x64) + Дистрибутив 1С x64

Для того чтобы зарегистрировать ComConnector в 64 разрядной операционной системе Windows выполняетсякоманда: C:WindowsSysWOW64regsvr32 «C:Program FilesBAF8.3.14.1669bincomcntr.dll»

Запускаем командную строку от админа….

c:WindowsSystem32>

c:WindowsSystem32>cd c:WindowsSysWOW64

c:WindowsSysWOW64>

c:WindowsSysWOW64>regsvr32 «c:program filesBAF8.3.14.1669bincomcntr.dll»

… Деинсталяцияc:WindowsSysWOW64>regsvr32 «c:program filesBAF8.3.14.1669bincomcntr.dll» /u

————

Windows (x32)

Для 32 разрядной операционной системы Windows выполняетсякоманда: C:WindowsSystem32regsvr32 «C:Program Files (x86)1cv88.3.9.2233bincomcntr.dll»

Запускаем командную строку от админа….

c:WindowsSystem32>

c:WindowsSystem32>regsvr32 «c:program files (x86)1cv88.3.9.2233bincomcntr.dll»

… Деинсталяцияc:WindowsSystem32>regsvr32 «c:program files (x86)1cv88.3.9.2233bincomcntr.dll» /u

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

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

Порядок регистрации компонента V82.COMConnector.

1. Заходим в Панель управления → Администрирование → Службы компонентов.

Службы компонентов

2. Переходим к ветке Компьютеры → Мой компьютер → Приложения COM+.

Приложения COM+

3. В контекстном меню выбираем Создать → Приложение. Откроется Мастер установки приложений COM+.

Мастер установки приложений COM+

4. Нажимаем «Далее».

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

Установка или создание нового приложения

6. Вводим имя «V82COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».

Создание нового приложения

7. На следущем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».

Удостоверение приложения

8. Нажимаем «Готово».

9. В появившейся ветке V82COMConnector переходим к подветке Компоненты.

V82COMConnector. Компоненты

10. В контекстном меню выбираем Создать → Компонент. Откроется Мастер установки компонентов COM+.

Мастер установки компонентов COM+

11. Нажимаем «Далее».

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

Импорт или установка компонента

13. Выбираем файл <каталог 1С>bincomcntr.dll.

Выбор файла comcntr.dll

14. Нажимаем «Далее» → «Готово».
15. Переходим к ветке V82COMConnector.

V82COMConnector

16. В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность».

17. Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».

V82COMConnector

18. Нажимаем «ОК».

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

   Стальная Крыса

18.08.11 — 12:17

Кто-нибудь пользует такой вызов ?

Т.е. в серверном модуле (сервер x64) соединение с другой базой. Например для регулярного получения каких-то произвольных данных.

Вываливается ошибка о том что «класс V82.ComConnector не зарегистрирован».

На клиентской-то стороне все ок.

Понятно, что происходит хрень при вызове библиотек x32 из приложений x64, но может есть какой-то путь ?

   Defender aka LINN

1 — 18.08.11 — 12:20

(0) А если сервер под админом запустить?

   Стальная Крыса

2 — 18.08.11 — 14:55

была такая мысль…

но его однако перезапустить нужно при этом (в смысле — службу сервера 1С), а сервер-то боевой.

зы. но завтра все равно попробую — запущу еще экземпляр  :)

   Стальная Крыса

3 — 19.08.11 — 11:04

под админом такая же х…. :(

   Lama12

4 — 22.08.11 — 17:52

Вообще Com на сервере работает?

   Serginio1

5 — 22.08.11 — 18:07

   DmitrO

6 — 22.08.11 — 18:16

в составе x64 дистрибутива есть comcntr.dll, посмотри на сервере в папке bin, он наверно x64?

   Nexux

7 — 22.08.11 — 18:27

при установке сервера не отметили «COM-соединение»

   Serginio1

8 — 22.08.11 — 18:29

(6)Есть, Наверное просто не зарегестрирована.

(7) Да точно.

   Стальная Крыса

9 — 22.08.11 — 18:48

Если переделать конфу для выполнения кода на клиенте и запустить 1С на том самом сервере — все отрабатывает

   Nexux

10 — 22.08.11 — 18:50

потому что клиент x32

   Стальная Крыса

11 — 22.08.11 — 19:03

(10) это понятно.

(5) сегодня (уже так) попробую на работе.

   Стальная Крыса

12 — 23.08.11 — 03:30

сделал как в (5)

но получаю отлуп в виде «Отказано в доступе», это уже лучше, но результат все равно нулевой.

зы. внес учетку сервера 1С в группу «администраторы», перезапустил службу сервера 1С — успеха не дало.

в обед планирую перезапустить сам сервак — может этого-то как раз и не хватает.

   Alex375

13 — 23.08.11 — 03:33

Я сталкивался с проблемами доступа при выполнении кода на сервере 8.2. В результате завел в домене учетку и запускаю от ее имени службу 1С сервера — проблем с доступом больше нет :)

   Стальная Крыса

14 — 23.08.11 — 03:51

серверная учетка — именно доменная

  

Стальная Крыса

15 — 23.08.11 — 04:25

уф, заработало  :)

при просмотре журнала «Система» увидел строку ошибки, которая гласит:

Параметры разрешений для конкретного приложения не дают разрешения Локальный Активация для приложения COM-сервера с CLSID

{2B0C1632-A199-4350-AA2D-2AEE3D2D573A}

пользователю VSV8SRV2 с SID (S-1-5-21-3130539278-2622096588-3598039170-4160) и адресом LocalHost (с использованием LRPC). Это разрешение безопасности можно изменить с помощью служебной программы управления службами компонентов.

это навело на мысль.

в ветке созданного приложения COM+ в «ролях» добавил пользователя и указал учетку сервера.

и — вуаля …  :)

всем огромное спасибо за помощь !!!

зы. для справки: сервер Windows 2008 Enterprise x64

В серверном варианте (сервер Предприятия 64 бит) при попытке обмена данными с другой конфигурацией возникает ошибка «V82.ComConnector класс не зарегистрирован»

Ссылки:

Регистрация библиотеки comcntr.dll (regsvr32 comcntr.dll) на стороне клиента не помогает.

64 битные приложения не могут запускать 32 битные DLL которые активируются при запуске 32 битного COM объекта 1С. Для решения проблемы нужно воспользоваться оберткой COM+ которая являясь 64 битным приложением может взаимодействовать с 32 битными библиотеками. Для это необходимо выполнить следующие шаги:

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

  2. В ветке Приложения COM+ добавляем новое приложение: Создать → Приложение

  3. На вопрос «Установка или создание нового приложения» — выбираем «Создать новое приложение».

  4. Имя нового приложения лучше написать чтобы было понятно о чем речь: V8_ComConnector, способ активации — «серверное приложение».

  5. Учетная запись для запуска приложения: выбираем учетку под которой стартует сервер 1С.

  6. В ветке созданного приложения переходим на ветку «Роли» открываем роль «CreatorOwner» и далее в разделе «Пользователи» создаем пользователя — учетную запись под которой работает сервер 1С.

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

  8. Выбираем «Установка новых компонентов», и в диалоге выбираем нужную DLL-ку (comcntr.dll)

  9. Открываем свойства только что созданного компонента, идем на вкладку «Безопасность», проверяем в списке «Явно установленные для выделенных объектов роли» стоит ли «птичка» напротив роль CreatorOwner — если нет, тогда устанавливаем эту «птичку».

При установке 64 битного сервера, для использования COM-соединения необходимо отметить флажок. После установки, в операционной системе Windows, автоматически будет зарегистрирована компонента V82.COMConnector или V83.COMConnector, в зависимости от версии сервера. Если по какой-то причине компонента не зарегистрировалась автоматически, то ее можно зарегистрировать вручную: регистрация компоненты в командной строке. Для взаимодействия с 32 битными клиентскими приложениями инсталлятор 64 битного сервера автоматически создает специальную обертку «Приложение COM+» в службах компонентов Windows. Если по какой-то причине обертка не создалась автоматически, то ее можно создать вручную.

Добавление «Приложение COM+»

Как известно, в управляемом приложении программный код обрабатывается на сервере или на клиенте. Если не создано «Приложение COM+», то на клиенте COM-соединение работает, а на сервере появляется ошибка.

«Приложение COM+» создается в «Службах компонентов».
Windows Servere 2008: ПУСК->Administrative Tools->Component Services.
Windows 7: ПУСК->Панель управления->Администрирование->Службы компонентов.


Службы компонентов windows


Мастер установки приложений COM+


Установка или создание нового приложения


Создание нового приложения

Укажите пользователя, который был указан при установке сервера 1С

Удостоверение нового приложения


Добавление ролей приложения


Добавление пользователей для ролей


Создание компоненты


Мастер установки компонентов COM+

Выберите comcntr.dll из директории с установленным сервером 1С

Импорт или установка компонента


Установка новых компонентов

  • Ошибка v71 пассат б5
  • Ошибка vcm iveco eurocargo
  • Ошибка v71 гольф 5
  • Ошибка vbs требуется объект
  • Ошибка v71 passat b6