Passer au contenu principal

2147221164 (0x80040154): La classe n'est pas enregistrée - que faire



Dans le logiciel 1C, comme dans tout autre, des erreurs se produisent parfois. Cela ne permet pas au logiciel de fonctionner correctement et peut ralentir le travail de toute l'organisation. Par conséquent, vous devez savoir comment faire face à divers échecs. Aujourd’hui, nous analyserons en particulier la cause de l’erreur “2147221164 (0x80040154): La classe n’est pas enregistrée” et les mesures à prendre pour la résoudre.

Сообщение об ошибке на экране
Erreur "2147221164 (0x80040154): La classe n'est pas enregistrée"



Contenu de l'article:

Lorsque l'erreur 2147221164 apparaît

L'erreur “2147221164 (0x80040154): la classe n'est pas enregistrée” apparaît en raison d'un conflit entre les versions 1C, qui établissent actuellement une connexion entre elles. Nous analyserons plus en détail. Les informations DB 1C échangent des données via une connexion COM. Et, si, par exemple, la plate-forme 1C: Enterprise de la configuration 8.3 essaie d'établir une communication avec 1C version 8.1, à ce stade, lorsque vous tentez de vous connecter au serveur COM, cette erreur se produit.

Premièrement, déterminons que le serveur 1C a plusieurs versions:

  1. 32 bits 8.1 (x86).
  2. 64 bits 8.2 et 8.3 (x64).

Des problèmes apparaissent sur le serveur lui-même avec la base de données. La racine du problème est que les versions x64 de l'architecture 1C ne peuvent pas accéder directement à la bibliothèque 32 bits comcntr.dll. Dans ce cas, la connexion est établie à l'aide d'applications COM + capables d'interagir avec les bibliothèques x86.



Voir aussi: Format incorrect de stockage de données 1C 8.3: comment réparer .

Faire face au problème

Nous terminons avec la théorie et passons à la pratique. Nous essayons de corriger l’erreur “2147221164 (0x80040154): la classe n’est pas enregistrée”.

Enregistrement de la bibliothèque comcntr.dll

Une erreur peut se produire si la bibliothèque comcntr.dll n'est pas enregistrée. Nous le résolvons comme suit. Appelez la ligne "Exécuter" (en cliquant sur le bouton Démarrer du PCM) et entrez regsvr32.exe "C: \ Program Files (86) \ 1cv82 \ 8.3.XX.XXXX \ bin \ comcntr.dll". Cliquez sur OK et, si tout se passe bien, nous verrons un message sur l'enregistrement réussi de la bibliothèque.



Créer une nouvelle application COM +

Si la bibliothèque est enregistrée mais que le problème persiste, cliquez sur le bouton Démarrer (Windows 10) et appelez le Panneau de configuration. Ensuite, nous entrons dans la section "Système et sécurité", après quoi nous passons à "Administration". Une fenêtre apparaît dans laquelle nous recherchons la ligne «Services de composants» et l'ouvrons par un double-clic sur le LMB. Dans la nouvelle console, double-cliquez sur le dossier “Ordinateur” puis sur “Poste de travail”. Une liste de dossiers apparaît devant nous. «Приложение». PKM cliquez sur “Applications COM +” et sélectionnez “Créer” “Application”.

Консоль "Службы компонентов"
Créer une nouvelle application COM +

Ensuite, procédez comme suit.

  1. Dans l'assistant qui s'ouvre, cliquez sur "Suivant" et, lorsque dans la fenêtre suivante, une option de choix vous est proposée, cliquez sur "Créer une nouvelle application".
  2. Dans la ligne correspondante, nous attribuons un nom à la nouvelle application, qui sera comprise non seulement par nous, mais également par les autres utilisateurs lors de travaux ultérieurs, par exemple, 1CV8_ComConnect. Ici, nous sélectionnons la méthode d'activation - "Application serveur".

    Выбираем способ активации 1CV8_ComConnect
    Entrez le nom de la nouvelle application 1CV8_ComConnect
  3. Nous effectuons maintenant la procédure de certification. Dans le champ «Utilisateur spécifié», en utilisant la fonction «Parcourir», nous recherchons un compte sous lequel nous allons exécuter le serveur 1C version 8.3. (Par exemple, nous le désignons par User1CV83).
    Удостоверяем приложение
    Nous recherchons l'utilisateur à l'aide de la fonction Review

    Окно выбора учетной записи, под которой будет запускаться сервер
    Étapes spécifiques à l'utilisateur
  4. Nous ignorons les procédures proposées dans les fenêtres suivantes et cliquez sur le bouton "Terminer". Maître ferme.
  5. Nous revenons à la fenêtre «Services de composants» et ouvrons la branche de notre application nouvellement créée. Développez le noeud "Roles" dans lequel nous cliquons sur l’élément CreatorOwner. PCM cliquez sur la ligne "Utilisateurs" et créez un nouvel utilisateur. Encore une fois, sélectionnez le compte sous lequel le serveur 1C sera lancé (il s'agit du même utilisateur1CV83, qui a été discuté ci-dessus).
  6. Accédez à la branche d'application 1CV8_ComConnect et cliquez sur RMB sur le nœud "Composants". Créez un nouveau composant.
  7. Dans l'assistant qui s'ouvre, sélectionnez l'élément “Installation de nouveaux composants” et, lorsque la fenêtre suivante apparaît, définissez la bibliothèque dll dont vous avez besoin (elle se trouve dans le chemin C: \ Program Files (x86) \ 1cv81 \ bin \). Nous complétons le travail du maître.
  8. Nous avons un composant 1CV81.ComConnect.1. Nous cliquons dessus avec PKM et ouvrons l'item "Propriétés". Dans l'onglet «Sécurité», vous trouverez la liste des «Rôles explicitement définis pour les objets sélectionnés» et cochez la case en regard de CreatorOwner.

Cela peut être utile pour vous: Détecter une violation de l'intégrité du système dans 1C quoi faire .

Nous avons examiné la connexion à la base de données à partir du programme 1C: Enterprise version 8.3. Si vous envisagez d'établir une connexion avec la base de données 8.1 à partir de la version 1C 8.2, vous devez ajouter un nouvel utilisateur. Роли → CreatorOwner Пользователи и добавляем новую учетную запись User1CV82, под которой будет производиться запуск сервера 1С версии 8.2. Accédez au chemin 1CV8_ComConnect Rôles CreatorOwner Utilisateurs et ajoutez un nouveau compte Utilisateur1CV82, sous lequel sera lancé le serveur 1C version 8.2.

Si vous suivez calmement et attentivement l'algorithme, la correction de l'erreur sera en réalité simple et rapide. En raison des actions ci-dessus, le programme 1C versions 8.2 et 8.3 pourra demander des informations à la bibliothèque comcntr.dll et l'erreur "2147221164 (0x80040154): la classe n'est pas enregistrée" ne se produira plus.



Comment évaluez-vous l'article?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (Pas encore de notes)
Chargement ...

Ajouter un commentaire

Votre email ne sera pas publié.