Contacts

Les erreurs 1C les plus courantes et les méthodes pour les corriger. Les erreurs 1C les plus courantes et les méthodes pour les corriger Erreurs dans le programme 1C 8

Tout le monde sait que tout logiciel peut de temps en temps donner lieu à divers problèmes ou, tout simplement, ne pas fonctionner correctement. De telles défaillances entraînant une perturbation du bon fonctionnement du système sont appelées erreurs. Le programme 1c est un produit logiciel (logiciel), par conséquent, dans ce programme, diverses erreurs peuvent également survenir, entraînant un fonctionnement incorrect du système. peut être très diversifié, et si vous n'avez pas un certain nombre de connaissances particulières dans le domaine de la programmation et des spécificités des mécanismes internes de 1C, vous ne pourrez alors pas comprendre et diagnostiquer correctement l'erreur, et encore moins la corriger. N'importe lequel de nos programmeurs 1c est toujours prêt à vous aider à résoudre tout problème lié à Erreurs 1s!

Quelles sont les causes des erreurs dans la base de données 1C ?

Parlons maintenant un peu des raisons pour lesquelles diverses choses peuvent arriver. erreurs dans la base de données 1s lorsque vous travaillez avec le programme. En fait, il peut y avoir de nombreuses raisons et elles peuvent toutes avoir des raisons complètement différentes. Et pourtant, nous essaierons de comprendre de manière générale la raison de l'émergence de divers erreurs en 1s.

Types d'erreurs dans la base de données 1C

