Skip to main content

2147221164 (0x80040154): Класс не зарэгістраваны - што рабіць



У праграмным забеспячэнні 1С, як і ў любым іншым, часам узнікаюць памылкі. Гэта не дае софту нармальна функцыянаваць і можа затармазіць працу цэлай арганізацыі. Таму трэба ведаць, як спраўляцца з рознымі збоямі. У прыватнасці, сёння мы разбяром, з-за чаго ўзнікае памылка «2147221164 (0x80040154): Клас не зарэгістраваны», і што трэба зрабіць, каб яе выправіць.

Сообщение об ошибке на экране
Памылка «2147221164 (0x80040154): Клас не зарэгістраваны»



Змест артыкула:

Калі з'яўляецца памылка 2147221164

Памылка «2147221164 (0x80040154): Клас не зарэгістраваны» з'яўляецца з-за канфлікту версій 1С, якія ў дадзены момант усталёўваюць паміж сабой злучэнне. Разбяром падрабязней. Інфармацыйныя БД 1С вырабляюць абмен дадзеных пры дапамозе СОМ-злучэння. І, калі, напрыклад, платформа 1С: Прадпрыемства канфігурацыі 8.3 спрабуе ўсталяваць сувязь з 1С версіі 8.1, то на гэтым этапе пры спробе падлучэння да СОМ-серверу і выскоквае дадзеная памылка.

Для пачатку вызначым, што ў сервера 1С ёсць некалькі версій:

  1. 32-бітная 8.1 (х86).
  2. 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) і выкліканы «Панэль кіравання». Затым ўваходзім у раздзел «Сістэма і бяспека», пасля чаго пераходзім у «Адміністраванне». З'яўляецца акно, у якім мы шукаем радок «Службы кампанентаў» і адкрываем яе падвойным пстрычкай ЛКМ. У новай кансолі два разы клікаем ЛКМ па тэчцы «Камп'ютар» і затым «Мой кампутар». Перад намі з'яўляецца спіс тэчак. «Приложение». ПКМ націскаем на «Прыкладанні СОМ +» і выбіраем «Стварыць» «Дадатак».

Консоль "Службы компонентов"
Ствараем новае COM + прыкладанне

Далей дзейнічаем наступным чынам.

  1. У якое адкрылася Майстру націскаем «Далей» і, калі ў наступным акне нам прапануюць дзеянне на выбар, клікаем «Стварыць новае прыкладанне".
  2. У адпаведнай радку прысвойваем новаму дадаткам імя, якое будзе зразумела не толькі нам, але і іншым карыстальнікам пры далейшай працы, напрыклад 1CV8_ComConnect. Тут жа выбіраем спосаб актывацыі - «Серверны дадатак».

    Выбираем способ активации 1CV8_ComConnect
    Ўводзім імя новага прыкладання 1CV8_ComConnect
  3. Цяпер праводзім працэдуру пасведчанні. У полі «Указаны карыстальнік» пры дапамозе функцыі «Агляд» шукаем уліковы запіс, пад якім будзем запускаць сервер 1С версіі 8.3. (Для прыкладу абазначым яе як User1CV83).
    Удостоверяем приложение
    Шукаем карыстальніка пры дапамозе функцыі «Агляд»

    Окно выбора учетной записи, под которой будет запускаться сервер
    Канкрэтныя крокі выбару карыстальніка
  4. Прапускаем працэдуры, прапанаваныя ў наступных вокнах, і націскаем кнопку «Гатова». Майстар зачыняецца.
  5. Вяртаемся ў акно «Службы кампанентаў» і раскрываем галінку нашага толькі што створанага прыкладання. Разгортваем вузел «Ролі», у якой клікаем на пункт CreatorOwner. ПКМ пстрыкаем па радку «Карыстальнікі» і ствараем новага карыстальніка. Зноў выбіраем тую уліковы запіс, пад якой будзе запускацца сервер 1С (гэта тая самая User1CV83, пра якую ішла гаворка вышэй).
  6. Пераходзім у галінку прыкладання 1CV8_ComConnect і клікаем ПКМ на вузел «Кампаненты». Ствараем новы кампанент.
  7. У якое адкрылася Майстру робім выбар пункта «Усталяванне новых кампанентаў» і, калі з'яўляецца наступнае акно, вызначаем патрэбную нам бібліятэку dll (яна знаходзіцца па шляху C: \ Program Files (x86) \ 1cv81 \ bin \). Завяршаем працу Майстры.
  8. У нас з'явіўся кампанент 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): Класс не зарэгістраваны» больш не паўстане.



Як вы ацэніце артыкул?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (Пакуль адзнак няма)
Загрузка ...

Дадаць каментар

Ваш e-mail не будзе апублікаваны.