У програмному забезпеченні 1С, як і в будь-якому іншому, іноді виникають помилки. Це не дає софту нормально функціонувати і може загальмувати роботу цілої організації. Тому потрібно знати, як справлятися з різними збоями. Зокрема, сьогодні ми розберемо, через що виникає помилка «2147221164 (0x80040154): Клас не зареєстрований», і що потрібно зробити, щоб її виправити.
Зміст статті:
- Когда появляется ошибка 2147221164 1 Коли з'являється помилка 2147221164
- Справляемся с проблемой 2 Справляємося з проблемою
- Регистрируем библиотеку comcntr.dll 2.1 Реєструємо бібліотеку comcntr.dll
- Создаем новое приложение СОМ+ 2.2 Створюємо новий додаток СОМ +
Коли з'являється помилка 2147221164
Помилка «2147221164 (0x80040154): Клас не зареєстрований» з'являється через конфлікт версій 1С, які в даний момент встановлюють між собою з'єднання. Розберемо докладніше. Інформаційні БД 1С проводять обмін даних за допомогою СОМ-з'єднання. І, якщо, наприклад, платформа 1С: Підприємство конфігурації 8.3 намагається встановити зв'язок з 1С версії 8.1, то на цьому етапі при спробі підключення до СОМ-сервера і вискакує дана помилка.
Для початку визначимо, що у сервера 1С є кілька версій:
- 32-бітна 8.1 (х86).
- 64-бітові 8.2 і 8.3 (х64).
Неполадки з'являються на самому сервері з БД. Корінь проблеми в тому, що версії 1С архітектури х64 не можуть безпосередньо звернутися до 32-бітної бібліотеці comcntr.dll. У цьому випадку з'єднання відбувається за допомогою додатків СОМ +, здатних взаємодіяти з бібліотеками х86.
Читайте також: Невірний формат сховища даних 1C 8.3 як виправити .
Справляємося з проблемою
Закінчуємо з теорією і переходимо до практики - пробуємо виправити помилку «2147221164 (0x80040154): Клас не зареєстрований».
Реєструємо бібліотеку comcntr.dll
Помилка може проявитися, якщо не зареєстрована бібліотека comcntr.dll. Вирішуємо її наступним чином. Викликаємо рядок «Виконати» (клікнувши ПКМ по кнопці «Пуск») і вводимо regsvr32.exe «C: \ Program Files (86) \ 1cv82 \ 8.3.XX.XXXX \ bin \ comcntr.dll». Натискаємо ОК і, якщо все пройшло коректно, то ми побачимо повідомлення про успішну реєстрацію бібліотеки.
Створюємо новий додаток СОМ +
Якщо бібліотека зареєстрована, але проблема залишається, то натискаємо ПКМ по кнопці «Пуск» (для ОС Windows 10) і викликаємо «Панель управління». Потім входимо в розділ «Система і безпека», після чого переходимо в «Адміністрування». З'являється вікно, в якому ми шукаємо рядок «Служби компонентів» і відкриваємо її подвійним клацанням ЛКМ. У новій консолі два рази натискаємо ЛКМ по папці «Комп'ютер» і потім «Мій комп'ютер». Перед нами з'являється список папок. «Приложение». ПКМ натискаємо на «Додатки СОМ +» і вибираємо «Створити» → «Додаток».
Далі діємо в такий спосіб.
- У відкритому Майстрі натискаємо «Далі» і, коли в наступному вікні нам запропонують дію на вибір, натискаємо «Створити новий додаток».
- У відповідному рядку присвоюємо новому додатку ім'я, яке буде зрозуміло не тільки нам, а й іншим користувачам при подальшій роботі, наприклад 1CV8_ComConnect. Тут же вибираємо спосіб активації - «Серверне додаток».
- Тепер проводимо процедуру посвідчення. В поле «Зазначений користувач» за допомогою функції «Обзор» шукаємо обліковий запис, під яким будемо запускати сервер 1С версії 8.3. (Для прикладу позначимо її як User1CV83).
- Пропускаємо процедури, пропоновані в наступних вікнах, і натискаємо кнопку «Готово». Майстер закривається.
- Повертаємося у вікно «Служби компонентів» і розкриваємо гілку нашого щойно створеного додатки. Розгортаємо вузол «Ролі», в якій натискаємо на пункт CreatorOwner. ПКМ клацаємо по рядку «Користувачі» і створюємо нового користувача. Знову вибираємо ту обліковий запис, під якою буде запускатися сервер 1С (це та сама User1CV83, про яку йшла мова вище).
- Переходимо в гілку додатки 1CV8_ComConnect і натискаємо ПКМ на вузол «Компоненти». Створюємо новий компонент.
- У відкритому Майстрі робимо вибір пункту «Установка нових компонентів» і, коли з'являється наступне вікно, визначаємо потрібну нам бібліотеку dll (вона знаходиться по шляху C: \ Program Files (x86) \ 1cv81 \ bin \). Завершуємо роботу Майстра.
- У нас з'явився компонент 1CV81.ComConnect.1. Кількома по ньому ПКМ і відкриваємо пункт «Властивості». У вкладці «Безпека» знаходимо перелік «Явно встановлені для виділених об'єктів ролі» і ставимо прапорець навпроти CreatorOwner.
Може бути вам корисно: Виявлено порушення цілісності системи в 1C що робити .
Ми розглянули з'єднання з базою з програми 1С: Підприємство версії 8.3. Якщо планується встановлювати коннект з БД 8.1 з версії 1С 8.2, то потрібно додати нового користувача. Роли → CreatorOwner → Пользователи и добавляем новую учетную запись User1CV82, под которой будет производиться запуск сервера 1С версии 8.2. Переходимо по шляху 1CV8_ComConnect → Ролі → CreatorOwner → Користувачі і додаємо новий обліковий запис User1CV82, під якою буде проводитися запуск сервера 1С версії 8.2.
Якщо спокійно і уважно слідувати алгоритму, то виправлення помилки на ділі виявиться простим і швидким. Завдяки вищеописаним діям програма 1С версій 8.2 та 8.3 зможе звернутися за інформацією до бібліотеки comcntr.dll і помилка «2147221164 (0x80040154): Клас не зареєстрований» більше не виникне.