Universellt datautbyte i xml-format 7.7. Utseende och funktioner i användningen av universellt datautbyte

Och den här artikeln beskriver stegen som krävs för att utbyta data från konfigurationen av 1C: Enterprise version 7.7 till 8.2 med samma konfiguration Datakonvertering, utgåva 2.1.4.1.

Låt oss hitta behandlingsfilen MD82Exp.epf som en del av distributionskitet.
Det kommer att behövas för att ladda ner beskrivningen av metadatastrukturen för mottagarens baskonfiguration.

Vi hittar också bearbetningsfilen V8Exchan82.epf - "Universal data exchange in XML format" som en del av samma distributionskit.
Du behöver den för att lossa mottagarbasen. Som namnet antyder är dessa behandlingar avsedda
för att arbeta med version 1C: Enterprise 8.2.

Då hittar vi verktyg för att arbeta med 1C: Enterprise 7.7.

Datakonverteringens konfigurationsdistribution inkluderar en behandlingsfil MD77Exp.ert.
Det kommer att behövas för att ladda ner beskrivningen av metadatastrukturen för källdatabasens konfiguration.

Vi hittar också bearbetningsfilen V77Exp.ert - "Universal dataexport i XML-format" som en del av samma distributionskit.
Det kommer att behövas för att ladda ner källbasen.

Så låt oss komma igång:

Låt oss först ladda ner käll- ochrna.

  1. Låt oss öppna källdatabasen i 1C: Enterprise 7.7-läge och börja bearbeta MD77Exp.ert
    för att ladda ner beskrivningen av källmetadatastrukturen.
    Låt oss spara källmetadatastrukturen i filen Rules1.xml.
  2. Låt oss öppna mottagarens bas i 1C: Enterprise 8.2-läge och börja bearbeta MD82Exp.epf
    för att ladda ner beskrivningen av mottagarens metadatastruktur.
    Låt oss spara mottagarens metadatastruktur i filen Rules2.xml.

Låt oss ladda beskrivningarna av metadatastrukturen för båda konfigurationerna.

  1. Låt oss starta konfigurationen Datakonvertering i 1C: Enterprise-läge 8.2.
  2. Låt oss öppna katalogen "Konfigurationer" (Referenser -\u003e Konfigurationer). Den lagrar konfigurationsinformation,
    mellan vilka utbytesreglerna kan konfigureras.
  3. Låt oss lägga till information om källkonfigurationen. Tryck på "Lägg till" -knappen eller "Infoga" -tangenten.
  4. Låt oss ange sökvägen till filen med källans metadatastruktur regler1.xml. Tryck på knappen "Ladda ner".
  5. Låt oss lägga till information om mottagarkonfigurationen. Tryck på "Lägg till" -knappen eller "Infoga" -tangenten.
  6. Låt oss ange sökvägen till filen med mottagarens metadatastruktur Rules2.xml. Tryck på knappen "Ladda ner".

Så vi har laddat käll- och destinationsinformationen. Nu kan vi konfigurera utbytesreglerna.

  1. Låt oss öppna katalogen "Konverteringar" (Referenser -\u003e Konverteringar). Den här guiden innehåller information
    i vilken det bestäms mellan vilka konfigurationer utbytet utförs och i vilken riktning.
  2. Låt oss lägga till ett nytt element. Tryck på "Lägg till" -knappen eller "Infoga" -tangenten.
  3. Låt oss ange konfigurationskällan från katalogen "Konfigurationer". Fältet "Konfiguration - källa:".
  4. Låt oss ange mottagarens konfiguration från katalogen "Konfigurationer". Fältet "Konfiguration - destination:".
  5. En viktig detalj !!! Låt oss öppna fliken "Ytterligare". Fältet "Filnamn på avlastningsmodulen:".
  6. Ange platsen för lossningsmodulfilen, till exempel: C: \\\\ Bases \\\\ Unloading module.txt.
  7. Innehållet i den här filen är nödvändigt för att ersätta hela filen
    modul för bearbetning av V77Exp.ert. Det går inte att lossa utan denna ersättning!
  8. Låt oss trycka på "OK" -knappen.

Bra, vi har konfigurerat utbytesreglerna. Det återstår att ladda upp dessa utbytesregler till en fil.

  1. Välj det nyskapade elementet i referensboken "Konverteringar".
  2. Tryck på knappen "Gå till regler" på referenspanelen. Ett formulär med konverteringsregler öppnas.
  3. På fliken "Dataöverföringsregler" anger vi exakt vad vi vill ladda upp.
  4. På fliken "Egenskapsomvandling" kan vi specificera kartläggningen av detaljerna för de utbytta objekten.
  5. På det här formuläret, i det övre vänstra hörnet, hittar vi knappen "Spara regler".
  6. Ange filnamn och sökväg (till exempel C: \\\\ Bases \\\\ DataRules.xml). Låt oss trycka på knappen "Öppna".
  7. Senare, angiven sökväg vi kan ändra i katalogen "Konverteringar" -\u003e "Ändra det aktuella elementet (F2)" -\u003e fliken "Avancerat" -\u003e fältet "Exchange regler filnamn:".
  8. Under lagring av reglerna skrivs också avlastningsmodulen enligt den sökväg vi angav tidigare: C: \\\\ Baser \\\\ Avlastningsmodul.txt.

Konverteringsregler är redo! Låt oss nu göra datautbytet.

Låt oss öppna källbasen i 1C: Configurator 7.7-läge och öppna sedan bearbetningen V77Exp.ert -
"Universal dataöverföring i XML - format". Låt oss öppna fliken "Modul", ta bort allt innehåll i modulen.
Infoga raden: # LoadFromFile C: \\\\ Bases \\\\ Unload Module.txt.

Genom direktivet "LoadFromFile" byter vi lastningen programvarumodul att läsa in från en textfil.
Nu måste du se till att filen med nedladdningskoden ModuleUnload.txt alltid finns i den mapp vi angav.

Låt oss spara behandlingen av V77Exp.ert.

För att ladda upp data måste du:

  1. Öppna källdatabasen i 1C: Enterprise 7.7-läge och öppna sedan den nyligen sparade V77Exp.ert-behandlingen.
  2. Ange namnet på filen för utbytesregler i fältet "Regler filnamn:" (vi sparade det här: C: \\\\ Baser \\\\ DataExchange Rules.xml) och
    välj en fil i fältet "Datafilnamn:", till vilken data kommer att laddas ner (till exempel C: \\\\ Bases \\\\ UnloadingDataFrom7.7.xml).
  3. Därefter måste du ladda ner utbytesreglerna genom att klicka på knappen "Ladda ner utbytesregler".
  4. För att ladda upp dokument under ett visst intervall måste du ange perioden - "Startdatum" och "Slutdatum".
  5. Kryssrutorna i listan "Dataöverföringsregler" anger vilka data som laddas upp och vilka inte.

Låt oss nu ladda in data i mottagardatabasen. Låt oss öppna den i 1C: Enterprise 8.2-läge och börja bearbeta
"Generiskt XML-datautbyte" för att ladda källdata.

Detta är bearbetningsfilen V8Exchan82.epf. Eller öppna "Service" -\u003e "Annat datautbyte" -\u003e "Universal datautbyte i XML-format"

  1. Under bearbetningen, på fliken "Data loading", välj namnet på datafilen (vi sparade den här: C: \\\\ Bases \\\\ UnloadingDataFrom7.7.xml).
  2. Tryck på knappen "Ladda data" (finns på panelen ovan).

Data laddad!

Samma steg för lossning från version 1C: Enterprise 7.7 gäller för version 1C: Enterprise 8.1 och 1C: Enterprise 8.0.
Distributionssatsen innehåller konfigurationen för datakonvertering
bearbeta filer för dessa versioner MD81Exp.epf och V8Exchan81.epf, MD80Exp.epf och V8Exchan.epf.

Om du vill ladda data till 1C: Enterprise 7.7 måste du använda V77Imp.ert-bearbetningen.
Innan du laddar data måste du utföra samma åtgärder med V77Imp.ert-behandlingsmodulen som beskrivs
för bearbetning av V77Exp.ert.

Om du väljer bearbetning från listan snabb åtkomst (File - V77Exp.ert) och ett meddelande visas att filen inte hittades,
även om filen ligger på samma plats och namnet inte har ändrats, behöver du bara göra allt som i början -
«Arkiv | Öppna ”och välj filen V77Exp.ert igen.

Idag kommer vi att överväga med dig bearbetar "Universal XML-uppladdning för 1s 7.7". Denna bearbetning är utformad för att ladda ner data enligt utbytesregler till en XML-fil. Dataöverföringsregler är också en XML-fil som innehåller en beskrivning av vilken data och i vilken struktur som ska laddas ner till en XML-fil.

Hur använder jag behandlingen av universell lossning i XML för 1c 7.7?

Nedan på skärmdumpen kan du se huvudbehandlingsformuläret universell export till XML för 1s 7.7, låt oss ta en titt på de viktigaste parametrarna som behövs för det korrekt arbete... Där nummer 1 står, anger vi filen med reglerna för uppladdning av data, för vilka dessa regler behövs, vi talade redan i artikelns första stycke. För nummer 2, välj filen där data kommer att laddas upp. I punkt 3 måste du ange startdatum och slutdatum, under denna period kommer data att laddas upp till en fil. När vi har specificerat alla dessa parametrar, klicka på "Ladda regler", efter att ha läst reglerna i punkt 5, kommer en trädliknande struktur i utbytesreglerfilen med namnen på reglerna att visas. Nu är allt vi behöver göra att klicka på knappen i vår bearbetning av universell lossning XML 1s 7.7under nummer 6 "Ladda upp", efter denna åtgärd kommer alla data att laddas upp i enlighet med de nuvarande reglerna för uppladdning av data till XML-filen som vi specificerade i punkt 2.

Här kommer jag att beskriva huvudpunkterna när man arbetar med en standardkomponent v7plus.dll... Informationen är väldigt föråldrad och den verkade här mer för mig själv - för att inte glömma när den dyker upp nästa gång. Beskriver hur man läser från en XML-fil med hjälp av en XML-parser av en nästan standardkomponent. Ett exempel är filen med applikationsdokumentet som överförts till en fil i CommerceML 2.03-formatet (från webbplatsen på Bitrix).

Så låt oss komma igång. Det första steget är att ladda komponenten. Här är en typisk kod:

Om + "v7plus.dll")<> 1 Sedan om Ladda nerExternalComponent (IB-katalog () + "ExtForms \\" + "v7plus.dll")<> 1 Sedan om Ladda nerExternalComponent (CatalogPrograms () + "v7plus.dll")<> 1 Varning ("Component v7plus.dll hittades inte!"); Lämna tillbaka; EndIf; EndIf; EndIf; Parser \u003d CreateObject ("AddIn.XMLParser");

Analysatorn kan arbeta med kretsar, men jag kommer inte att överväga detta ögonblick. Enkel linjär (eller nästan linjär) filläsning. Därför skapar vi helt enkelt nytt dokument:

XML_Document \u003d Parser. Skapa dokument(); Om EmptyValue (XML_Document) \u003d 1 Returnera sedan EndIf; XML_Dokument. Ladda (filnamn);

I en variabel Filnamn en rad med namnet på filen som öppnades skrevs. Du kan sedan läsa filen och gradvis dekryptera den.
En XML-fil består av noder och attribut. Varje nod kan innehålla noll eller fler attribut och noll eller fler undernoder. Rotnoden kan erhållas direkt från variabeln XML_Dokument... För tydlighetens skull, låt oss titta på en del av XML-filen:

<КоммерческаяИнформация ВерсияСхемы=»2.03″ ДатаФормирования=»2014-04-09 14:25″>
<Документ>
<Ид>53006
<Номер>53006
<Дата>2014-04-29
<ХозОперация>Beställa varor
<Роль>Säljare
<Валюта>gnugga
<Курс>1
<Сумма>300000.00
<Контрагенты>…
<Время>11:52
<Комментарий>TEST …… .BSV
<Товары>
<Товар>
<Ид>ID46
<Наименование>…
<БазоваяЕдиница Код=»796″ НаименованиеПолное=»Штука» МеждународноеСокращение=»PCE»>pC

Här är en kraftigt förkortad version av filen, eller snarare, en del av den. Syftet med den här artikeln är inte att beskriva CommerceML-formatet, utan att visa hur man arbetar med en XML-fil, så jag ger bara kommandona. CommerceML-filen består av rotnoden " Kommersiell information". Vi läser det från dokumentet:

ElDocument \u003d XML_Document. SelectNode ("CommercialInformation");

Variabelt värde ElDocument det kommer att finnas en nod (OLE-objekt). Den har barnnoder och attribut. En fil kan innehålla flera dokument, så vi upprepar dem i en krets:

Prov \u003d elektroniskt dokument. Välj noder ("dokument"); För d \u003d 1 enligt prov. Antal noder Cycle Dock \u003d Prov. Skaffa nod (th - 1);

Fast egendom Antal noder returnerar det totala antalet underordnade noder och metoden GetNode () returnerar den angivna undernoden (numreringen börjar från 0).

Nod " rum"Har inga attribut eller barnnoder. Det betyder bara " 00006 ". På samma sätt ” datum«, « HostOperation" och många andra. Följande konstruktion används för att få nodvärdet:

Antal \u003d Dok. Välj nod ("nummer"). Värde; NumberNumber \u003d Number (Dok. Välj nod ("Number"). Värde);

Metoden som används här är SelectNode ()... Till skillnad från " Välj noder ()”, Det returnerar inte en lista utan den allra första noden med det angivna namnet. Och dess egendom “ Värde»Returnerar en sträng med ett värde. För att konvertera värdet till önskad typ använder vi konverteringsfunktionerna. Datumet måste konverteras i delar (det lagras i XML som åååå-mm-dd, vilket inte stöds av standardfunktionen Date ()). Det är möjligt att typkonvertering görs automatiskt när du använder scheman - kontrolleras inte.
Följande metod används för att läsa attributen:

OKEI \u003d Produkt. Välj nod ("basenhet"). GetAttribute("Koden");

Här Produkt Är noden " Produkt". Värdet på ett attribut, som en enskild underordnad nod, kan erhållas med namnet på attributet. En sträng returneras alltid, därför måste du vid behov kasta värdetypen till den önskade. Om du behöver läsa flera attribut för en nod är det bättre att lagra nodens värde i en separat variabel.
Tja, det är alla grundläggande funktioner som krävs för att fullständigt läsa XML-filer.

Arbeta med XML-filer från 1C: Redovisning 7.7

Ofta finns det ett behov av datautbyte mellan databaser i stora företag och detaljhandelskedjor. Varje programmerare och administratör löser problemet på olika sätt. Någon skriver uppladdningsnedladdningar genom mellanliggande tabellfiler, någon använder läget COM-anslutningar för att ansluta till baskällan. Under de senaste åren har dock sin egen 1C-ovsky-mekanism som kallas "Universal data exchange in XML format" fått mer och mer popularitet.

Bearbetar utseende

I det fullständiga gränssnittet kan du öppna bearbetningen på Verktyg-\u003e Annat datautbyte-\u003e Universellt datautbyte i XML-format.

Bearbetningsformuläret (fig. 1) innehåller fyra flikar:

  • Ytterligare inställningar;
  • Radering av data.
  • Gränssnittet för var och en av flikarna är tungt laddat med element och kräver därför separat övervägande.

    Uppladdning av data

    Högst upp i bokmärket finns ett fält för att välja en fil för utbytesregler. För icke-standardiserade baser och utbyten måste du skapa utbytesfilen själv.

    Det finns två alternativknappar på nästa rad i formuläret:

    1. Uppladdning till en utbytesfil (fig. 2);
    2. Anslutning och uppladdning av data till IS (Bild 3).

    Som du kan se från ovanstående figurer varierar utseendet på formen beroende på omkopplaren. Om alternativet för filbyte är valt uppmanas användaren att välja platsen för filen där uppladdningen ska utföras och möjligheten att komprimera den för att spara utrymme och lösenordsskydd.

    Alternativet för direktanslutning till mottagarbasen stöder både fil- och klient-serverlägen. I det här fallet måste du registrera basadressen, fylla i fälten "Användare" och "Lösenord". Innan du fortsätter med datautbyte är det lämpligt att testa anslutningen.

    Tabellformad del nedanför kan du konfigurera urvalet och andra parametrar för lossning.

    För att felsöka algoritmer och åtgärda fel kan du använda den inbyggda mekanismen i växelbearbetningen. Aktiveringen utförs genom att markera motsvarande kryssruta längst ner på formuläret. Genom att trycka på knappen "Felsökningsinställningar ..." anropas fönstret (Bild 4).

    Fig. 4

    Kännetecken Det här formuläret är en informativ hjälp till vänster om layouten som beskriver var och en av de tre möjliga felsökningsmetoderna. Som en fil extern bearbetning valfri epf-fil kan användas med modulen.

    Genom att klicka på "Slutför" -knappen kontrolleras riktigheten och fullständigheten hos de ifyllda uppgifterna.

    Till skillnad från "Ladda upp" har den här fliken (fig. 5) ingen tabellavsnitt, men det finns många fler flaggor som låter dig justera parametrarna för inspelning av nya och ändrade objekt.

    Bild 5

    Först och främst måste du välja en fil som ska fungera som informationskälla. Detta kan göras i inmatningsfältet "Ladda ner filnamn". Om data laddades upp till ett lösenordsskyddat arkiv måste de anges i lämpligt fält.

    Med motsvarande kryssrutor kan du konfigurera:

    • En transaktion när man skriver objekt (ibland påskyndar processen);
    • Uppladdning av data i utbytesläget (i det här fallet ignoreras alla plattformskontroller, med undantag för kontroller vid publicering av dokument) vid inspelning);
    • Skriva över ändrade element;
    • Installera borttagningsmärken för nedladdade objekt;
    • Läget för att skriva nya data till registret (antingen en efter en eller genom att ringa);
    • Trimma obetydliga tecken (mellanslag och flikar) för strängvärden.

    Ytterligare inställningar

    Som namnet på bokmärket antyder innehåller det verktyg som du kan finjustera utbytesprocessen med. Särskilt:

    1. Slår på felsökningsläge;
    2. Tillåter att en transaktion används under uppladdningsprocessen;
    3. Optimerar utbytet mellan databaser i den 8: e versionen av 1C;
    4. Lossa endast de objekt som är tillåtna för användning av den nuvarande användaren;
    5. Aktivera loggning av utbytesprocessen mellan databaser.

    Dessa och några andra funktioner aktiveras genom att markera lämpliga kryssrutor på formuläret (fig. 6).

    Bild 6

    Radera data

    Den här fliken används endast av utvecklare i felsökningsläge. Låter dig ta bort onödiga objekt från databasen.

    Kort om inställning av utbytesregler

    Att använda en standardhanterare gör livet mycket enklare för programmerare. Samtidigt är en av de svåraste stunderna för någon som först stötte på Universal Data Exchange i XML-format frågan: "Var kan jag få filen med utbytesregler?"

    Först och främst krävs för en oberoende produktion av utbytesregler en speciell konfiguration, som kallas "Data Conversion". Den innehåller flera intressanta filer som låter dig skapa nästan alla utbyten mellan olika 1C 7 och 8 databaser:

    1. epf - krävs för att ladda ner metadatastrukturen för 1C 8-databaser;
    2. epf - om 1C 8-konfigurationen är självskriven eller inte standard, kanske den inte har Universal Data Exchange-bearbetning, den här filen är den här behandlingen;
    3. ert - filen innehåller koden för att ladda ner för 1C version 7.7;
    4. ert - fil för behandling av dataöverföring / nedladdning för de sju.

    Efter att ha startat lämplig bearbetning är det nödvändigt att ladda ner metadatastrukturerna för källbasen och mottagarbasen. Sedan, i "Conversion" -konfigurationen, är det nödvändigt att ange information om käll- och mottagarkonfigurationer i katalogen "Configurations".

    Sedan skapas ett element i konverteringskatalogen som innehåller information om riktningen för datautbyte. Du kan ställa in Exchange-reglerna för det.

    Dela detta