W oprogramowaniu 1C, jak w każdym innym, czasami występują błędy. Nie pozwala to na prawidłowe działanie oprogramowania i może spowolnić pracę całej organizacji. Dlatego musisz wiedzieć, jak radzić sobie z różnymi awariami. W szczególności, dzisiaj przeanalizujemy, co spowodowało błąd "2147221164 (0x80040154): Klasa nie jest zarejestrowana" i co należy zrobić, aby to naprawić.
Treść artykułu:
- Когда появляется ошибка 2147221164 1 Gdy pojawi się błąd 2147221164
- Справляемся с проблемой 2 poradzić sobie z problemem
- Регистрируем библиотеку comcntr.dll 2.1 Rejestrowanie biblioteki comcntr.dll
- Создаем новое приложение СОМ+ 2.2 Utwórz nową aplikację COM +
Gdy pojawi się błąd 2147221164
Błąd "2147221164 (0x80040154): Class is not registered" pojawia się z powodu konfliktu wersji 1C, które obecnie nawiązują ze sobą połączenie. Przeanalizujemy bardziej szczegółowo. Informacja DB 1C wymienia dane za pomocą połączenia COM. A jeśli na przykład platforma 1C: Enterprise konfiguracji 8.3 próbuje ustanowić komunikację z wersją 1C 8.1, to na tym etapie, podczas próby połączenia z serwerem COM, pojawia się ten błąd.
Najpierw ustalmy, że serwer 1C ma kilka wersji:
- 32-bitowy 8,1 (x86).
- 64-bitowe 8,2 i 8,3 (x 64).
Problemy pojawiają się na serwerze z bazą danych. Przyczyną problemu jest to, że wersje x 64 architektury 1C nie mają bezpośredniego dostępu do 32-bitowej biblioteki comcntr.dll. W tym przypadku połączenie jest nawiązywane za pomocą aplikacji COM +, które mogą wchodzić w interakcję z bibliotekami x86.
Zobacz także: Niepoprawny format przechowywania danych 1C 8.3 jak to naprawić .
Radzenie sobie z problemem
Kończymy teorię i przystępujemy do ćwiczenia - próbujemy poprawić błąd "2147221164 (0x80040154): Klasa nie jest zarejestrowana".
Rejestrowanie biblioteki comcntr.dll
Błąd może wystąpić, jeśli biblioteka comcntr.dll nie jest zarejestrowana. Rozwiązujemy to w następujący sposób. Wywołaj linię "Uruchom" (klikając przycisk Start na PCM) i wpisz regsvr32.exe "C: \ Program Files (86) \ 1cv82 \ 8.3.XX.XXXX \ bin \ comcntr.dll". Kliknij OK, a jeśli wszystko pójdzie dobrze, zobaczysz komunikat o pomyślnej rejestracji biblioteki.
Utwórz nową aplikację COM +
Jeśli biblioteka jest zarejestrowana, ale problem nadal występuje, kliknij przycisk Start (w systemie Windows 10) i wywołaj panel sterowania. Następnie wchodzimy do sekcji "System i bezpieczeństwo", po czym przechodzimy do "Administracji". Pojawi się okno, w którym wyszukujemy wiersz "Usługi składowe" i otwieramy je podwójnym kliknięciem LMB. W nowej konsoli kliknij dwukrotnie folder "Komputer", a następnie "Mój komputer". Lista folderów pojawia się przed nami. «Приложение». PKM kliknij "Aplikacje COM +" i wybierz "Utwórz" → "Aplikacja".
Następnie wykonaj następujące czynności.
- W kreatorze, który się otworzy, kliknij "Dalej", a gdy w następnym oknie otrzymasz możliwość wyboru, kliknij "Utwórz nową aplikację".
- W odpowiedniej linii przypisujemy nazwę do nowej aplikacji, która będzie zrozumiała nie tylko przez nas, ale także przez innych użytkowników podczas dalszej pracy, na przykład 1CV8_ComConnect. Tutaj wybieramy metodę aktywacji - "Aplikacja serwera".
- Teraz przeprowadzamy procedurę certyfikacji. W polu "Określony użytkownik" za pomocą funkcji "Przeglądaj" szukamy konta, pod którym uruchomimy serwer 1C w wersji 8.3. (Na przykład, oznaczamy to jako User1CV83).
- Pomijamy procedury oferowane w poniższych oknach i klikamy przycisk "Zakończ". Mistrz się zamyka.
- Wracamy do okna "Usługi składowe" i otwieramy gałąź naszej nowo utworzonej aplikacji. Rozwiń węzeł "Role", w którym klikamy element CreatorOwner. PCM kliknij na "Użytkownicy" i stwórz nowego użytkownika. Ponownie wybierz konto, pod którym zostanie uruchomiony serwer 1C (jest to ten sam User1CV83, o którym była mowa powyżej).
- Przejdź do gałęzi aplikacji 1CV8_ComConnect i kliknij RMB na węźle "Komponenty". Utwórz nowy komponent.
- W otwartym kreatorze zaznacz element "Instalowanie nowych komponentów" i, gdy pojawi się poniższe okno, określ bibliotekę dll, której potrzebujemy (znajduje się ona na ścieżce C: \ Program Files (x86) \ 1cv81 \ bin \). Kończymy pracę Mistrza.
- Mamy komponent 1CV81.ComConnect.1. Klikamy na nią PKM i otwieramy element "Właściwości". W zakładce "Bezpieczeństwo" znajduje się lista "Ról jawnie ustawionych dla wybranych obiektów" i zaznacz pole naprzeciwko KreatoraOwner.
Może ci się przydać: Wykryto naruszenie integralności systemu w 1C, co robić .
Sprawdziliśmy połączenie z bazą danych z poziomu programu 1C: Enterprise wersja 8.3. Jeśli planujesz nawiązać połączenie z bazą danych 8.1 z wersji 1C 8.2, musisz dodać nowego użytkownika. Роли → CreatorOwner → Пользователи и добавляем новую учетную запись User1CV82, под которой будет производиться запуск сервера 1С версии 8.2. Przejdź do ścieżki 1CV8_ComConnect → Role → CreatorOwner → Użytkownicy i dodaj nowe konto User1CV82, pod którym zostanie uruchomiony serwer 1C wersja 8.2.
Jeśli spokojnie i ostrożnie podążysz za algorytmem, korekta błędu będzie rzeczywiście prosta i szybka. W związku z powyższymi działaniami, program 1C wersje 8.2 i 8.3 będzie mógł ubiegać się o informacje do biblioteki comcntr.dll, a błąd "2147221164 (0x80040154): Class is not registered" nie będzie już występować.