Le processus de téléchargement de données vers XML. Génération du fichier XML

Travailler avec des documents XML est disponible directement à partir du langage intégré du système 1C:Enterprise 8.

Il y a une possibilité:

  • lire et écrire séquentiellement des documents XML :
    • convertir une chaîne obtenue à partir du texte d'un élément ou d'une valeur d'attribut XML en une valeur selon le type spécifié ;
    • obtenir une représentation sous forme de chaîne de la valeur à mettre dans le texte d'un élément ou de la valeur d'un attribut XML ;
    • obtenir le type de données XML correspondant au type passé en paramètre ;
    • vérifier si une valeur du type spécifié peut être lue à partir de XML ;
    • vérifier la conformité du schéma XML lors de la lecture de XML
    • enregistrer la valeur au format XML ;
    • renvoie un type qui correspond au type de données XML.
  • utilisez un modèle d'accès aux objets pour les données de documents XML (DocumentDOM), qui est conforme aux normes suivantes :
    • DOM niveau 2 ;
    • XPath (DOM niveau 3) ;
    • Chargement et sauvegarde DOM (DOM niveau 3).
  • utiliser le modèle objet XML Schema (XML Schema) ;
  • utilisez la norme Canonical XML 1.1.

À l'aide d'une connexion externe et de mécanismes pour travailler avec XML, vous pouvez organiser l'intégration avec les systèmes d'application en utilisant les formats acceptés dans ces systèmes. Des mécanismes de transformation XSL sont utilisés à cet effet. Par exemple, pour une telle intégration, vous pouvez utiliser le serveur BizTalk de Microsoft :

Informations rapides

La plateforme fournit des outils pour travailler avec des documents XML au format binaire Fast Infoset. La technologie Fast Infoset utilise une syntaxe alternative pour afficher les données XML. Cela permet d'obtenir des fichiers de plus petite taille et des vitesses de traitement plus rapides que les données écrites au format XML conventionnel. Un fichier écrit au format Fast Infoset a une extension .fi ou .finf.

Lorsqu'une entreprise utilise constamment une sorte de progiciel dans son travail, la question de son support et de son administration continus se pose naturellement toujours. Il n'y a aucun moyen d'éviter les tâches d'échange, de stockage et de restauration des données. Voyons comment charger ou décharger des données de 1C au format XML, car il s'agit d'une procédure importante pour ce sujet.

Ils sont construits de telle sorte que lors du téléchargement, vous puissiez recevoir un fichier XML dans lequel seront enregistrées les données nécessaires au client. Dans le même temps, simultanément à l'enregistrement, l'exactitude des enregistrements transférés est surveillée pour détecter les erreurs critiques.

Ainsi, le téléchargement vers un fichier XML (importation d'enregistrements) depuis une base d'informations et le chargement ultérieur de XML vers une autre représentent un échange de données au format XML entre bases de données.

Cette procédure, en particulier avec de grandes quantités d'informations, évite beaucoup de travail manuel.

L'importation (le fichier résultant) peut également être utilisée comme archive pour la récupération dans des situations inattendues (en cas de perte ou d'endommagement).

De nombreux outils de traitement de ce type ont été développés et sont disponibles sur Internet. La responsabilité de leur utilisation incombe aux épaules (et à la tête) du client.

Mais pour les utilisateurs officiels d'Odeneski, les développeurs ont créé un processeur universel « Upload/Load XML Data ».

IMPORTANT. L'exportation vers XML dans 1C et le chargement ultérieur vers XML à partir de 1C sont acceptables pour des configurations identiques - sinon il sera endommagé.

Manipulateur universel

Points clés pour l'utilisation du révélateur universel :

  • Enregistrez les fichiers importés jusqu'à ce que le transfert des enregistrements soit terminé et que leur exactitude soit vérifiée ;
  • Lorsqu'ils sont utilisés comme copies de sauvegarde, un enregistrement de celles-ci doit être conservé pour trier la recherche.

Son fonctionnement comporte deux modes : créer un fichier lors de la sauvegarde des informations et le lire/écrire lors de l'importation.

De plus, l'utilisateur peut définir des restrictions supplémentaires lors de l'exportation et du chargement des données.

Extraction d'enregistrements

Vous pouvez télécharger des données à la fois dans l'ensemble de la base de données et de manière sélective - objet par objet.

Après le téléchargement, l'installation et l'ouverture du gestionnaire, les événements suivants se produisent :


Leur sélection s'effectue dans la boîte de dialogue qui s'ouvre après le lancement. Pour cela, cochez les cases dans la liste qui affiche les objets de métadonnées à récupérer ;

  1. Les filtres nécessaires sont configurés (par exemple, par date) ;
  2. L'espace disque est sélectionné ;
  3. L'opération proprement dite démarre.

Téléchargement des enregistrements vers le destinataire

La première étape pour accepter des données dans la base de données de réception consiste à y ouvrir le programme du processeur.

Une fois le chemin d'accès au fichier source spécifié et les indicateurs de paramètres de procédure activés (si nécessaire), vous pouvez démarrer le processus avec le bouton « Charger les données ».

Vous savez maintenant comment charger ou décharger des données de 1C au format XML pour enregistrer des données et échanger entre bases de données.

Dans une organisation, la comptabilité peut être tenue non seulement dans des solutions sur la plateforme 1C:Enterprise, mais également dans d'autres systèmes logiciels (Galaktika, Parus, SAP, etc.). Cela soulève le défi de l’intégration de deux applications.

Par exemple, certaines applications (appelons-la "X") doivent lire une liste de documents de configuration. Nous ne parlerons pas des avantages pratiques de résoudre un tel problème, je noterai seulement que le moyen le plus pratique et le plus universel dans une telle situation serait de télécharger une liste de documents au format XML.

Exchange utilisant ce format est universel car la plupart des applications peuvent fonctionner avec. Voyons comment vous pouvez télécharger une liste de documents de configuration dans un fichier XML à partir de 1C:Enterprise.

Télécharger vers XML

Et donc, passons à l'essentiel. Nous devons parcourir la liste des métadonnées du document et générer la liste dans le fichier XML. La capture d'écran suivante montre l'algorithme de génération d'un fichier XML :

Fonction CreateXML() Exporter // Récupère le nom du fichier temporaire Chemin = GetTemporaryFileName() ; // Initialise la classe "XML Record" Entrée = Nouvelle entréeXML ; // Ouvre un fichier temporaire en écriture- 8 " ) ; // Écrit la déclaration du fichier XML Enregistrer. WriteDeclarationXML() ; // Enregistrer. WriteElementStart(" DocumentsConfigurations" ) ; // Premier élément // Attribut du premier élément avec la date de création du fichier Enregistrer. WriteAttribute("généré", Format(CurrentDate(), " DF = aaaa-MM-jjThh:mm:ss; DLF = DT" ) ) ; // Écrivez un élément pour chaque document de configuration. Nous mettons le nom du document dans le texte. Pour chaque document à partir de métadonnées. Enregistrement du cycle des documents. WriteElementStart("Document"); Enregistrer. WriteText(Doc.Name) ; Enregistrer. WriteEndElement() ; Fin du cycle ; // Terminer l'écriture du premier élément Enregistrer. WriteEndElement() ; Enregistrer. Fermer(); // Ferme le fichier // Récupère les données binaires du fichier et les place dans un stockage temporaire BinaryData = nouveau BinaryData(Chemin) ; Adresse = PlaceInTemporaryStorage(BinaryData, New UniqueIdentifier) ​​​​​​; Adresse de retour; // Renvoie l'adresse du fichier au stockage FinFonction

Chaque élément créé doit être complété correctement. Après avoir exécuté « WriteStartofElement() », la méthode « WriteEndElement() » doit être exécutée, sinon la structure du fichier XML sera incorrecte.

Le modèle général de création de fichiers XML est la séquence suivante :

// 1. Initialisez la classe "XML Record" Entrée = Nouvelle entréeXML ; // 2. Ouvrez un fichier temporaire pour l'enregistrement Enregistrer. OpenFile(Chemin, " UTF - 8 " ) ; // 3. Écrivez la déclaration du fichier XML Enregistrer. WriteDeclarationXML() ; // // 4. ++ Écrivez le contenu du fichier XML Enregistrer. WriteElementStart("XMLElement"); Enregistrer. WriteEndElement() ; // -- Écrit le contenu du fichier XML // 5. Fermez le fichier Enregistrer. Fermer();

Ces cinq étapes créent presque n'importe quel fichier XML.

Dans notre exemple, le fichier généré est converti en données binaires et renvoyé à l'emplacement où la fonction CreateXML est appelée. Ce fichier peut ensuite être écrit dans le système de fichiers.

Vous pouvez voir un exemple du fichier téléchargé dans la capture d'écran ci-dessus.

Application tierce

À titre d'exemple, j'ai créé une application dans le .NET Framework pour démontrer la lecture d'un fichier XML dans une application tierce.

Le programme lit le fichier créé et affiche les documents sous forme de liste :

Vous pouvez l'essayer vous-même, l'application est disponible en téléchargement via le lien en fin d'article.

Polyvalence

Le format XML est utilisé dans la plupart des configurations pour l'échange de données entre les solutions applicatives sur la plateforme 1C:Enterprise. Une autre méthode de communication couramment utilisée consiste à utiliser une connexion COM. XML permet d'échanger avec presque toutes les applications, c'est pourquoi il mérite d'être qualifié d'universel.

Fichiers à télécharger :

Application de lecture de fichiers XML.

Traitement de la génération du fichier XML.

Modes de fonctionnement

Traitement UploadLoadDataXML82 implémente 2 modes de fonctionnement : Upload (création d'un fichier de téléchargement de données spécifiées par l'utilisateur) et Load (lecture d'un fichier de téléchargement créé par le mode du même nom et écriture des données qu'il contient). Le mode est défini en le sélectionnant dans le champ Mode.

Avant de démarrer un mode particulier (en cliquant sur le bouton Exécuter), vous devez spécifier le nom du fichier de téléchargement, soit en le saisissant manuellement dans le champ « Nom du fichier », soit en utilisant le bouton pour sélectionner ce champ et la boîte de dialogue standard de sélection de fichier. .

En mode téléchargement, il est possible de modifier l'utilisation des totaux lors de l'écriture des registres, ce qui peut affecter la vitesse de téléchargement. Les boutons « Désactiver les totaux » et « Activer les totaux » sont disponibles lorsque l'indicateur « Activer la possibilité de modifier l'utilisation des totaux lors du chargement des données » est activé et sont utilisés pour contrôler manuellement le mode d'utilisation des totaux lors du chargement des données. **Conditions d'applicabilité du traitement**

Le traitement ne peut être utilisé que dans les cas où la base d'informations dans laquelle les données ont été téléchargées et celle dans laquelle les données ont été chargées sont homogènes (les configurations sont identiques, les données peuvent différer), ou lorsque tous les objets téléchargés sont presque totalement identiques dans composition et types de détails et de parties tabulaires, propriétés de l'objet de métadonnées « principal », etc. Il est à noter qu'en raison de ces limitations, les traitements sont principalement destinés aux échanges entre SI homogènes.

Le format du fichier téléchargé diffère du format de fichier créé lors du téléchargement selon un plan d'échange dans la partie en-tête. Pour le téléchargement des données (éléments de répertoire, ensembles d'enregistrements de registre, etc.), le traitement utilise le même mécanisme de sérialisation XML que le téléchargement selon les plans d'échange ; dans cette partie, les formats de fichiers sont identiques.

Détermination de la composition du déchargement

Le traitement permet le téléchargement complet et partiel des données de la base d'informations dans un fichier. La composition des données téléchargées est configurée dans la boîte de dialogue en cochant les cases dans la colonne de l'arborescence qui affiche les objets de métadonnées pour lesquels les données peuvent être téléchargées. Une colonne supplémentaire de cases à cocher, « Si nécessaire », définit la nécessité de décharger les objets de ce type « par référence ». Autrement dit, si la case est cochée uniquement dans la colonne "Si nécessaire", les données d'un tel objet ne seront pas téléchargées complètement, mais uniquement dans la mesure nécessaire pour maintenir l'intégrité référentielle dans l'infobase qui chargera le téléchargement. déposer.

Lors de l'ouverture d'un formulaire, le traitement fixe le signe de déchargement par référence à tous les objets, ce qui garantit l'intégrité référentielle du fragment déchargé de la base d'informations.

Lorsque vous cliquez sur le bouton « Détecter les objets téléchargés par lien », le traitement analyse quels liens de données peuvent être contenus dans les objets pour lesquels l'indicateur de téléchargement complet est défini et remplit automatiquement la colonne d'indicateurs indiquant la nécessité de télécharger par lien. Si l'objet possède déjà l'indicateur de déchargement complet, l'indicateur de déchargement par référence n'est pas défini.

Applications possibles

L'utilisation de ce traitement est possible, par exemple, pour créer une copie de sauvegarde totale ou partielle des données, échanger des données entre bases d'informations, ainsi que comme outil auxiliaire lors de la restauration de bases d'informations problématiques.