Erreurs en 1s Il peut y en avoir une grande variété et cela peut se produire pour diverses raisons. Dans cet article, nous ne considérerons pas toutes les erreurs 1c possibles, nous essaierons de mettre en évidence les soi-disant principaux « types » d'erreurs rencontrées. Nous les appelons classiquement « types » car le contenu de l'erreur que le programme vous montre est généralement toujours différent, mais l'essence est souvent la même. Soulignons donc les plus courants erreurs dans la base de données 1s:

  1. Erreur de format de flux
  2. Champ d'objet introuvable
  3. Méthode objet introuvable
  4. Pas assez de mémoire
  5. Erreurs liées aux tables SQL (pertinent pour les serveurs 1C qui s'exécutent sur des bases de données relationnelles, telles que MySQL)
  6. Erreur d'accès 1 s

Erreur de format de flux en 1 s

Erreur de format de flux 1 s

Champ d'objet introuvable

Champ d'objet introuvable

L'index est en dehors des limites du tableau

Erreur 1c

Erreur de format de flux en 1 s

Cette erreur se produit très souvent lorsqu'une séquence de commandes est lue par erreur à partir du bytecode dans un flux, c'est pourquoi elle est appelée Erreur de format de flux 1 s. Toute transaction sera annulée si cette erreur survient suite à son exécution. De telles erreurs nécessitent une correction immédiate car elles peuvent nuire au fonctionnement du système 1C Enterprise. Ces erreurs ne peuvent être corrigées que par des programmeurs 1C qualifiés.

Champ d'objet introuvable

Si le système 1c vous donne un message d'erreur avec le texte " Champ d'objet introuvable", cela signifie que l'erreur se produit dans une situation où le programme tente d'accéder à un attribut (champ) d'un objet qui n'existe tout simplement pas. Cette erreur a la nature d'une « erreur d'exécution » si elle se produit dans 1C Enterprise. Erreurs de ce genre ne peuvent également être corrigés que par les programmeurs.

L'index est en dehors des limites du tableau

Un tableau en programmation est une certaine zone mémoire dans laquelle de nombreux objets du même type sont stockés (dans 1c, ces types peuvent être, par exemple, DirectoryLink, DocumentObject, etc., ainsi que tout type primitif tel que nombre, chaîne, booléen , etc.). Erreur 1c associé au dépassement des limites d'un tableau se produit précisément lorsqu'un programme accède aux limites de la mémoire allouée au tableau. En conséquence, le programme dans ce cas génère une erreur et informe l'utilisateur (programmeur) qu'un accès en dehors du réseau est en cours, ce qui constitue à son tour une erreur logicielle.

Méthode objet introuvable

Une erreur similaire se produit lorsque le système tente d'accéder à une méthode (fonction) d'un objet dont la description n'existe pas dans le code. Les erreurs de ce type peuvent être corrigées par les programmeurs.

Pas assez de mémoire en 1 seconde

Cette erreur se produit si le système manque de toute la RAM allouée pour les besoins d'exécution des programmes dans le système d'exploitation, c'est pourquoi le programme génère l'erreur " Pas assez de mémoire en 1 seconde". Cela peut se produire lors de divers événements tels que la mise à jour d'une configuration, le traitement d'un fichier volumineux, lors de la génération d'un rapport, le chargement d'une grande base de données, etc. L'utilisateur peut essayer de corriger lui-même une telle erreur.

Correction possible de l'erreur 1c « Pas assez de mémoire »

L'erreur réside dans l'allocation limitée de la mémoire d'adresses par le système d'exploitation pour le logiciel (logiciel).
Les limites de mémoire d'adresse par défaut sont :

  • pour un système 32 bits – 2 Go
  • pour 64 bits – 4 Go

Afin d'augmenter la taille de la mémoire d'adresses, vous devez procéder comme suit :

  1. Lancez la ligne de commande : "Démarrer - Exécuter" - tapez CMD et appuyez sur Entrée
  2. Maintenant, dans la ligne de commande, entrez le texte sans guillemets « bcdedit /set raiseuserva 3072″, où 3072 est la taille de la mémoire d'adresse souhaitée.
  3. Redémarrez votre système d'exploitation (ordinateur)
  4. Essayez d'effectuer cette action dans 1C qui n'a pas fonctionné auparavant et a conduit à une erreur.
  5. Si tout s'est bien passé et que l'opération n'est pas répétée aussi souvent, il est recommandé de ramener la taille de la mémoire d'adresse à la valeur par défaut à l'aide de la commande « bcdedit /deletevalue raiseuserva »

Erreurs liées aux tables SQL

Des erreurs de ce type se produisent généralement côté serveur, lorsque le système accède à la table et ne peut pas lire les données. Cette erreur peut se produire en raison d'une configuration incorrecte du serveur, ainsi que d'un endommagement des tables SQL. Dans des situations particulièrement difficiles, il peut même ne pas être possible de restaurer la base de données, et seule une copie archivée de la base de données peut alors vous sauver. Nous vous recommandons fortement de faire des copies de sauvegarde de la base de données en temps opportun.

Erreur d'accès en 1 s

Cette erreur se produit lorsqu'un utilisateur tente d'effectuer une action interdite par les droits d'accès (rôles). C'est pourquoi le système émet une erreur d'accès de 1s. Les rôles sont configurés dans le configurateur par le programmeur.

Vous n'avez pas pu corriger l'erreur en 1 s ?

Si vous n'avez pas réussi à corriger une erreur dans 1C, ne désespérez pas, décrochez le téléphone et appelez-nous ! Nos spécialistes sont toujours prêts à vous aider à résoudre tout problème lié à 1C, y compris les erreurs survenant lors du fonctionnement du système.

Cet article expliquera les causes, les types et les solutions.
"Erreurs de format de flux" 1C.

Tous ceux qui travaillent avec 1C:Enterprise dans n'importe quelle configuration ont vu au moins une fois une fenêtre avec l'erreur « Erreur de format de flux ».

Cette fenêtre fait partie du TOP 3 des erreurs 1C:Enterprise les plus courantes. C'est désagréable car ce n'est pas informatif. Ce n’est pas clair : où et quelle est l’erreur ? La réaction naturelle serait de cliquer sur le bouton « Redémarrer », mais avec une forte probabilité, on peut affirmer que le redémarrage du problème ne résoudra pas le problème et que l'utilisateur verra à nouveau cette fenêtre.

Cet article expliquera les causes, les types et les méthodes d'élimination de « l'erreur de format de flux » 1C.

Pourquoi 1C 8 écrit-il « Erreurs de format de flux » ?

Le programme 1C:Enterprise est créé de telle manière qu'au cours de son travail, il s'efforce constamment d'optimiser la rapidité des opérations. A cet effet, un « cache » est créé sur l'ordinateur de l'utilisateur, qui stocke les informations fréquemment utilisées, par exemple : l'emplacement et la forme des fenêtres, les données du service utilisateur, les paramètres de sélection, les polices, etc. La mise en cache vous permet de réduire le nombre d'appels vers le serveur et, ainsi, d'augmenter la vitesse de 1C:Enterprise.

Mais que se passe-t-il si le fichier « cache » est écrit avec une ou plusieurs erreurs, à la suite d'une fin incorrecte d'une session de travail, d'une surtension ou d'une panne de réseau (pour la version client-serveur de 1C) ? La prochaine fois que vous tenterez d'accéder au « cache », 1C ne pourra pas lire le fichier et la fenêtre « Erreur de format de flux » apparaîtra. Le « cache cassé » est la cause la plus courante de cette erreur.

En plus d'un cache mal écrit, des documents (ou répertoires, ou tout autre objet) peuvent également être mal écrits dans la base de données d'informations, ce qui peut également provoquer l'erreur décrite dans cet article.

Types d'erreurs de format de flux

Classiquement, l'erreur de format de flux 1C peut être divisée en 2 types :

  • Le premier type est une erreur qui se produit lors du démarrage de 1C. Elle est le résultat d'une interruption incorrecte d'une séance de travail ou d'une panne de courant ; ou apparaît après . Dans ce cas, l'erreur doit être recherchée dans le cache.
  • Le deuxième type est une erreur qui se produit lors de l'utilisation de 1C, par exemple lors de l'ouverture d'un répertoire, ou lors de la publication d'un document, ou lors de la génération d'un rapport, ou lors de la mise à jour. Dans ce cas, vous devez rechercher l'erreur dans la base de données d'informations.

Selon le type d'erreur, vous pouvez choisir l'option la plus appropriée pour l'éliminer. Mais vous pouvez utiliser toutes les méthodes tour à tour jusqu'à ce que l'une d'entre elles fonctionne. Les méthodes n'endommageront pas votre base de données 1C 8. Cependant, si vous agissez comme un vrai professionnel, vous devez d'abord faire une sauvegarde, puis traiter « l'erreur de format de flux ».

Comment résoudre « Erreur de format de flux » ?

Considérons les meilleures solutions :

1. Effacer le cache 1C

Cette méthode a été discutée en détail dans notre article « ». Rappelons brièvement. Pour supprimer manuellement les fichiers de cache, vous devez rechercher les dossiers dans lesquels le cache est stocké. Pour les systèmes d'exploitation Win7 et supérieurs, les fichiers temporaires sont stockés dans C:\Utilisateurs\Nom d'utilisateur\AppData\Roaming\1C Et C:\Utilisateurs\Nom d'utilisateur\AppData\Local\1C dans des dossiers commençant par "1cv8". Sous Windows XP, dans le dossier de l'utilisateur dans Paramètres locaux\Application Data\1C\. Si le dossier AppData n'est pas visible, configurez la visibilité des dossiers cachés. La figure ci-dessous montre à quoi ressemblent les fichiers de cache : des dossiers avec des noms longs et peu clairs (dans notre cas, il n'y a qu'un seul fichier). Pour vider le cache, vous devez supprimer ces dossiers.

Important! Vous ne pouvez supprimer des dossiers que lorsque les processus de travail avec 1C:Enterprise sont terminés.

2. Commencez à tester et à réparer 1C

En mode configurateur, vous devez cliquer sur l'élément de menu « Administration » puis sur « Test et correction ».

Les deux premiers points « réindexation des tables de l'infobase » et « vérification de l'intégrité logique de l'infobase » doivent être vérifiés. Cliquez sur le bouton « Exécuter ». Le système lui-même vérifiera la base de données, trouvera les erreurs, les corrigera et vous fournira un rapport sur le travail effectué. Si nécessaire, cochez également le troisième élément « vérifier l'intégrité référentielle de l'infobase ».

3. Exécutez « chdbfl.exe »

S'il n'est pas possible d'accéder au configurateur, alors lancez le programme « chdbfl.exe », qui se trouve : "C:\Program Files (x86)\1cv8\8.3……\bin". Sélectionnez le fichier de base de données, cochez la case « Corriger les erreurs détectées » et cliquez sur le bouton « Exécuter ». Ensuite, le système fera tout pour vous. Le système lui-même vérifiera la base de données, trouvera les erreurs et les corrigera. Pendant que le programme « chdbfl.exe » est en cours d'exécution, il ne devrait y avoir aucune session active avec 1C.

4. Téléchargez et chargez la base d'informations dans .dt

En mode configurateur, sélectionnez l'élément de menu « Administration » et cliquez sur « Télécharger l'infobase ». Après cela, sélectionnez l'emplacement où vous souhaitez enregistrer le fichier de base de données (.dt), donnez un nom au fichier et cliquez sur « Enregistrer ».

Après cela, créez une nouvelle base de données vide sur votre ordinateur (ou serveur). Allez dans le nouveau configurateur de base de données, cliquez sur « Administration », puis « Charger l'infobase ». Sélectionnez le fichier préalablement préparé et cliquez sur « Ouvrir ».


5. Téléchargez et chargez les données XML.

Cette méthode peut entraîner une perte de données, il est donc recommandé de l'utiliser uniquement par des utilisateurs expérimentés. La méthode est similaire à la précédente et consiste dans le fait que la base de données est d'abord déchargée (seulement pas en .dt, comme dans la méthode précédente, mais dans un format spécial .XML). Ensuite, la base de données est rechargée. Cela se fait à l'aide du traitement intégré « Téléchargement et chargement de données XML ».


6.Mise à jour 1C

La cause de l'erreur en question peut être la présence de sessions utilisateur actives exécutées dans différentes versions. Par exemple, dans la base de données, il y a une session utilisateur active avec la plateforme 1C 8.3.5...., et une autre essaie de se connecter, avec la version 8.3.4.... Si plusieurs versions sont installées sur votre ordinateur, assurez-vous que la version « correcte » dont vous avez besoin est sélectionnée dans la fenêtre d'édition de l'infobase.


7. Autres méthodes.

Dans 99 % des cas, les méthodes ci-dessus pour traiter les « erreurs de format de flux » feront efficacement leur travail et l'erreur « disparaîtra ». Dans les 1% restants, vous devrez recourir à des diagnostics plus complexes, parfois hors du cadre de 1C, par exemple : nettoyer les fichiers temporaires de l'ordinateur, et pas seulement le cache 1C ; vérifiez le disque dur pour les secteurs défectueux à l'aide de l'utilitaire « chkdsk.exe » ; vérifiez votre ordinateur avec un antivirus. Vous pouvez même essayer d'exécuter la base de données 1C sur un autre ordinateur et ainsi localiser le problème, en vous assurant que l'erreur réside dans la base de données d'informations, et non dans le matériel ou le système d'exploitation.

Cet article a été créé pour aider ceux qui ont rencontré l'erreur 1C « Erreur de format de flux » ; les raisons de son apparition, ses types conditionnels et ses méthodes d'élimination ont été discutées et expliquées ici. L'erreur semble effrayante et incompréhensible en raison de son incertitude, mais, comme nous le voyons, tout le monde peut éliminer cette erreur.

Au début d'un contrat juridique, notamment dans le domaine informatique, il y a généralement une section intitulée Conditions. Il explique ce que signifie ou inclut tel ou tel mot informatique.

Mais en plus des mots très complexes comme serveur ou site Web, des mots ordinaires et bien connus des programmeurs peuvent aussi signifier quelque chose de complètement différent. Par exemple des erreurs. Dans un sens universel, ce mot signifie une mauvaise action. Une chose dont son auteur pourrait même avoir honte.

Au sens de la programmation, le mot erreur a probablement deux définitions.

Que signifie le terme « erreur » en programmation et en 1C

Une erreur est un programme qui se comporte différemment que prévu. Chaque ordinateur est un ensemble unique de programmes et de matériel, différent d'un autre ordinateur.

La standardisation du matériel et des programmes nous permet de supposer que les programmes fonctionneront de la même manière sur chaque ordinateur, mais en fait, certaines circonstances peuvent toujours survenir lorsque l'auteur du programme sera surpris de savoir pourquoi le programme fonctionne exactement de cette façon et pas autrement.

Cela peut aussi probablement inclure les situations dans lesquelles le programme fait quelque chose de mal parce que le programmeur a oublié quelque chose ou n'y a pas pensé.

Une erreur est un message spécial provenant d'un programme concernant les circonstances actuelles dans lesquelles le programme ne peut pas faire ce qu'il était censé faire. Cela peut sembler être la même chose, mais ce n'est pas le cas.

Par exemple, le programmeur avait prévu que l'utilisateur ouvrirait d'abord le fichier, puis que le programme ferait telle ou telle chose. Cependant, lorsque le programme a été copié sur l’ordinateur de l’utilisateur, celui-ci a oublié d’ouvrir le fichier. Ou j'ai essayé de l'ouvrir, mais le fichier s'est avéré incorrect ou le disque dur était cassé.
Et le programme dit à l'utilisateur : Hé, il y a une erreur ! Je ne peux pas faire ce que je devrais.

Les erreurs 1C ont plusieurs niveaux - premièrement, les messages d'erreur 1C peuvent appartenir, qui signalent l'impossibilité d'effectuer certaines actions qu'il aurait dû effectuer en raison des circonstances actuelles.

Le deuxième niveau concerne les erreurs 1C dans un programme en langage 1C. Oui, la plate-forme exécute avec succès un programme écrit par un programmeur 1C, mais le programme peut être mal écrit ou ne peut pas non plus être exécuté dans les circonstances actuelles (sur cet ordinateur, avec de telles actions d'un utilisateur particulier, etc.).

Le troisième niveau concerne les erreurs 1C dans les données. Les données de la base de données sont interconnectées les unes aux autres. Cependant, il peut arriver que les données soient corrompues. Par exemple, l'un des formulaires ne comporte pas suffisamment de contrôles pour empêcher un utilisateur particulièrement créatif de saisir quelque chose de manière incorrecte. De plus, le programme peut ne pas fonctionner correctement, car l'algorithme ne s'attendait pas à ce que quelqu'un y entre.

Message d'erreur 1C

1C signale une erreur lors de l'exécution d'un programme en langage 1C à l'aide d'une fenêtre standard avec le texte de l'erreur 1C et les boutons OK et Plus.

De plus, le secret ici est que cette fenêtre n'affiche qu'un court message d'erreur 1C, qui souvent ne dit rien au programmeur.

Pour voir tous les détails, cliquez sur le bouton Détails. Même la ligne de programme dans laquelle l'erreur 1C s'est produite y sera affichée. Vous pouvez également accéder directement à cette ligne dans le configurateur.

Mais les utilisateurs ne le savent pas... Et ils envoient toujours une capture d'écran de cette première fenêtre. S'ils l'envoient :)

Lancer une exception

Ainsi, nous considérons une erreur 1C dans la programmation comme un moyen/opportunité pour un programme d'informer l'utilisateur qu'il ne peut pas faire quelque chose.

Exemple. Vous devez ouvrir le fichier. Mais lors de l'ouverture, des erreurs 1C sont possibles - par exemple, l'utilisateur n'a pas accès pour lire le fichier. On peut écrire ainsi :


Si Fichier = Faux Alors
Rapport("Échec de l'ouverture du fichier");
Sinon
//le programme continue, on fait quelque chose avec le fichier
fin si;

Dans cet exemple, nous avons pris en compte le fait que le fichier ne peut pas être ouvert à l'aide de la construction « If ».

Cependant, cet exemple présente des inconvénients évidents :

  • Il peut y avoir de nombreuses options de ce type (le fichier ne s'ouvrira pas, le fichier ne sera pas lu jusqu'au bout, l'utilisateur est ivre, l'électricité est coupée..)
  • Il peut y avoir des options non prises en compte auxquelles le programmeur n'a pas pensé.

Par conséquent, en programmation, il est courant d'utiliser une technique appelée « lancer une exception », c'est-à-dire permettre qu'une erreur 1C se produise.

Le programme prétend que le fichier s'ouvrira quand même. Aucun « Si » n’est écrit. Si quelque chose ne va pas, le programme signalera en fait une erreur 1C - son exécution sera interrompue.

1C lui-même n'ouvre pas le fichier - il appelle la commande API Windows. Windows est également écrit en utilisant cette technique. Vous pouvez donc imaginer une chaîne d'interruptions d'exécution commençant par Windows :

  • Langage 1C - commande pour ouvrir un fichier
  • Plateforme 1C - commande pour ouvrir un fichier
  • API Windows - commande d'ouverture de fichier
  • Programme d'assemblage - commande pour ouvrir un fichier
  • Oops! Le fichier ne s'ouvre pas !
  • Le programme assembleur a été interrompu !
  • Fonction API Windows cassée !
  • Exécution du programme Plateforme 1C interrompue !
  • Le programme en langage 1C a été interrompu !
  • L'utilisateur voit le message.

Question : qui affiche alors le message d'erreur 1C ? D'où est ce que ça vient?

Capture et gestion des exceptions

Cela nous amène à l'astuce suivante : détecter les exceptions générées lors de l'exécution de cette chaîne.

Les exceptions se déplacent du niveau inférieur d’exécution vers le haut de la chaîne. Si le dernier niveau n’a pas géré l’exception, alors le niveau précédent le fera.

Exemple. Traitons l'exception en langage 1C :
Tentative
Fichier = OpenFile(FileName);
String = Fichier.Read();
Exception
Rapport("Le fichier n'a pas pu être ouvert : n'existe pas ou n'a pas de droits d'accès");
FinTentative ;

Dans cet exemple, nous avons traité nous-mêmes l'exception (c'est-à-dire une situation exceptionnelle ou une erreur 1C). Ainsi, c'est nous qui informons l'utilisateur d'une « erreur » survenue : l'impossibilité d'ouvrir le fichier.

Lorsque nous faisons cela nous-mêmes, nous ne pouvons rien dire à l'utilisateur, mais simplement suivre une option différente pour exécuter le programme.

Il est facile de voir que cette méthode peut également être utilisée dans les cas où « une » erreur 1C peut se produire dans une partie du code. Nous le « capturons » et le traitons ou le signalons à l’utilisateur.

Que se passera-t-il si nous n'interceptons pas et ne traitons pas l'erreur 1C à notre niveau « supérieur » ? Ensuite, le niveau suivant ci-dessous le signalera - la plate-forme 1C. Nous venons de parler de la façon dont elle fait cela et avons regardé la capture d'écran.

Que se passe-t-il si la plateforme ne gère pas cela ? C'est vrai – cela fonctionnera généralement à un niveau inférieur – Windows. Dans ce cas, le programme 1C « plantera » et Windows signalera que le programme a effectué une opération non valide et sera fermé.

Que se passe-t-il si Windows ne gère pas cela ? Vous l'avez probablement vu : votre ordinateur va se bloquer ou redémarrer.

Interceptions et transactions imbriquées

Selon vous, quels messages l'utilisateur verra lors de l'exécution de cet exemple ?

Tentative
Tentative
f = 1/0 ;
Exception
Rapport("Erreur spécifique");
FinTentative ;
Exception
Rapport("Erreur générale");
FinTentative ;

Droite! Le gestionnaire interne se déclenchera et signalera une « erreur spécifique », mais le gestionnaire externe ne fonctionnera pas.

Cependant, du point de vue du programme, une erreur 1C s'est produite ici, bien qu'elle ait été résolue. Quelque part dans son cerveau, la plateforme s’est souvenue qu’il y avait une erreur 1C.

Cela a des implications pour la réalisation des transactions. Une transaction est constituée de plusieurs actions sur les données d'une base de données qui doivent être effectuées uniquement ensemble. Comme nous le comprenons, les erreurs 1C peuvent être la raison de leur incapacité à les compléter ensemble. Il existe donc le mécanisme suivant :

DémarrerTransaction();
//créé le répertoire 1, mais en fait il n'a pas été écrit dans la base de données
Ref1.Write();
//créé le répertoire 2, mais en fait il n'a pas été écrit dans la base de données
Ref2.Write();
CommitTransaction();
//cette commande a écrit dans la base de données tout ce qui a été fait en commençant par « Démarrer la transaction »

La fonction CommitTransaction() ne peut être exécutée que si aucune erreur 1C ne s'est produite depuis l'appel StartTransaction().

Si, lors de l'écriture d'un tel code, vous comprenez que cette ligne de code peut contenir une erreur 1C, vous pouvez définir son traitement à l'aide de Tentative/Exception. Cependant, dans ce cas, la plateforme tiendra toujours compte du fait qu'une erreur 1C s'est produite et n'enregistrera pas la transaction ni n'écrira de données dans la base de données.

Erreurs 1C involontaires

Ainsi, dans le programme 1C, le programmeur peut commettre une erreur 1C. Dans ce cas, la plateforme 1C le signalera.

Si vous ne comprenez pas pourquoi et quand une telle erreur 1C se produit, vous pouvez utiliser Tentative/Exception pour gérer l'erreur 1C.

De plus, Try/Exception peut être utilisé dans le cas où vous souhaitez créer une section garantie sans erreur du programme. Vous pouvez être sûr que même si une erreur 1C se produit, vous la détecterez et la gérerez d'une manière spéciale.

Erreurs intentionnelles 1C

Vous pouvez prétendre dans le texte du programme que le fichier s'ouvrira toujours et que le numéro sera toujours divisé. Mais utilisez Tentative/Exception comme moyen de basculer le programme vers une autre option de correctif au cas où cela se produirait. Ou informez simplement l'utilisateur de l'erreur 1C.

Propre appel d'erreur 1C

Vous pouvez créer vous-même des fonctions qui, si elles ne peuvent pas être exécutées, peuvent le signaler en lançant une exception.

Vous pouvez procéder ainsi :

Fonction DoSomething (Paramètre)
Si paramètre = non défini alors
Raise Exception "Une erreur s'est produite dans la fonction DoSomething. Paramètre non spécifié" ;
fin si;
FinFonction

À quoi ça sert? Dans le cas où vous créez une fonction qui sera utilisée dans de nombreux endroits, et peut-être que d'autres l'utiliseront aussi, c'est une belle façon de faire d'une pierre plusieurs coups :

  • Éliminez l'erreur 1C
  • Signaler une erreur 1C à un niveau supérieur (au programme qui a appelé cette fonction)
  • Signalez non seulement l'erreur 1C, mais également le texte/détails
  • Il est garanti d'interrompre l'exécution non seulement de sa propre fonction, mais également de tous les niveaux, si le programmeur qui les a écrits ne pensait pas qu'une telle erreur 1C pouvait exister et ne la traitait pas.

Des moyens plus corrects de signaler les erreurs 1C

Généralement, lorsque vous devez communiquer quelque chose à l'utilisateur, .

Cependant, dans les configurations standards, telles que Comptabilité, Trade Management, SCP, il existe une fonction particulière :
Usage général.ReportError("Texte");

Ses avantages :

  • La forme du message dépend du client exécutant
  • Enregistre les informations dans le journal de bord
  • Dans certaines configurations, une forme plus belle de message d'erreur 1C a été implémentée.

Erreur d'analyse

Lorsque la plateforme 1C est en cours d'exécution, le journal d'enregistrement fonctionne. En plus des actions de l'utilisateur, il stocke également des informations sur les erreurs 1C survenues lors du fonctionnement de la plate-forme 1C.

Dans le configurateur, sélectionnez l'élément de menu Administration/Journal.

Cliquez sur le bouton Sélectionner (comme sur l'image). Définissez la sélection d'événements uniquement pour les erreurs 1C.

Le journal affichera une liste des erreurs survenues. Cliquez sur une ligne pour afficher un message spécifique plus en détail.

Description de l'erreur de format de flux dans 1C 8.3

L'erreur de format de flux dans 1C se produit le plus souvent chez tous les utilisateurs. Et généralement, dans de tels cas, il est difficile d'expliquer son apparence - il semble qu'ils travaillaient en 1C, tout est comme d'habitude. En lançant à nouveau 1C, nous recevons le message suivant :

Aucun des boutons Erreur de format de flux ne vous permet de lancer la base de données et de continuer à travailler. Précisément parce que cette erreur est la plus populaire et la plus fréquente, nous expliquerons d'abord ses causes, puis passerons ensuite à l'examen des méthodes pour la résoudre.

Raisons de l'erreur de format de flux dans 1C 8.3

L'erreur de format de flux dans 1C est liée à la lecture du cache de la base de données lors de l'accès à celui-ci. Un cache, en termes simples, est une information auxiliaire (paramètres, favoris, commandes fréquentes, etc.) 1C, stockée dans des fichiers distincts de la base de données. Pendant le fonctionnement, 1C accède régulièrement au cache. Si une situation survient lorsque cet accès a été interrompu (lors d'une panne de courant, de problèmes de réseau, d'un arrêt d'urgence de 1C), le cache peut être écrit avec des erreurs. Dans ce cas, lors du démarrage ultérieur, la lecture du cache entraînera la même erreur - une erreur de format de flux dans 1C.

Façons de résoudre les erreurs de format de flux dans 1C 8.3

Avant de commencer à résoudre le problème en utilisant l'une des méthodes, assurez-vous de faire une copie de sauvegarde de votre base de données ! Cela vous aidera à revenir au résultat d'origine dans les cas où une tentative de résolution d'un problème échoue.

Pour créer rapidement une copie de sauvegarde, ouvrez le dossier contenant la base de données (comme dans la méthode n°1) et copiez son contenu vers n'importe quel autre emplacement. Effectuez le travail de correction des erreurs uniquement avec une copie de sauvegarde !
1.
2.
3.
4.
5.
6.

Vider le cache de la base de données 1C

La méthode la plus simple et la plus utile consiste à vider le cache de la base de données 1C. Pour cela, lancez 1C : Enterprise et découvrez le chemin où est stockée la base de données :

Ouvrons ce dossier dans l'Explorateur et supprimons tous les fichiers à l'exception du fichier de base de données, comme indiqué dans la figure ci-dessous. Notez que le nombre de fichiers peut différer, ils doivent tous être supprimés, sauf un - 1Сv8 (base de données d'informations sur les fichiers).

Vider le cache 1C

La méthode suivante consiste à vider le cache 1C : Entreprise. Pour ce faire, vous devez ouvrir les dossiers dans lesquels ils sont stockés. Sous Windows 7 et supérieur, il y en a deux :

C:\Utilisateurs\Nom d'utilisateur\AppData\Roaming\1C

C:\Utilisateurs\Nom d'utilisateur\AppData\Local\1C

Vous devez supprimer le dossier 1cv8 dans les deux :

Après avoir vidé le cache, essayez à nouveau de vous connecter à la base de données. L'erreur est toujours là ? Essayez la méthode suivante.

Correction de la base de données à l'aide de l'utilitaire chdbfl.exe

Il est possible que l'erreur de format de flux soit liée à des erreurs dans la base de données elle-même. Pour ce faire, il vaut la peine de le vérifier à l'aide du programme spécial chdbfl.exe, fourni avec 1C : Enterprise. Pour ce faire, allez dans le dossier contenant le programme (le plus souvent il s'agit de C:\Program Files\1cv8\8.3.XX.YYY\bin\) et recherchez le fichier chdbfl.exe :

Une fois que vous l'ouvrez, cliquez sur les points de suspension dans le coin supérieur droit et recherchez le fichier de base de données cassé. Sur la base de la méthode ci-dessus, nous pouvons dire qu'il s'agit du même fichier de base de données que vous n'avez pas supprimé lors de la suppression du cache.

Après cela, cochez la case Corriger les erreurs détectées et cliquez sur Exécuter. Attendez que la vérification soit terminée et essayez de démarrer la base de données. L'erreur est toujours là ? Essayez la méthode suivante.

Tester et réparer la base de données à l'aide du configurateur

La prochaine façon de résoudre une erreur de format de flux dans 1C consiste à tester et à corriger la base de données, disponible dans le configurateur.

Lancez 1C : Entreprise via le mode Configurateur :

Dans le Configurateur qui s'ouvre, sélectionnez Administration – Tests et Correction :

Dans la fenêtre qui s'ouvre, définissez les paramètres comme dans la figure ci-dessous et cliquez sur Exécuter.

Attendez que toutes les procédures soient terminées. Fermez le configurateur et essayez de vous connecter à la base de données. L'erreur est toujours là ? Essayez la méthode suivante.

Téléchargement et chargement de la base de données via dt

Cette méthode peut aider à éliminer les erreurs qui ne sont pas éliminées par les paragraphes 3 et 4 de cet article. Connectez-vous à la base de données via le mode Configurateur, comme dans la méthode ci-dessus. Sélectionnez Administration – Télécharger la base d'informations :

Dans la fenêtre qui s'ouvre, sélectionnez le lieu de déchargement. Cela peut être n'importe quoi, l'essentiel est de se souvenir de cet endroit.

En cliquant sur Enregistrer, attendez la fin du téléchargement. Quittez le mode Configurateur. Ouvrez à nouveau 1C : Entreprise et sélectionnez Ajouter – Créer une nouvelle base d'informations – Créer une base d'informations sans configuration – Suivant – Terminer.

Ouvrez la base de données créée via le configurateur et cliquez sur Administration – Charger la base d'informations. Dans la fenêtre qui s'ouvre, indiquez le fichier de téléchargement que vous venez de créer. Attendez la fin du téléchargement, fermez le configurateur et essayez de vous connecter à la base de données nouvellement téléchargée. L'erreur est toujours là ? Essayez la méthode suivante.

Méthodes avancées pour résoudre les erreurs de format de données 1C

Une discussion détaillée des méthodes avancées de résolution des erreurs de format de données dans 1C dépasse le cadre de cet article, car pour les utiliser, vous devez avoir des connaissances dans le domaine de la manipulation d'un ordinateur, de sorte que les instructions et les notes pour chacune d'elles seraient assez volumineux.

Nous nous limiterons à les lister :
1. Téléchargement et chargement de données entre une base de données non fonctionnelle et vide à l'aide du traitement « Téléchargement et chargement de données XML ».
2. Les différentes versions de 1C utilisées, fonctionnant dans la même base de données via le réseau (pour plus de détails, voir) doivent être mises en ordre.
3. Désactivation du protocole IPv6 via le registre Windows.
4. Réinstallation ou mise à jour de 1C : Entreprise.
5. Transférez la base de données sur un autre ordinateur et essayez de l'exécuter là-bas.
6. Désactivation ou suppression des pare-feu et/ou antivirus.
7. Vérification du format du flux à l'aide de l'utilitaire Tool_1CD
8. Mettez à jour la configuration à l'aide du fichier .cf.

Le problème « Erreur de format de flux dans 1C 8.3 » n'est-il pas résolu ? Obtenez une consultation gratuite de nos spécialistes pour résoudre ce problème!

Un problème tel qu'une erreur de format de flux se produit assez souvent dans 1C 8.3. Voyons comment corriger cette erreur.

Qu'est-ce qu'une erreur de format de flux dans 1s 8.3 ?

Cela se produit dans les situations suivantes :

  1. Une erreur de format de flux lors du lancement de 1C Enterprise 8.2 ou du configurateur est généralement associée à des problèmes de cache. Cela est généralement dû au fait que le système ne s’arrête pas correctement en raison, par exemple, d’une panne de courant. Il est donc fortement recommandé d'installer des alimentations sans interruption afin de ne pas perdre d'informations importantes. Souvent, l'erreur apparaît lors du démarrage de la base de données après la mise à jour de la configuration.
  2. La deuxième situation concerne la génération d'un rapport, par exemple l'ouverture d'un rapport, la publication d'un document, l'ouverture d'un document, etc. Cela est souvent dû précisément au contenu des informations contenues dans la base de données. La cause de cette erreur est le plus souvent la présence d’informations « cassées » au sein du système.

Obtenez 267 leçons vidéo sur 1C gratuitement :

Correction

  1. En règle générale, pour résoudre ce problème, il suffit de nettoyer les fichiers temporaires du système. .
  2. Si cela ne résout pas le problème, mais que vous pouvez accéder au configurateur, exécutez .
  3. Si vous n'avez pas accès au configurateur et que la base de données est en test, utilisez-la, qui se trouve dans le dossier du programme.
  4. Si les méthodes ci-dessus ne vous aident pas, mais que le mode 1C Enterprise démarre, téléchargez les données dans une nouvelle base de données à l'aide du traitement « ». Cependant, cela peut entraîner une perte de données.
  5. Mise à jour. Une autre raison peut être la présence de sessions utilisateur actives avec différentes versions de la partie client de la plateforme 1C. C'est-à-dire, par exemple, qu'un utilisateur avec la plateforme 1C 8.3.5.1517 travaille dans la base de données et qu'un autre essaie de se connecter, avec la version 8.3.5.1444.

Si cela ne résout pas le problème, il existe des moyens plus sophistiqués pour résoudre ce problème. Par exemple, en utilisant un éditeur HEX. Si vous avez besoin de l'aide qualifiée des programmeurs 1C, contactez-nous ! Détails sur la page



Avez-vous aimé l'article? Partagez-le