Версия компоненты comcntr dll отличается от версии корневого модуля core83
Решить данную проблему можно двумя способами.
Переустановить платформу под правами Администратора или под пользователем, у которого есть такие права.
Если не получилось как в способе №1, то можно вручную зарегистрировать самому эту компоненту.
Перед этим нам необходимо изменить Параметры контроль учетной записи.
Для Windows 7 нам необходимо зайти в Пуск затем в Панель управления.
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Панель управления и перейти по открывшейся ссылке.
В правом верхнем углу Панели управления выбрать Просмотр-Мелкие значки и затем в списке перейти в Учетные записи пользователей.
Там выбрать Изменить параметры контроля учетных записей.
Затем поставить ползунок в самом нижнем положении.
И перезапустить компьютер.
После перезагрузки необходимо:
Для Windows 7 надо перейти в Пуск, затем в строке поиска ввести cmd.exe,нам покажет что найдена Командная строка и, щелкнув по ней правой клавишей мыши, выбрать "Запуск от имени администратора".
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Командная панель или cmd.exe и, щелкнув по ней правой клавишей мыши, выбрать "Запуск от имени администратора".
У нас откроется Командная строка, где нам необходимо ввести команду:
1.Для платформы x86
Regsvr32 "C:\Program Files (х86)\1cv8\номер версии вашей платформы\bin\comcntr.dll" (regsvr32пробел"C:\Program Files (х86)\1cv8\номер версии вашей платформы\bin\comcntr.dll").
2.Для платформы х64
Regsvr32 "C:\Program Files\1cv8\номер версии вашей платформы\bin\comcntr.dll" (regsvr32пробел"C:\Program Files\1cv8\номер версии вашей платформы\bin\comcntr.dll").
Затем нажать клавишу Enter.
Если все сделали правильно, то увидите вот такое окно.
После этого необходимо перезагрузить компьютер. Как включится, пробуйте снова сделать синхронизацию.
Значит дело было так. Появилась необходимость подключаться к базам по 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)\1cv8\8.3.10.2168\bin\comcntr.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_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\\ выглядеть должно так
В ветке "InprocServer32" меняем значение у меня, "C:\Program Files (x86)\1cv8\8.3.10.2168\bin\comcntr.dll" на путь к нужной версии длл, в данном случае "C:\Program Files (x86)\1cv8\8.3.9.2033\bin\comcntr.dll".
Данное дейстие проделываем для всех созданных оберток.
Все готово) Для подключения к конкретной версии базы, в 1С теперь нужно использовать следующую конструкцию
В файлах утилита, которая выполнит все эти действия автоматически. Подходит для тех у кого 1С лежит в каталоге
"C:\Program Files (x86)\1cv8". У кого что то отличается, вот ссылка на GitHub . Запустить утилиту нужно от имени администратора. Надеюсь данный материал будет вам полезен)
Специальные предложения
При регистрации библиотек из разных версий 8.3, в одном СОМ приложении, возможно подключиться только к одной из версий.
(15) Решил проблему, создав компоненты в отдельных приложениях СОМ
(15) Методом проб и ошибок- свойствах приложения-> Активация-> Серверное подключение . Так заводится и создается инстанс без ошибок
Спасибо за статью. Мне она помогла, но если просто сделать как написано, возникали ошибки. Куча комментариев с разными ошибками не дали быстрого решения как именно сделать настройки. Предлагаю слегка скорректированный алгоритм. (*) - измененные шаги. В нем нет последних шагов по работе с реестром. У меня сработало на двух серверах.
Если автор посчитает возможным - можно было бы перенести в шапку.
1. Идем "Панель управления" - "Администрирование" - "Службы компонентов"
2. В оснастке служб компонентов, "Службы компонентов" - "Компьютеры" - "Мой компьютер" - "Приложения COM+"
3. Создаем новое приложение, правой кнопкой по "Приложения COM+" - "Создать" - "Приложение"
4*. Выбираем "Создать новое приложение", называем например "1cv8", тип выбираем "Серверное приложение",
Учетная запись - Текущий пользователь, Пользователь с ролью Owner - поставил администратора компьютера (сервера).
(без этого возможна ошибка -2147024769(0x8007007F): Не найдена указанная процедура)
5*. Нажимаем правой кнопкой по ветке 1cv8 – Свойства – Безопасность:
- Снимаем галку «Принудительная проверка доступа для приложений»
- Ставим галку «Применить политику программных ограничений»
- Уровень ограничений «Неограниченный»
(без этого возможна ошибка -2147024891(0x80070005): Отказано в доступе)
6. Раскрываем "1cv8", правой кнопкой по "Компоненты" - "Создать" - "Компонент".
7. Выбираем вариант "Установка новых компонентов", находим нашу библиотеку comcntr.dll (той версии платформы, к которой надо будет подключаться)
-* Если установка платформы на сервер не требуется, то достаточно скопировать в некую папку на сервере все содержимое папки bin соответствующей платформы и указать comcntr.dll из этой папки
8. Правой кнопкой по "V83.COMConnector.1" - "Псевдоним. ", меняем наименование с "CopyOf.V83.COMConnector.1" на "V83.COMConnector_8.3.9.2033". Данное действие проделываем для всех нужных версий платформ.
Решить данную проблему можно двумя способами.
Переустановить платформу под правами Администратора или под пользователем, у которого есть такие права.
Если не получилось как в способе №1, то можно вручную зарегистрировать самому эту компоненту.
Перед этим нам необходимо изменить Параметры контроль учетной записи.
Для Windows 7 нам необходимо зайти в Пуск затем в Панель управления.
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Панель управления и перейти по открывшейся ссылке.
В правом верхнем углу Панели управления выбрать Просмотр-Мелкие значки и затем в списке перейти в Учетные записи пользователей.
Там выбрать Изменить параметры контроля учетных записей.
Затем поставить ползунок в самом нижнем положении.
И перезапустить компьютер.
После перезагрузки необходимо:
Для Windows 7 надо перейти в Пуск, затем в строке поиска ввести cmd.exe,нам покажет что найдена Командная строка и, щелкнув по ней правой клавишей мыши, выбрать "Запуск от имени администратора".
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Командная панель или cmd.exe и, щелкнув по ней правой клавишей мыши, выбрать "Запуск от имени администратора".
У нас откроется Командная строка, где нам необходимо ввести команду:
1.Для платформы x86
Regsvr32 "C:Program Files (х86)1cv8номер версии вашей платформыincomcntr.dll" (regsvr32пробел"C:Program Files (х86)1cv8номер версии вашей платформыincomcntr.dll").
2.Для платформы х64
Regsvr32 "C:Program Files1cv8номер версии вашей платформыincomcntr.dll" (regsvr32пробел"C:Program Files1cv8номер версии вашей платформыincomcntr.dll").
Затем нажать клавишу Enter.
Если все сделали правильно, то увидите вот такое окно.
После этого необходимо перезагрузить компьютер. Как включится, пробуйте снова сделать синхронизацию.
После обновления платформы начала собственно выскакивать эта ошибка при синхронизации ЗУП и Бухгалтерии.
В реестре ищем все записи с упоминанием comcntr.dll и меняем путь нахождения библиотеки. Например :
Комментарии:
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.
Если фоновый процесс COM-соединения оканчивается ошибкой
: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Invalid class string
, то нужно зарегистрировать библиотеку ComConnector comcntr.dll из каталога программы.
В 32-битной версии сервера проблема решилась бы командой
regsvr32 «C:Program Files (x86)1cv88.3.5.1119incomcntr.dll»
но в 64-битной версии команда будет примерно такой * :
C:WindowsSysWOW64regsvr32 «C:Program Files (x86)1cv88.3.5.1119incomcntr.dll»
Затем перезайдите в 1С Предприятие и попробуйте установить COM-соединение снова.
* если команда регистрации не помогла, то нужно предварительно удалить регистрацию библиотеки comcntr.dll, запустив ту же команду вызова regsvr32 с ключом /u
4. Вручную выполнить регистрацию компоненты C:Program Files (x86)1cv88.3.14.1343incomcntr.dll
• Заходим в Панель управления — Администрирование — Службы компонентов.
• Переходим к ветке Компьютеры — Мой компьютер — Приложения COM+.
• В контекстном меню выбираем Создать — Приложение. Откроется Мастер установки приложений COM+.
• Нажимаем «Далее».
• Выбираем «Создать новое приложение».
• Вводим имя «V83COMConnector». Устанавливаем переключатель «Серверное приложение». Нажимаем «Далее».
• На следующем шаге устанавливаем «Текущий пользователь». Нажимаем «Далее».
• Нажимаем «Готово».
• В появившейся ветке V83COMConnector переходим к подветке Компоненты.
• В контекстном меню выбираем Создать — Компонент. Откроется Мастер установки компонентов COM+.
• Нажимаем «Далее».
• Выбираем «Установка новых компонентов».
• Выбираем файл incomcntr.dll.
• Нажимаем «Далее» — «Готово».
• Переходим к ветке V83COMConnector.
• В контекстном меню выбираем «Свойства». В открывшемся окне переходим на вкладку «Безопасность».
• Снимаем галку «Принудительная проверка доступа для приложений». Ставим галку «Применить политику программных ограничений». Устанавливаем Уровень ограничений — «Неограниченный».
• Нажимаем «ОК».
«»но в 64-битной версии команда будет примерно такой * :
C:WindowsSysWOW64
egsvr32 «C:Program Files (x86)1cv88.3.5.1119incomcntr.dll»»»
Скорее вот так, 64 bit лежит C:Program Files:
C:WindowsSysWOW64
egsvr32 «C:Program Files1cv88.3.XX.XXXXincomcntr.dll»
Добрый день.
Столкнулся с проблемой, когда РДС сервер работает с разными платформами 1С и на него нужно поставить 2 разные компоненты, которые бы работали одновременно. КАк это можно реализовать?
При синхронизации 1С ЗУП 3.0 — БП 3.0 при проверке подключения выскакивает ошибка :
В чем может быть дело? В каком направлении рыть??
(0 голосов, в среднем: 0 из 5)
Поддержите нас, расскажите друзьям!
СПРОСИТЕ в комментариях!
Это проблема связана с соединением другой базы данных по COM объекту.
Очень вероятно что не хватает прав.
Спасибо большое, помогло!
Огромное спасибо! Помогло. Вы супер!
Илья, добрый день!
А для 32-х и 64-х платформ 1С различаются процедуры?
Спасибо, тоже помогло!
В командной строке ( CMD в поиске) в моем случае вводил: regsvr32 «C:Program Files (x86)1cv88.3.12.1529incomcntr.dll»
Все время забываю об этой длл. СПАСИБО, что напоминаете.
Для 64-х платформы:
C:WindowsSysWOW64RegSvr32.exe «C:Program Files1cv88.3.15.1656incomcntr.dll»
При использовании данного сайта, вы подтверждаете свое согласие на использование файлов cookie в соответствии с настоящим уведомлением в отношении данного типа файлов. Если вы не согласны с тем, чтобы мы использовали данный тип файлов, то вы должны соответствующим образом установить настройки вашего браузера или не использовать сайт.
Отправляя любую форму на сайте, вы соглашаетесь с политикой конфиденциальности данного сайта.
Решить данную проблему можно двумя способами.
Переустановить платформу под правами Администратора или под пользователем, у которого есть такие права.
Если не получилось как в способе №1, то можно вручную зарегистрировать самому эту компоненту.
Перед этим нам необходимо изменить Параметры контроль учетной записи.
Для Windows 7 нам необходимо зайти в Пуск затем в Панель управления.
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Панель управления и перейти по открывшейся ссылке.
В правом верхнем углу Панели управления выбрать Просмотр-Мелкие значки и затем в списке перейти в Учетные записи пользователей.
Там выбрать Изменить параметры контроля учетных записей.
Затем поставить ползунок в самом нижнем положении.
И перезапустить компьютер.
После перезагрузки необходимо:
Для Windows 7 надо перейти в Пуск, затем в строке поиска ввести cmd.exe,нам покажет что найдена Командная строка и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Командная панель или cmd.exe и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».
У нас откроется Командная строка, где нам необходимо ввести команду:
1.Для платформы x86
Regsvr32 «C:Program Files (х86)1cv8номер версии вашей платформыincomcntr.dll» (regsvr32пробел»C:Program Files (х86)1cv8номер версии вашей платформыincomcntr.dll»).
2.Для платформы х64
Regsvr32 «C:Program Files1cv8номер версии вашей платформыincomcntr.dll» (regsvr32пробел»C:Program Files1cv8номер версии вашей платформыincomcntr.dll»).
Затем нажать клавишу Enter.
Если все сделали правильно, то увидите вот такое окно.
После этого необходимо перезагрузить компьютер. Как включится, пробуйте снова сделать синхронизацию.
Решить данную проблему можно двумя способами.
Переустановить платформу под правами Администратора или под пользователем, у которого есть такие права.
Если не получилось как в способе №1, то можно вручную зарегистрировать самому эту компоненту.
Перед этим нам необходимо изменить Параметры контроль учетной записи.
Для Windows 7 нам необходимо зайти в Пуск затем в Панель управления.
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Панель управления и перейти по открывшейся ссылке.
В правом верхнем углу Панели управления выбрать Просмотр-Мелкие значки и затем в списке перейти в Учетные записи пользователей.
Там выбрать Изменить параметры контроля учетных записей.
Затем поставить ползунок в самом нижнем положении.
И перезапустить компьютер.
После перезагрузки необходимо:
Для Windows 7 надо перейти в Пуск, затем в строке поиска ввести cmd.exe,нам покажет что найдена Командная строка и, щелкнув по ней правой клавишей мыши, выбрать "Запуск от имени администратора".
Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Командная панель или cmd.exe и, щелкнув по ней правой клавишей мыши, выбрать "Запуск от имени администратора".
У нас откроется Командная строка, где нам необходимо ввести команду:
1.Для платформы x86
Regsvr32 "C:Program Files (х86)1cv8номер версии вашей платформыincomcntr.dll" (regsvr32пробел"C:Program Files (х86)1cv8номер версии вашей платформыincomcntr.dll").
2.Для платформы х64
Regsvr32 "C:Program Files1cv8номер версии вашей платформыincomcntr.dll" (regsvr32пробел"C:Program Files1cv8номер версии вашей платформыincomcntr.dll").
Затем нажать клавишу Enter.
Если все сделали правильно, то увидите вот такое окно.
После этого необходимо перезагрузить компьютер. Как включится, пробуйте снова сделать синхронизацию.
— Ошибка отключения пользователей базы 1С:. Недопустимая строка с указанием класса
— Ошибка отключения пользователей базы 1С, Различаются версии клиента и сервера (8.3.x.xxxx — 8.3.9.xxxx), клиентское приложение: COM-администратор
Создаём коннектор. Запускаем консоль «Службы компонентов».
«Панель управления» — «Администрирование» — выбираем «Службы компонентов».
В открывшемся окне «Службы компонентов» добавляем новый элемент, для этого переходим «Компьютеры» — «Мой компьютер» — из списка выбираем «Приложения COM+».
В контекстном меню выбираем «Создать» — «Приложение».
Откроется Мастер установки приложений COM+.
«Установка или создание нового приложения» выбираем второй вариант «Создать новое приложение».
В поле «Введите имя нового приложения:» вводим «V83COMConnector».
«Способ активации» устанавливаем «Серверное приложение».
На следующем этапе выбираем учетную запись под которой запускается приложение.
Устанавливаем «Текущий (вошедший в систему) пользователь».
На этапе «Добавление ролей приложения» нажимаем «Далее».
На этапе «Добавление пользователей для ролей» нажимаем «Далее».
Нажимаем «Готово».
В ветке только что созданного нами приложения переходим в подветку «Компоненты» и создаем компонент.
В контекстном меню выбираем «Создать» — «Компонент».
Откроется Мастер установки компонентов COM+.
Выбираем первый вариант «Установка новых компонентов».
В открывшемся диалоге выбираем необходимый файл comcntr.dll и нажимаем «Открыть».
Окно Мастера установки компонентов COM+ измениться нажимаем «Далее».
Мастер собрал все необходимые сведения для выполнения установки, нажимаем «Готово».
Обратите внимание: после установки необходимо изменить свойства объекта.
Для этого переходим к ветке V83COMConnector.
Открываем свойства созданного компонента, переходим в ветку V83COMConnector — «Свойства».
В открывшемся окне переходим на вкладку «Безопасность».
В «Авторизация» снимаем флаг «Принудительная проверка доступа для приложений».
В «Политика программных ограничений» устанавливаем флаг «Применить политику программных ограничений» и выбираем «Уровень ограничений:» — «Неограниченный».
«Ошибка отключения пользователей базы 1С, Процесс сервера не может быть запущен, так как указана неправильная идентификация. Проверьте правильность указания имени пользователя и пароля, Prog >
Переходим на вкладку «Удостоверение», устанавливаем «Указанный пользователь:» и вводим данные учетной записи с правами Администратора. В случае если используете домен, укажите доменную учетную запись.
Переход на редакцию 3.0 происходит в виде штатного обновления и не представляет из себя ничего сложного. В данной статье я постараюсь сделать упор на восстановление обмена с УТ 10.3 и ошибку с задвоенными элементами регистров сведений. Статья подготовлена на основе рекомендаций компании 1С и личного опыта. Все действия производились на платформе 8.3.4.482.
На старте имеем клиентскую базу бухгалтерии редации 2.0.57.10. Для начала по пунктам переход на 3.0:
- В обязательном порядке поднимаем релиз до максимального 2.0. В моем случае до 2.0.59.4.
- В случае, если КЛАДР был загружен по всем областям, желательно очистить классификатор. С данным пунктом связана ошибка нехватки памяти.
А классификатор адресов при переходе на 3.0 в любом случае придется загружать заново. Для малоопытных сотрудников и "слишком программистов": КЛАДР можно очистить штатным способом: - Удалите помеченные объекты.
- Желательно запустить внешнее и внутренее тестирование информационной базы (Ссылки чистим, объекты удаляем) со сжатем таблиц ИБ.
- Добавляем вашему пользователю право администратора системы (Если пользователей нет — пропускайте пункт):
- Далее запускаем штатный механизм обновления. Для перехода на 3.0 требуется специальный дистрибутив (на диске ИТС либо на сайте поддержки пользователей).
- После перехода (сам процесс отличается от обычного обновления разве что большей продолжительностью) обязательно запускайте тестирование со сжатием ИБ.
Для примера: файл 1CD до перехода "весил" 1.3Гб, после перехода размер составлял уже 2.2Гб. Соответственно после сжатия: всего 823 Мб. Учитывая, что для статьи
я использовал одну из самых миниатюрных клиентских баз, экономия может быть существенной. - Далее загрузите свежий КЛАДР и настройте для пользователей внешний вид. Для меня наиболее оптимальной является следующая настройка:
Переход на 3.0 завершен и если у Вас нет базы УТ с настроенным обменом, то можете счастливо улыбнуться и пойти попить чай) В противном случае продолжим.
Для возобновления штатного обмена (По новому синхронизации данных) необходимо воспользовать обработкой поставляемой вместе с дистрибутивом перехода на 3.0
Последовательность действий следующая:
- Проверяем настройки синхронизации данных в БП 3.0 (Администрирование — Синхронизация данных — Настройки). По умолчанию режим обмена установлен в "Двусторонний (БП УТ)".
При необходимости меняем на односторонний: - Запускаем обработку конвертации обменов в БП. Указываем текущую настройку и файл, куда будут выгружены необходимые данные:
- Открываем эту же обработку в УТ. Также указываем текущий обмен и ранее созданный файл (В моем случае 123.xml):
- Жмем "Обновить настройки". Восстановление обмена завершено. Запускается он теперь несколько иначе:
Обращаю внимание, что данный пункт не будет доступен, если в настройках не будет стоять пометки обмена с продуктами на платформе 8.2:
Для синхронизации остается нажать на заветную кнопку:
Теперь об ошибках. При запуске обработки конвертации на стороне БП во внешний файл помимо служебной информации копируется регистр сведений "(Не используется) Соответствие объектов для обмена".
Сразу после перехода на 3.0 в нем находится куча пустых ссылок по справочнику банки. Не совсем понятно, зачем нужно было при переходе удалять ссылки на банки в данном регистре, но данное обстоятельство настройке обмена в принципе не мешает.
Хотя я строки с битыми ссылками удаляю. А вот дубли по уникальным идентификаторам в данном регистре приводят вот к такой ошибке при загрузке данных в УТ:
з-за чего возникла такая ситуация, если в регистр в принипе нельзя записать одинаковые строки: в колонке "Ссылка в другой ИБ" в регистре "(Не используется) Соответствие объектов для обмена" содержаться записи следующего вида:
. Первая группа символов (после решетки) указывает на расположение объекта (Например СправочникСсылка.АдресныеСокращения), далее идет номер таблицы БД и после двоеточия сам уникальный идентификатор (Но не в прямом порядке). Расположение элемента и его идентификатор разумеется будут одинаковыми (в противном случае это уже не дубль, а попросту другой элемент), а вот номер таблицы вполне может измениться (Встречал на практике). Проблема решается удалением строк в регистре с меньшими номерами таблиц (Т.е. из записей 25:b167babe02dfcccc11e2236865511b46 и 35:b167babe02dfcccc11e2236865511b46 оставляем последнюю).
Для решения проблемы с дублями была создана обработка очистки регистра "(Не используется) Соответствие объектов для обмена".
Читайте также: