heim - Erholung
Beispiel für das Lesen von XML 1c. Generieren der XML-Datei

Die Datenübertragung ist ein sehr wichtiger Prozess in jedem Buchhaltungssystem, die Plattformen 1C 8.3 und 8.2 bilden da keine Ausnahme. Im Folgenden sehen wir uns Anweisungen an, wie Sie Daten am einfachsten von einem System auf ein anderes mit ähnlicher Konfiguration übertragen können (für unterschiedliche Konfigurationen können Sie ein Tool für Programmierer verwenden – oder).

Bevor Maßnahmen erforderlich sind, sind die Änderungen irreversibel!

Der einfachste und bequemste Weg, Daten von 1C 8.3 auf 1C 8.3 Accounting 3.0 zu übertragen, besteht darin, die Verarbeitung zum Hochladen und Laden von Daten im XML-Format zu verwenden (Download - für 8.2 oder für 1C 8.3 oder auf ITS). Die Behandlung ist universell und für jede Konfiguration geeignet.

Wir gehen nicht auf Details ein, sondern schauen uns die Schritt-für-Schritt-Anleitung zur Datenmigration mit dieser Verarbeitung am Beispiel der einfachsten Warenübertragung an.

Hochladen von Daten in XML

Öffnen wir zunächst die Verarbeitung in der Quelldatenbank (von der wir Waren entladen werden) und schauen uns die Schnittstelle an:

Holen Sie sich 267 Video-Lektionen zu 1C kostenlos:

Sie müssen sofort das Feld „Dateiname“ ausfüllen – auf diesem Pfad wird eine neue Datendatei erstellt, die wir in die Empfängerdatenbank hochladen. Direkt darunter müssen Sie im tabellarischen Abschnitt „Daten zum Hochladen“ die Daten auswählen, die wir aus der Datenbank hochladen möchten.

Nachdem Sie ein Objekt im linken Tabellenteil ausgewählt haben, können Sie die Auswahl im rechten Tabellenteil anwenden:


In unserem Beispiel möchte ich alle Produkte mit dem Namen „Rake“ entladen.

Sind alle Einstellungen abgeschlossen, können die Daten hochgeladen werden. Klicken Sie dazu auf den Button „Daten hochladen“:


Laden von Daten aus XML in 1s 8.3

Die Daten wurden aus der Quelldatenbank entladen und müssen nun in die Zieldatenbank übertragen werden.

Dazu müssen Sie die Verarbeitung bereits in der Datenbank starten, in die Sie die Daten laden müssen, und zur Registerkarte „Herunterladen“ gehen, die heruntergeladene Datei auf der Festplatte auswählen und auf die Schaltfläche „Daten laden“ klicken:


Dieses Beispiel eignet sich nur für die Datenübertragung zwischen identischen Konfigurationen auf der 1C-Plattform. Um den Austauschmechanismus für Programmierer zu verstehen, haben wir einen Artikel geschrieben -.

Die Übertragung von Informationen zwischen Datenbanken gehört zu den Aufgaben ihrer Betreuung und Verwaltung. Für die effektive Umsetzung wird die Verarbeitung in automatisierten 1C-Komplexen erstellt. Sie erleichtern die Routinearbeit erheblich, beschleunigen das Hoch- und Herunterladen von Informationen und ermöglichen gleichzeitig die Kontrolle über deren Richtigkeit. Durch das Hochladen von 1c nach XML können Sie eine Datei mit den Inhalten eines beliebigen konfigurierten Konfigurationsobjekts erstellen und diese verwenden, wenn Sie Daten in eine identische Konfiguration hochladen müssen.

Tools zum Erstellen von Uploads

Zum Exportieren von in Datenbanken enthaltenen Informationen wird hauptsächlich das XML-Format verwendet. Für 1C wurden viele Verarbeitungsmethoden entwickelt (z. B. UploadLoadDataxml82 epf), mit deren Hilfe es möglich ist, Daten auszugeben und in eine Datei zu laden. In diesem Fall muss der Benutzer eine Datei mit einer bestimmten Struktur erhalten, die es ermöglicht, die darin gespeicherten Informationen in die native Datenbank zu laden oder an einen anderen Ort zu übertragen. Beim Erstellen eines Uploads sind folgende Regeln zu beachten:

  • Speichern Sie die erstellten Dateien bis zur vollständigen Wiederherstellung und zum Abschluss der Verfahren zur Überprüfung der Richtigkeit der übertragenen Informationen.
  • Wenn Sie die Verarbeitung als Sicherungstool verwenden, erstellen Sie separate Unterordner für Datenkopien und führen Sie ein Protokoll darüber, damit Sie sie schnell abrufen können.

Die im 1C-Benutzerunterstützungsprogramm enthaltene universelle Verarbeitung „Hochladen und Laden von XML-Daten“, die auf der Website oder auf ITS-Datenträgern zu finden ist, ist ein hervorragendes Werkzeug zum Exportieren und Importieren von Informationen. Ein Computerbenutzer kann sowohl die gesamte Datenbank als auch ihre einzelnen Objekte hochladen. Zusätzlich zum eigentlichen Export werden verschiedene Vorgänge ausgeführt, um Informationen zu überprüfen, die dabei helfen, kritische Fehler in den Daten zu beseitigen. Die Verarbeitung des 1c-Uploads in XML funktioniert in zwei Modi:

  • Entladung. Erstellt eine Datei mit benutzerdefinierten auslagerbaren Objekten;
  • Wird geladen. Liest eine zuvor exportierte Datei und schreibt die darin enthaltenen Informationen in die Informationsdatenbank.

Die Verarbeitung ermöglicht die Überprüfung von Objekten auf ungültige Zeichen und beinhaltet außerdem eine Funktion zum Exportieren von Informationen mit Einschränkungen.

Das Hochladen kann nicht nur beim Austausch von Informationen zwischen 1C-Datenbanken verwendet werden. Mit seiner Hilfe können Sie die Integration verschiedener Komplexe sicherstellen, beispielsweise 1C und das Parus-System. Die Vielseitigkeit des XML-Formats ermöglicht es Ihnen, Programme zur Informationsübertragung für nahezu alle Informationsbanken zu erstellen. Das Verarbeiten, Hoch- und Herunterladen von XML-Daten ist das wichtigste Werkzeug zum Informationsaustausch.

Der Prozess des Hochladens von Daten aufxml

Schauen wir uns an, wie man im normalen Modus von 1c nach XML hochlädt. Nachdem Sie die Datei UploadLoadDataxml.epf heruntergeladen und geöffnet haben, müssen Sie die folgenden Schritte ausführen:

  • Wählen Sie Objekte für den Export aus;
  • Richten Sie die notwendigen Filter ein, beispielsweise nach Zeitraum;
  • Bestimmen Sie den Speicherort der Datei anhand von Informationen zum Festplattensubsystem.
  • Beginnen Sie mit dem Entladen von Objekten.


Es ist zu beachten, dass sich der Header-Teil des Upload-Dateiformats von dem Dateiformat unterscheidet, das beim Hochladen gemäß Austauschplänen verwendet wird.

xml

Die XML-Datei wird in 1c in die empfangende Datenbank mit einer Konfiguration geladen, die mit der der Quelldatenbank identisch ist. Bevor Sie XML 1c in 1c laden, müssen Sie die Verarbeitung in der empfangenden Datenbank öffnen. Anschließend müssen Sie den Pfad zur zuvor hochgeladenen Datei angeben und die Daten herunterladen, indem Sie auf die Schaltfläche „Daten laden“ klicken.

Bei Bedarf werden Kontrollkästchen aktiviert, um Daten im Austauschmodus in eine verteilte Infobase zu laden und Fehler, die beim Laden von Objekten auftreten, zu ignorieren.


Danach müssen Sie die Datenbanken überprüfen und sicherstellen, dass alle Elemente korrekt geladen werden, um sie nicht zu verlieren, beispielsweise wenn nach dem Laden des Objekts ein Fehler im Event-Handler auftritt.


Diese Verarbeitung ermöglicht den Datenaustausch zwischen denselben (identischen) Konfigurationen auf der 1C 8.2-Plattform – Bukh, ZUP, UT, UPP und anderen, Hauptsache, die Konfigurationen sind gleich!

Screenshots werden verarbeitet

(Foto)

Betriebsarten

Die Verarbeitung implementiert zwei Betriebsmodi: Hochladen (Erstellen einer Upload-Datei mit benutzerdefinierten Daten) und Laden (Lesen einer durch den gleichnamigen Modus erstellten Upload-Datei und Schreiben der darin enthaltenen Daten). Der Modus wird durch Auswahl im Feld „Modus“ eingestellt.

Bevor Sie einen bestimmten Modus starten (durch Klicken auf die Schaltfläche „Ausführen“), müssen Sie den Namen der Upload-Datei angeben, indem Sie ihn entweder manuell in das Feld „Dateiname“ eingeben oder die Schaltfläche verwenden, um dieses Feld und den Standarddialog zur Dateiauswahl auszuwählen .

Im Download-Modus ist es möglich, die Verwendung von Summen beim Schreiben von Registern zu bearbeiten, was sich auf die Download-Geschwindigkeit auswirken kann.

Die Schaltflächen „Summen deaktivieren“ und „Summen aktivieren“ sind verfügbar, wenn das Flag „Möglichkeit zum Bearbeiten der Verwendung von Summen beim Laden von Daten aktivieren“ gesetzt ist und werden verwendet, um den Modus der Verwendung von Summen beim Laden von Daten manuell zu steuern.

Bedingungen für die Anwendbarkeit der Verarbeitung

Die Verarbeitung kann nur in Fällen verwendet werden, in denen die Informationsbasis, in die die Daten hochgeladen wurden, und die, in die die Daten geladen wurden, homogen sind (die Konfigurationen sind identisch, die Daten können unterschiedlich sein) oder alle hochgeladenen Objekte nahezu vollständig identisch sind Zusammensetzung und Arten von Details und Tabellenteilen, Eigenschaften des „führenden“ Metadatenobjekts usw. Es ist zu beachten, dass die Verarbeitung aufgrund dieser Einschränkungen hauptsächlich für den Austausch zwischen homogenen IS gedacht ist.

Das Upload-Dateiformat unterscheidet sich von dem Dateiformat, das beim Hochladen gemäß einem Austauschplan im Header-Teil erstellt wird. Für das Hochladen von Daten (Verzeichniselemente, Sätze von Registereinträgen usw.) verwendet die Verarbeitung denselben XML-Serialisierungsmechanismus wie das Hochladen gemäß Austauschplänen; in diesem Teil sind die Dateiformate identisch.

Bestimmen der Zusammensetzung der Entladung

Die Verarbeitung ermöglicht sowohl das vollständige als auch teilweise Hochladen von Infobase-Daten in eine Datei. Die Zusammensetzung der hochgeladenen Daten wird im Dialog konfiguriert, indem die Kontrollkästchen in der Spalte des Baums aktiviert werden, in der Metadatenobjekte angezeigt werden, für die Daten hochgeladen werden können. Eine zusätzliche Spalte mit Kontrollkästchen „Bei Bedarf“ legt die Notwendigkeit fest, Objekte dieses Typs „durch Referenz“ zu entladen. Das heißt, wenn das Kontrollkästchen nur in der Spalte „Bei Bedarf“ aktiviert ist, werden die Daten für ein solches Objekt nicht vollständig heruntergeladen, sondern nur in dem Umfang, der erforderlich ist, um die referenzielle Integrität in der Infobase aufrechtzuerhalten, die den Download lädt Datei.

Beim Öffnen eines Formulars setzt die Verarbeitung das Vorzeichen des Entladens durch Verweis auf alle Objekte, was die referenzielle Integrität des entladenen Fragments der Informationsbasis gewährleistet.

Wenn Sie auf die Schaltfläche „Objekte erkennen, die per Link entladen werden“ klicken, analysiert die Verarbeitung, welche Datenverknüpfungen in Objekten enthalten sein können, die über das vollständige Entladeattribut verfügen, und füllt automatisch die Spalte mit Flags aus, die angeben, dass das Entladen per Link erforderlich ist. Wenn für das Objekt bereits das Flag „Vollständiges Entladen“ gesetzt ist, ist das Flag „Entladen nach Referenz“ nicht gesetzt.

Mögliche Anwendungen

Der Einsatz dieser Verarbeitung ist beispielsweise möglich, um eine vollständige oder teilweise Sicherungskopie von Daten zu erstellen, Daten zwischen Informationsdatenbanken auszutauschen und auch als Hilfsmittel bei der Wiederherstellung problematischer Informationsdatenbanken.

In einer Organisation kann die Buchhaltung nicht nur in Lösungen auf der 1C:Enterprise-Plattform, sondern auch in anderen Softwaresystemen (Galaktika, Parus, SAP usw.) gepflegt werden. Dies stellt die Integration zweier Anwendungen vor die Herausforderung.

Beispielsweise muss eine Anwendung (nennen wir sie „X“) eine Liste von Konfigurationsdokumenten lesen. Wir werden nicht über die praktischen Vorteile der Lösung eines solchen Problems sprechen; ich möchte nur darauf hinweisen, dass der bequemste und universellste Weg in einer solchen Situation darin besteht, eine Liste von Dokumenten im XML-Format hochzuladen.

Der Austausch mit diesem Format ist universell, da die meisten Anwendungen damit arbeiten können. Sehen wir uns an, wie Sie eine Liste von Konfigurationsdokumenten von 1C:Enterprise in eine XML-Datei hochladen können.

Hochladen in XML

Kommen wir also zur Hauptsache. Wir müssen die Liste der Dokumentmetadaten durchlaufen und die Liste in der XML-Datei generieren. Der folgende Screenshot zeigt den Algorithmus zum Generieren einer XML-Datei:

Funktion CreateXML() Export // Den Namen der temporären Datei abrufen Path = GetTemporaryFileName() ; // Initialisieren Sie die Klasse „XML Record“. Eintrag = Neuer EintragXML; // Öffne eine temporäre Datei zum Schreiben - 8 ") ; // Schreiben Sie die XML-Dateideklaration Aufzeichnen. WriteDeclarationXML() ; // Aufzeichnen. WriteElementStart(" DokumenteKonfigurationen") ; // Erstes Element // Attribut des ersten Elements mit dem Datum, an dem die Datei erstellt wurde Aufzeichnen. WriteAttribute(" generiert ", Format(CurrentDate(), " DF = yyyy-MM- ddThh:mm:ss; DLF= DT")) ; // Für jedes Konfigurationsdokument ein Element schreiben. Wir geben den Namen des Dokuments in den Text ein. Für jedes Dokument aus Metadaten. Dokumentiert die Zyklusaufzeichnung. WriteElementStart("Dokument"); Aufzeichnen. WriteText(Doc.Name) ; Aufzeichnen. WriteEndElement() ; EndCycle; // Schreibe das erste Element fertig Aufzeichnen. WriteEndElement() ; Aufzeichnen. Schließen(); // Schließe die Datei // Binärdaten der Datei abrufen und im temporären Speicher ablegen BinaryData = new BinaryData(Path) ; Address = PlaceInTemporaryStorage(BinaryData, New UniqueIdentifier) ​​​​; Absender; // Die Adresse der Datei an den Speicher zurückgeben EndFunction

Jedes erstellte Element muss korrekt abgeschlossen werden. Nach der Ausführung von „WriteStartofElement()“ muss die Methode „WriteEndElement()“ ausgeführt werden, da sonst die Struktur der XML-Datei fehlerhaft ist.

Die allgemeine Vorlage zum Erstellen von XML-Dateien ist die folgende Reihenfolge:

// 1. Initialisieren Sie die Klasse „XML Record“. Eintrag = Neuer EintragXML; // 2. Öffnen Sie eine temporäre Datei zur Aufnahme Aufzeichnen. OpenFile(Pfad, „UTF-8“); // 3. Schreiben Sie die Deklaration der XML-Datei Aufzeichnen. WriteDeclarationXML() ; // // 4. ++ Schreiben Sie den Inhalt der XML-Datei Aufzeichnen. WriteElementStart("XMLElement" ; Aufzeichnen. WriteEndElement() ; // -- Den Inhalt der XML-Datei schreiben // 5. Schließen Sie die Datei Aufzeichnen. Schließen();

Mit diesen fünf Schritten erstellen Sie nahezu jede XML-Datei.

In unserem Beispiel wird die generierte Datei in Binärdaten konvertiert und an den Speicherort zurückgegeben, an dem die CreateXML-Funktion aufgerufen wird. Diese Datei kann dann in das Dateisystem geschrieben werden.

Ein Beispiel der hochgeladenen Datei sehen Sie im Screenshot oben.

Anwendung durch Dritte

Als Beispiel habe ich eine Anwendung im .NET Framework erstellt, um das Lesen einer XML-Datei in einer Drittanbieteranwendung zu demonstrieren.

Das Programm liest die erstellte Datei und zeigt die Dokumente in Form einer Liste an:

Sie können es selbst ausprobieren, die Anwendung steht über den Link am Ende des Artikels zum Download bereit.

Vielseitigkeit

Das XML-Format wird in den meisten Konfigurationen für den Datenaustausch zwischen Anwendungslösungen auf der 1C:Enterprise-Plattform verwendet. Eine weitere häufig verwendete Kommunikationsmethode ist eine COM-Verbindung. XML ermöglicht den Austausch mit fast jeder Anwendung und verdient daher die Bezeichnung universell.

Dateien zum Download:

Anwendung zum Lesen von XML-Dateien.

Verarbeitung der Generierung der XML-Datei.

Wenn ein Unternehmen bei seiner Arbeit ständig ein Softwarepaket nutzt, stellt sich natürlich immer die Frage nach dessen fortlaufender Betreuung und Verwaltung. An den Aufgaben des Datenaustauschs, der Speicherung und der Wiederherstellung führt kein Weg vorbei. Schauen wir uns an, wie man Daten aus 1C im XML-Format lädt oder entlädt, da dies ein wichtiger Vorgang für dieses Thema ist.

Sie sind so aufgebaut, dass Sie beim Hochladen eine XML-Datei erhalten, in der die für den Kunden notwendigen Daten festgehalten werden. Gleichzeitig mit der Aufzeichnung wird die Korrektheit der übertragenen Datensätze auf kritische Fehler überwacht.

Somit stellt das Hochladen in eine XML-Datei (Importieren von Datensätzen) von einer Informationsbasis und das anschließende Laden von XML in eine andere einen Datenaustausch im XML-Format zwischen Datenbanken dar.

Gerade bei großen Informationsmengen erspart dieses Vorgehen viel manuelle Arbeit.

Der Import (die resultierende Datei) kann auch als Archiv zur Wiederherstellung in unerwarteten Situationen (bei Verlust oder Beschädigung) verwendet werden.

Viele solcher Verarbeitungstools wurden entwickelt und sind im Internet verfügbar. Die Verantwortung für deren Verwendung liegt auf den Schultern (und dem Kopf) des Kunden.

Aber für offizielle Benutzer von Odeneski haben die Entwickler einen universellen Prozessor „XML-Daten hochladen/laden“ geschaffen.

WICHTIG. Der Export nach XML in 1C und das weitere Laden in XML aus 1C ist für identische Konfigurationen akzeptabel – andernfalls wird es beschädigt.

Universeller Handler

Wichtige Punkte für die Verwendung des Universalentwicklers:

  • Speichern Sie den Dateiimport, bis die Übertragung der Datensätze abgeschlossen ist und deren Richtigkeit überprüft wurde.
  • Wenn sie als Sicherungskopien verwendet werden, sollten sie protokolliert werden, um die Suche zu ordnen.

Der Betrieb verfügt über zwei Modi: Erstellen einer Datei beim Speichern von Informationen und Lesen/Schreiben beim Importieren.

Darüber hinaus kann der Benutzer zusätzliche Einschränkungen sowohl beim Export als auch beim Laden von Daten festlegen.

Datensätze extrahieren

Sie können Daten sowohl in der gesamten Datenbank als auch selektiv – Objekt für Objekt – hochladen.

Nach dem Herunterladen, Installieren und Öffnen des Handlers geschieht Folgendes:

Ihre Auswahl erfolgt im Dialogfenster, das sich nach dem Start öffnet. Aktivieren Sie dazu die Kontrollkästchen in der Liste, in der die abzurufenden Metadatenobjekte angezeigt werden.

  1. Die notwendigen Filter sind konfiguriert (z. B. nach Datum);
  2. Speicherplatz ist ausgewählt;
  3. Der Vorgang selbst beginnt.

Hochladen von Datensätzen zum Empfänger

Der erste Schritt zur Aufnahme von Daten in die empfangende Datenbank besteht darin, das Prozessorprogramm darin zu öffnen.

Nachdem der Pfad zur Quelldatei angegeben und die Flags für die Verfahrenseinstellungen (falls erforderlich) aktiviert wurden, können Sie den Vorgang über die Schaltfläche „Daten laden“ starten.


Jetzt wissen Sie, wie Sie Daten aus 1C im XML-Format laden oder entladen, um Daten zu speichern und zwischen Datenbanken auszutauschen.

Schreiben Sie in den Kommentaren über Ihre Erfahrungen in dieser Angelegenheit.

2018-11-15T19:32:35+00:00

Die universelle Verarbeitung „XML-Daten hochladen und laden“ führt das vollständige oder teilweise Entladen von Infobase-Daten in eine Datei im XML-Format durch. Anschließend kann diese Datei mit der gleichen Verarbeitung in die Infobase geladen werden. Das Upload-Dateiformat unterscheidet sich von dem Dateiformat, das beim Hochladen gemäß einem Austauschplan im Header-Teil erstellt wird.

Die Verarbeitung kann nur in Fällen verwendet werden, in denen die Informationsbasis, in die die Daten hochgeladen wurden, und die, in die die Daten geladen wurden, homogen sind (die Konfigurationen sind identisch, die Daten können unterschiedlich sein) oder alle hochgeladenen Objekte nahezu vollständig identisch sind Zusammensetzung und Arten von Details und Tabellenteilen, Eigenschaften des „führenden“ Metadatenobjekts usw.

Der Einsatz dieser Verarbeitung ist beispielsweise zum Erstellen einer vollständigen oder teilweisen Datensicherung, zum Datenaustausch zwischen Infobases sowie als Hilfsmittel bei der Wiederherstellung fehlerhafter Infobases möglich.

Die Verarbeitung unterstützt das Hochladen von Daten mit der Möglichkeit, die Auswahl nach Zeitraum festzulegen. Ebenfalls implementiert ist die Überprüfung von Objekten auf das Vorhandensein ungültiger Zeichen beim Austausch über XML.

Mit freundlichen Grüßen (Lehrer und Entwickler).

In einer Organisation kann die Buchhaltung nicht nur in Lösungen auf der 1C:Enterprise-Plattform, sondern auch in anderen Softwaresystemen (Galaktika, Parus, SAP usw.) gepflegt werden. Dies stellt die Integration zweier Anwendungen vor die Herausforderung.

Beispielsweise muss eine Anwendung (nennen wir sie „X“) eine Liste von Konfigurationsdokumenten lesen. Wir werden nicht über die praktischen Vorteile der Lösung eines solchen Problems sprechen; ich möchte nur darauf hinweisen, dass der bequemste und universellste Weg in einer solchen Situation darin besteht, eine Liste von Dokumenten im XML-Format hochzuladen.

Der Austausch mit diesem Format ist universell, da die meisten Anwendungen damit arbeiten können. Sehen wir uns an, wie Sie eine Liste von Konfigurationsdokumenten von 1C:Enterprise in eine XML-Datei hochladen können.

Hochladen in XML

Kommen wir also zur Hauptsache. Wir müssen die Liste der Dokumentmetadaten durchlaufen und die Liste in der XML-Datei generieren. Der folgende Screenshot zeigt den Algorithmus zum Generieren einer XML-Datei:

Funktion CreateXML() Export // Den Namen der temporären Datei abrufen Path = GetTemporaryFileName() ; // Initialisieren Sie die Klasse „XML Record“. Eintrag = Neuer EintragXML; // Öffne eine temporäre Datei zum Schreiben- 8 " ) ; // Schreiben Sie die XML-Dateideklaration Aufzeichnen. WriteDeclarationXML() ; // Aufzeichnen. WriteElementStart(" DokumenteKonfigurationen" ) ; // Erstes Element // Attribut des ersten Elements mit dem Datum, an dem die Datei erstellt wurde Aufzeichnen. WriteAttribute(" generiert ", Format(CurrentDate(), " DF = yyyy-MM- ddThh:mm:ss; DLF= DT" ) ) ; // Für jedes Konfigurationsdokument ein Element schreiben. Wir geben den Namen des Dokuments in den Text ein. Für jedes Dokument aus Metadaten. Dokumentiert die Zyklusaufzeichnung. WriteElementStart("Dokument"); Aufzeichnen. WriteText(Doc.Name) ; Aufzeichnen. WriteEndElement() ; EndCycle ; // Schreibe das erste Element fertig Aufzeichnen. WriteEndElement() ; Aufzeichnen. Schließen(); // Schließe die Datei // Binärdaten der Datei abrufen und im temporären Speicher ablegen BinaryData = new BinaryData(Path) ; Address = PlaceInTemporaryStorage(BinaryData, New UniqueIdentifier) ​​​​; Absender; // Die Adresse der Datei an den Speicher zurückgeben EndFunction

Jedes erstellte Element muss korrekt abgeschlossen werden. Nach der Ausführung von „WriteStartofElement()“ muss die Methode „WriteEndElement()“ ausgeführt werden, da sonst die Struktur der XML-Datei fehlerhaft ist.

Die allgemeine Vorlage zum Erstellen von XML-Dateien ist die folgende Reihenfolge:

// 1. Initialisieren Sie die Klasse „XML Record“. Eintrag = Neuer EintragXML; // 2. Öffnen Sie eine temporäre Datei zur Aufnahme Aufzeichnen. OpenFile(Pfad, " UTF - 8 " ) ; // 3. Schreiben Sie die Deklaration der XML-Datei Aufzeichnen. WriteDeclarationXML() ; // // 4. ++ Schreiben Sie den Inhalt der XML-Datei Aufzeichnen. WriteElementStart("XMLElement"); Aufzeichnen. WriteEndElement() ; // -- Den Inhalt der XML-Datei schreiben // 5. Schließen Sie die Datei Aufzeichnen. Schließen();

Mit diesen fünf Schritten erstellen Sie nahezu jede XML-Datei.

In unserem Beispiel wird die generierte Datei in Binärdaten konvertiert und an den Speicherort zurückgegeben, an dem die CreateXML-Funktion aufgerufen wird. Diese Datei kann dann in das Dateisystem geschrieben werden.

Ein Beispiel der hochgeladenen Datei sehen Sie im Screenshot oben.

Anwendung durch Dritte

Als Beispiel habe ich eine Anwendung im .NET Framework erstellt, um das Lesen einer XML-Datei in einer Drittanbieteranwendung zu demonstrieren.

Das Programm liest die erstellte Datei und zeigt die Dokumente in Form einer Liste an:

Sie können es selbst ausprobieren, die Anwendung steht über den Link am Ende des Artikels zum Download bereit.

Vielseitigkeit

Das XML-Format wird in den meisten Konfigurationen für den Datenaustausch zwischen Anwendungslösungen auf der 1C:Enterprise-Plattform verwendet. Eine weitere häufig verwendete Kommunikationsmethode ist eine COM-Verbindung. XML ermöglicht den Austausch mit fast jeder Anwendung und verdient daher die Bezeichnung universell.

Dateien zum Download:

Anwendung zum Lesen von XML-Dateien.

Verarbeitung der Generierung der XML-Datei.

Wie lade ich aus dem Handel oder Gehalt heruntergeladene Daten in 1C: Accounting 8.3 (Revision 3.0)?

2016-12-01T12:52:06+00:00

Am häufigsten werden Daten aus dem Handel oder der Lohn- und Gehaltsabrechnung in die Buchhaltung übernommen.

Bei den heruntergeladenen Daten handelt es sich um eine Datei mit der Erweiterung „ .xml". Wie lade ich es in das Programm?

  1. Lass uns beginnen mit Erstellen einer Sicherungskopie Buchhaltungsabteilung, damit wir, wenn der Download die Datenbank beschädigt, zu ihrem ursprünglichen Zustand zurückkehren können. Es wird über das Erstellen von Sicherungskopien geschrieben.
  2. Öffnen Sie nun das Menü „ Alle Funktionen" (darüber ).
  3. Suchen Sie im sich öffnenden Fenster den Eintrag „ Behandlungen" und öffnen Sie es mit einem Pluszeichen.
  4. Wir finden und öffnen unter seinen Verarbeitungsgegenständen. Universeller Datenaustausch im XML-Format".
  5. ".
  6. Wir weisen darauf hin der Pfad zur Datei von dem wir Daten laden werden.
  7. Drücken Sie den Knopf " Daten herunterladen".

Wenn alles gut gelaufen ist, großartig! Wenn es Fehler gibt, liegt der Grund wahrscheinlich darin, dass für die Entladung aus Handel oder Gehalt ungeeignete (veraltete) Regeln verwendet wurden – sie müssen aktualisiert und erneut entladen werden.

Mit freundlichen Grüßen (Lehrer und Entwickler).

- bekannte Webseiten, die ebenfalls ein XML-Analogon mit schwachen Prüfungen sind.

XML Reader/Writer Objects, FastInfoset und HTML erweitern die Lesefunktionen für Textdateien durch die integrierte Verarbeitung von Markup-Tags.

Sie werden auch für DOMBuilder/DOMRecord-Objekte (siehe unten) als Datenquellen verwendet.

XML 1C-Dateien enthalten Textinformationen, das heißt, es handelt sich um Textdateien. Die Objekte 1C XML Reader und 1C Write XML sind ein „Add-on“, das die Arbeit mit XML-Tags in einer 1C-Datei erleichtert.

Die Objekte ReadingFastInfoset 1C und WritingFastInfoset 1C, ReadingHTML 1C und WritingHTML 1C sind ReadingXML 1C und WritingXML 1C völlig ähnlich und dienen dazu, in gleicher Weise mit anderen Formaten zu arbeiten.

XML 1C-Datei, die in den Beispielen verwendet wird

Verzeichnis>

Verzeichnis>

Text valueProps>
Verzeichnis>
Konfiguration>

Beispiel 1. Einlesen einer 1C-XML-Datei in einen Wertebaum mit Reading XML 1C

//öffne die XML 1C-Datei zum Lesen mit ReadingXML 1C
Datei = New ReadXML();
File.OpenFile("D:\ConfigurationStructure.xml");

//Vorbereiten des Wertebaums
//Jeder XML-Zweig kann einen Namen, Attribute und einen Wert haben
dzXML = NewValueTree();
dzXML.Columns.Add("Name");
dzXML.Columns.Add("Value");
dzXML.Columns.Add("Attribute");

//da ein XML-String mehrere Attribute haben kann, werden wir diese in die Wertetabelle schreiben
//Jedes Attribut hat einen Namen und einen Wert
tAttributes = New ValueTable();
tAttributes.Columns.Add("Name");
tAttributes.Columns.Add("Value");

//Die Verschachtelungsebene hilft uns zu verstehen, wann wir einen verschachtelten Zweig hinzufügen müssen und wann wir eine Ebene nach oben gehen müssen
Verschachtelungsebene = 0;
// Die aktuelle Zeile ist eine Baumlinie und ändert sich mit zunehmender Verschachtelung
CurrentRow = Undefiniert;
//Das Lesen der XML 1C-Datei erfolgt nicht zeilenweise, sondern entsprechend der Struktur. Wenn die Datei endet, wird beim Lesen FALSE zurückgegeben
While File.Read()-Schleife

//uns interessieren drei Arten von Knoten – der Anfang des Elements, der Text (der Wert des Elements) und das Ende des Elements (um zur obersten Ebene zurückzukehren)
Wenn File.NodeType = XMLNodeType.ElementStart, dann

Verschachtelungsebene = Verschachtelungsebene + 1;

//Wenn dies die erste Zeile ist, fügen Sie sie ganz oben im Baum hinzu und speichern Sie nur den Namen
Wenn CurrentRow = Undefiniert, dann
CurrentRow = dXML.Rows.Add();
CurrentLine.Name = File.Name;
Weitermachen;
Ansonsten
//verschachtelte Zeilen
CurrentRow = CurrentRow.Rows.Add();
CurrentLine.Name = File.Name; //den Namen speichern

//Hat dieses XML-Element Attribute?
Wenn File.NumberAttributes() > 0, dann
//Wenn ja, kopieren Sie die vorbereitete leere Tabelle, um Attribute zu speichern
tAttributesNode = tAttributes.Copy();
//Durchlaufe die Anzahl der Attribute dieses Elements
Für Account = 0 nach File.Number of Attributes()-1 Cycle
//Merken Sie sich für jedes Attribut den Namen und den Wert
Row = tNodeAttributes.Add();
Line.Name = File.AttributeName(Sch);
Row.Value = File.AttributeValue(Ac);
EndCycle;
//speichere die Attributtabelle des Elements in der aktuellen Zeile
CurrentRow.Attributes = tNodeAttributes;
endIf;
endIf;

ElseIf File.NodeType = XMLNodeType.EndElement Then
//Am Anfang des Elements erhöhen wir die Verschachtelungsebene, am Ende des Elements verringern wir sie
Verschachtelungsebene = Verschachtelungsebene - 1;
//gibt die aktuelle Zeile eine Ebene nach oben zurück
CurrentRow = CurrentRow.Parent;

ElseIf File.NodeType = XMLNodeType.Text Then
//Wenn das Element einen Wert hat, speichern Sie ihn einfach
CurrentRow.Value = File.Value;

endIf;

EndCycle;

File.Close();

Beispiel 2. Aufzeichnen einer 1C XML-Datei mit dem 1C Record XML-Objekt

//Erstelle eine Datei Record XML 1C
Datei = NewWriteXML();
File.OpenFile("D:\ConfigurationStructure.xml", "UTF-8");
File.WriteElementStart("Configuration");

//Metadaten verwenden, um alle Verzeichnisse zu durchsuchen (weitere Einzelheiten finden Sie unter „Arbeiten mit Metadaten“)
Für jedes Verzeichnis aus Metadata.Directories Cycle

//WriteStartofElement – ​​öffnet einen neuen [untergeordneten] Zweig
File.WriteElementStart("Directory");
//WriteAttribute – schreibt ein Attribut in einen zuvor geöffneten Zweig
File.WriteAttribute("Name", Directory.Name);
File.WriteAttribute("Synonym", Directory.Synonym);

//anhand von Metadaten gehen wir alle Verzeichnisdetails durch
Für jedes Props aus dem Directory.Props-Zyklus




EndCycle;

// Metadaten verwenden, um alle tabellarischen Teile des Verzeichnisses zu durchlaufen
Für jede PM aus dem Verzeichnis. Tabellarische Teile des Zyklus
File.WriteElementStart("TabularPart");
File.WriteAttribute("Name", PM.Name);
File.WriteAttribute("Synonym", PM.Synonym);

Für jedes Props aus PM.Props Cycle
File.WriteElementStart("Props");
File.WriteAttribute("Name", Attributes.Name);
File.WriteAttribute("Synonym", Attributes.Synonym);
File.WriteEndElement();
EndCycle;

File.WriteEndElement();
EndCycle;

//WriteEndElement – ​​„schließt“ den Zweig, der zuvor mit WriteBeginElement geöffnet wurde
File.WriteEndElement();
EndCycle;

File.WriteEndElement();
File.Close();



 


Lesen:



Wie stelle ich RAM-Timings richtig ein?

Wie stelle ich RAM-Timings richtig ein?

RAM arbeitet basierend auf Steuersignalen vom Speichercontroller, der sich in der Northbridge des Chipsatzes (Intel) oder direkt befindet...

Installieren von Navitel auf einem Navigator und Computer

Installieren von Navitel auf einem Navigator und Computer

Wenn Sie Karten auf Ihrem Garmin-Navigationsgerät installieren müssen, sind Sie hier genau richtig. Im Folgenden werden wir uns verschiedene Möglichkeiten ansehen, dies zu tun. Also...

Ändern Sie das Passwort auf dem Minecraft-Server über Ihr persönliches Konto und im Client

Ändern Sie das Passwort auf dem Minecraft-Server über Ihr persönliches Konto und im Client

Das Minecraft-Spiel kann absolut jeden Spieler interessieren, denn darin können Sie Ihr ganz individuelles Märchen erschaffen und...

Was ist ein Lautsprecherkabel?

Was ist ein Lautsprecherkabel?

Bei der professionellen Arbeit mit Ton ist es sehr wichtig, die Grundprinzipien des Wechsels verschiedener Gerätetypen zu verstehen, das macht es einfacher und schneller...

Feed-Bild RSS