Automatisk datautveksling ved bruk av "Universal XML Data Exchange"-behandling, uten å endre konfigurasjonen. Universell datautveksling i XML-format

Når du vedlikeholder flere fungerende 1C-databaser, er det noen ganger behov for å utveksle data mellom dem. Det er 2 måter å overføre data på:

  1. Dataoverføring ved hjelp av utvekslings- og behandlingsregler «Utveksling XML-data" Utvekslingsregler opprettes ved å bruke 1C:Data Conversion-konfigurasjonen.
  2. Overføring av data mellom lignende infobaser ved å bruke «Opplasting og lasting av XML-data»-behandlingen.

La oss vurdere det andre alternativet, dvs. opplasting og lasting av data fra/til konfigurasjoner som inneholder de samme (identiske) objektene vi trenger. For å gjøre dette vil vi bruke den eksterne behandlingen "Opplasting og lasting av XML-data", som kan brukes.

Betingelsen for å bruke denne behandlingen er som følger: Informasjonsbasen som data lastes ned fra skal inneholde de samme objektene og med samme detaljer (navn og datatype) som i databasen dataene lastes inn i.

La oss vurdere et eksempel med dataoverføring ved hjelp av denne behandlingen. Anta at du må overføre dokumentene "Innkommende betalingsordre" og "Utgående betalingsordre". Løsningen på dette problemet vil være som følger.

Vi åpner den eksterne behandlingen "Opplasting og lasting av XML-data" gjennom hovedmenyen: Fil? Åpne... På "Last opp"-fanen angir du XML-fil, der vi lagrer dataene.

Deretter må du spesifisere perioden som vi skal laste ut dataobjekter fra 1C-databasen og selve objektene. Vi merker dokumentene vi trenger for opplasting med et hake i feltet for konfigurasjonsobjektstruktur i kolonnen "Data for opplasting". Hvis de opplastede dokumentene inneholder lenker til katalogelementer som ikke er i en annen konfigurasjon, er det fornuftig å merke av i boksene i kolonnen "Hvis nødvendig", slik at disse elementene også lastes opp sammen med dokumentene.

Nå på dette trinnet Trenger du å bestemme deg for om du vil laste opp bevegelsene deres langs registrene sammen med dokumentene eller overføre disse dokumentene til en annen database? For å legge ut opplastede dokumenter på nytt i en annen database, kan du bruke behandlingen " Batchbehandling referansebøker og dokumenter." Hvis algoritmene utført i dataene informasjonsdatabaser avvike på en eller annen måte, så bør ikke avmerkingsboksen ved siden av "Last opp alle bevegelsene med dokumentet" være merket.

Det er alt, opplastingsoppsettet er fullført, alt er enkelt her! Klikk på "Last opp data"-knappen og vent til dataene er lagret i en XML-fil. For mer komplekse lossinger kan du spesifisere valg for lossede objekter, ikke bare etter periode.

Etter lossing, gå til den andre 1C-databasen og åpne den samme behandlingen der. Gå til fanen "Last ned" og angi her den samme XML-filen som vi lastet opp dataene til.

På denne fanen, merk av i boksen ved siden av "Fortsett å laste inn objekter hvis det oppstår en feil" og klikk på "Last inn data"-knappen. Vi vurderer ikke andre funksjoner, for eksempel bruk av totaler, selv om denne funksjonen kan øke lasting av objekter (registreringer av registre) betydelig.

Hva trengs til automatisk utveksling data, uten å gjøre endringer i konfigurasjonen:
1) Behandling av "Universell datautveksling i XML-format" , som er inkludert i de fleste standardkonfigurasjoner. Hvis den ikke er der, er det lett å finne den på ITS-disken eller på Internett. I konfigurasjonen heter det "Universal XML Data Exchange"
2) Regler for datautveksling. Laget med "Datakonvertering". En jobb du må mestre. Det er også videokurs og læremidler. For eksempel: http://programmist1s.ru/wp-content/uploads/2013/06/Konvertatsiya_dannyih._Metodika_rabotyi_i_primeryi.pdf
3) Ekstern behandling, som inneholder lasting/lossingsprosedyrer. La oss begynne å lage det:
En ekstern prosessering opprettes i objektmodulen som vil inneholde teksten nedenfor (erstatt dine data med databaser og brukere). Det er lurt å opprette en egen bruker med fulle rettigheter for datautveksling. La oss kalle behandlingen for eksempel "Data Exchange.epf".

Hvis LaunchParameter = "Last opp" Da Processing=Processing.UniversalXMLDataExchange.Create(); //Angi parameterne som er nødvendige for opplasting (valgfritt for redigering) Processing.ExchangeMode="Last opp"; Processing.LoadDataInExchangeMode=True; Processing.WriteRegistersRecordSets = True; Processing.RememberLoadedObjects=Sant; Processing.UseSelectionByDateForAllObjects=True; Processing.UploadOnlyAllowed=Sant; //!Sett de nødvendige parameterne for opplasting //Disse parameterne må fylles ut OBLIGATORISK //Sett restriksjoner for opplasting etter objektdatoer Processing.StartDate = CurrentDate() - 60*60*24*2; Processing.EndDate = "00010101"; //Hvis vi ønsker å laste opp data til en fil, sett den til False.Hvis True, vil den bli lastet opp til mottakerdatabasen Processing.DirectReadingVIBReceiver=True; //Hvis mottakerdatabasen for de opplastede dataene er en server, så False. If file - True Processing.InformationBaseForConnectionType=True; //! Nødvendige parametere refilled //Hvis vi laster opp dataene til en fil If Not Processing.DirectReadingVIBReceiver Then Processing.ExchangeFileName = "C:\Inbox\OlegA\Conversion\upload.xml"; //Hvis vi laster opp dataene til databasen Otherwise Processing.PasswordInformationBaseForConnection="Admin"; Processing.ConnectionInfoBaseUser="supercool"; Processing.AuthenticationWindowsInformationBaseForConnection=False; //Hvis datamottakeren er en serverbase If Processing.ConnectionInformationBaseType = False Then Processing.ConnectionInformationBaseServerName="MainServ"; Processing.InformationBaseNameOnServerForConnection="Buhia"; //Hvis datamottakeren er en fildatabase Ellers Processing.InformationBasePlatformVersionForConnection="V82"; Processing.InformationBaseDirectoryForConnection="C:\Inbox\OlegA\Clients\Zeus BP20\Zeus BP20"; slutt om; slutt om; //Handlinger ved registrering ved lossing i henhold til bytteplaner Processing.RegistrationDeletionTypeofChangesForExchangeNodesAfterUpload=0; // 0 - ikke avregistrer, // 1 - avregistrer Processing.LoadExchangeRules(); //HVIS DU MÅ LAST OPP I HENHOLD TIL UTVEKSLINGSPLANER, SÅ AKTIVERE DENNE BLOKKEREN OG SEND DIN EGEN UTVEKSLINGSPLANNODE //For hver side fra Processing.UploadRulesTable.Lines Cycle //Page.Enable=1; // For hver side1 Fra PageLine Loop // Line1.Enable=1; // Page1.LinkToExchangeNode=ExchangePlans.Full.FindByCode("BP20"); //EndCycle; //EndCycle; Processing.Perform Upload(); ShutdownSystem(False); ElseIf LaunchParameter = "Load" Then ExchangeProcessing = Processing.UniversalXMLDataExchange.Create(); ExchangeProcessing.ExchangeFileName = "C:\Inbox\OlegA\Upload.xml"; ExchangeProcessing.ExchangeMode = "Laster"; ExchangeProcessing.OpenDownloadFile(True); ProcessExchange.ArchiveFile = False; ProcessExchange.PerformLoad(); ExchangeProcessing = Udefinert; ShutdownSystem(False); slutt om;

4) Bat-fil opplasting, som vil starte 1C og ekstern prosessering med lanseringsparameteren under brukeren, som er beregnet for datautveksling. Filen må lages for eksempel i notepad++ med OEM (MS-Dos)-koding, ellers vil den ikke fungere. La oss gi filen et navn, for eksempel "BatVygruz.bat". Teksten blir som følger:

Hvis databasen er fil:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /F"C:\Inbox\KBF\1Cv8_Base_8.1\Zeus 83 BP3\Zeus 83 BP3" /N"Data Exchange Robot" /P "pass " /DisableStartupMessages /RunModeManagedApplication /Execute"C:\Inbox\OlegA\DataExchange.epf" /C"Last opp"
Forklaringer:

b) C:\Inbox\KBF\1Cv8_Base_8.1\Zeus 83 BP3\Zeus 83 BP3 - din bane til fildatabasen som vi vil laste opp data fra
c) Data Exchange Robot - Brukernavn som 1C kjører for datautveksling under
d) pass - brukerpassord
e) /DisableStartupMessages - lukk popup-vinduer når du starter 1C
e) /RunModeOrdinaryApplication - start i normal modus feit klient
g) C:\Inbox\OlegA\Data Exchange.epf - banen til vår behandling, som starter ved oppstart
h) Last opp - vi passerer 1C lanseringsparameteren, den forteller oss at vi må laste opp data

Hvis databasen er serverbasert:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /S"Server1C/DataBase" /N"Data Exchange Robot" /P"pass" /DisableStartupMessages /RunModeManagedApplication /Execute"C:\Inbox\ Oleg\ Data Exchange.epf" /C"Last opp"
Forklaringer:
a) C:\Program Files (x86)\1cv82\common\1cestart.exe - banen din til 1C-starteren
b) Server1C/DataBase - din server som databasen ligger på og navnet på selve databasen som vi laster opp data fra.
De resterende parameterne ligner på filversjonen av bat-filen

5) Bat-fil nedlasting (om nødvendig). Hvis du bestemmer deg for å laste opp data til en fil, og ikke direkte til databasen. Da vil vi også trenge denne varen (vanligvis nødvendig).
Opprettelse bat-fil opplasting ligner på opplastingsfilen, men bare lanseringsparameteren er forskjellig, i stedet for "Last opp", legger vi "Last ned"

6) Angi en lanseringsplan våre Bat-filer laster/laster opp på serveren. For å gjøre dette må du gå til administrasjonen av kontrollpanelet på serveren og i oppgaveplanleggeren opprette en ny oppgave for å kjøre nedlastingsfilen klokken 23 hver dag og en nedlastingsoppgave som spesifiserer Bat-nedlastingsfilen (hvis nødvendig) klokken 04 for eksempel.

Ganske ofte i arbeidet til store bedrifter og butikkjeder er det behov for å utveksle data mellom databaser. Hver programmerer og administrator løser dette problemet forskjellig. Noen skriver opp- og nedlastinger gjennom mellomtabellfiler, andre bruker modusen COM-tilkoblinger for å koble til kildebasen. Imidlertid, i I det siste 1Cs egen mekanisme kalt "Universal Data Exchange in XML Format" blir stadig mer populær.

Utseende til behandling

I Full-grensesnittet kan du åpne behandling ved Service->Andre datautvekslinger->Universell datautveksling i XML-format.

Behandlingsskjemaet (fig. 1) inneholder fire faner:

  • Tilleggsinnstillinger;
  • Sletter data.
  • Grensesnittet til hver av fanene er tungt lastet med elementer og krever derfor separat vurdering.

    Laster opp data

    Helt øverst i fanen er det et felt for valg av en utvekslingsreglerfil. For ikke-standardiserte databaser og utvekslinger, må du opprette utvekslingsfilen selv.

    neste linje Skjemaet inneholder to brytere:

    1. Opplasting til en utvekslingsfil (fig. 2);
    2. Koble til og laste opp data til informasjonssikkerhet (fig. 3).

    Som du kan se fra bildene ovenfor, varierer det avhengig av bryteren. utseende skjemaer. Hvis fildelingsalternativet er valgt, blir brukeren bedt om å velge plasseringen til filen der den skal lastes opp og muligheten for å komprimere den for å spare plass og beskytte den med et passord.

    Muligheten for direkte tilkobling til mottakerbasen støtter både fil- og klient-serverdriftsmoduser. I dette tilfellet må du skrive inn databaseadressen og fylle ut "Bruker" og "Passord"-feltene. Før du begynner å utveksle data, er det lurt å teste tilkoblingen.

    Tabelldel som ligger nedenfor lar deg konfigurere valg og andre losseparametere.

    For å feilsøke algoritmer og korrigere feil kan du bruke mekanismen som er innebygd i utvekslingsbehandlingen. Den aktiveres ved å krysse av i den tilsvarende avmerkingsboksen nederst i skjemaet. Ved å klikke på "Debugging settings..."-knappen får du opp et vindu (fig. 4).

    Fig.4

    Særpreget trekk i dette skjemaet er et informativt hjelpeark på venstre side av oppsettet som beskriver hver av de tre mulige moduser feilsøking Som en fil ekstern behandling Enhver fil i epf-format kan brukes med modulen.

    Ved å klikke på "Fullfør"-knappen kontrolleres riktigheten og fullstendigheten av de utfylte dataene.

    I motsetning til "Last opp" har ikke denne fanen (fig. 5) en tabelldel, men det er mange flere avkrysningsbokser som lar deg justere parameterne for registrering av nye og endrede objekter.

    Fig.5

    Først av alt, må du velge en fil som vil tjene som en kilde til informasjon. Dette kan gjøres i inntastingsfeltet "Filnavn som skal lastes opp". Hvis dataene ble lastet opp til et passordbeskyttet arkiv, må de legges inn i det aktuelle feltet.

    De tilsvarende avmerkingsboksene lar deg konfigurere:

    • Transaksjon ved skriving av objekter (dette setter noen ganger fart på prosessen);
    • Lasting av data i utvekslingsmodus (i dette tilfellet vil alle plattformsjekker, med unntak av sjekking ved posting av dokumenter, bli ignorert ved opptak);
    • Overskrive endrede elementer;
    • Sette et slettemerke for nedlastede elementer;
    • Modusen for å skrive nye data til registeret (enten en om gangen eller i et sett);
    • Trimming av ubetydelige tegn (mellomrom og tabulatorer) for strengverdier.

    Tilleggsinnstillinger

    Som navnet på bokmerket tilsier, inneholder det verktøy, hvis bruk lar deg tilpasse utvekslingsprosessen mer nøyaktig. Spesielt:

    1. Aktiverer feilsøkingsmodus;
    2. Tillater bruk av en transaksjon under losseprosessen;
    3. Optimaliserer utveksling mellom databaser av versjon 8 av 1C;
    4. Last opp kun de objektene som er tillatt for bruk av gjeldende bruker;
    5. Aktiver logging av utvekslingsprosessen mellom databaser.

    Disse og noen andre funksjoner aktiveres ved å merke av i de aktuelle boksene på skjemaet (fig. 6).

    Fig.6

    Sletter data

    Denne kategorien brukes kun av utviklere i feilsøkingsmodus. Lar deg fjerne unødvendige objekter fra databasen.

    Kort om å sette opp bytteregler

    Å bruke en standard behandler forenkler livet betraktelig for programmerere. Samtidig er et av de vanskeligste øyeblikkene for noen som først møtte "Universal Data Interchange in XML Format" spørsmålet: "Hvor kan jeg få utvekslingsreglerfilen?"

    Først av alt, for selvlaget utvekslingsregler, kreves en spesiell konfigurasjon, som kalles "Datakonvertering". Den inneholder flere interessante filer, som lar deg konfigurere nesten hvilken som helst utveksling mellom ulike 1C-databaser 7 og 8 versjoner:

    1. epf – nødvendig for å laste ned metadatastrukturen for 1C 8-databaser;
    2. epf – hvis 1C 8-konfigurasjonen er selvskrevet eller ikke standard, kan det hende at den ikke har "Universal Data Exchange"-behandling, denne filen er denne behandlingen;
    3. ert – filen inneholder kode for nedlasting av metadatastrukturen til konfigurasjoner av 1C versjoner 7.7;
    4. ert – fil for behandling av dataopplasting og nedlasting for de syv.

    Etter å ha startet riktig behandling, er det nødvendig å laste ut metadatastrukturene for kilde- og måldatabasene. Deretter, i "Konvertering"-konfigurasjonen, må du legge inn informasjon om kilde- og destinasjonskonfigurasjonene i "Konfigurasjoner"-katalogen.

    Deretter opprettes et element i konverteringskatalogen som inneholder informasjon om retningen for datautveksling. Du kan sette opp utvekslingsregler for det.

    Parameternavn Betydning
    Artikkel emne: Datautveksling i XML-format
    Rubrikk (tematisk kategori) Teknologier

    En DBMS kan støtte datautveksling i XML-format i en veldig enkel form - som støtter utdata av spørringsresultater og inndata for INSERT-setningen i XML-format. Dette krever imidlertid at brukeren eller programmereren nøye utformer formatet til de genererte spørringsresultatene slik at det samsvarer nøyaktig med formatet til INSERT-setningen i mottaksdatabasen. XML-datautveksling skal bare være virkelig nyttig hvis det er mer eksplisitt støttet av DBMS.

    I dag tilbyr flere kommersielle produkter muligheten til å batcheksportere tabeller (eller søkeresultater) til ekstern fil, formatert som et XML-dokument. Imidlertid tilbyr de en lignende mulighet til å batchimportere data fra en fil av samme type til en DBMS-tabell. Dette skjemaet lager XML standard format representasjon av innholdet i tabeller for datautveksling.

    Vær oppmerksom på at bruken av funksjonene som tilbys av DBMS for import/eksport av tabelldata i XML-format ikke begrenser deres bruk for utveksling mellom databaser.

    Datautveksling i XML-format - konsept og typer. Klassifisering og funksjoner i kategorien "Datautveksling i XML-format" 2017, 2018.

  • - XML-grammatikk

    XML Markup Language Markup Languages ​​Markup text lar deg enkelt analysere og behandle tekst. Det inkluderer: · tekst som bærer semantisk informasjon (infosett); · markering som indikerer strukturen til teksten. Markup language er laget for å... .


  • - HTML og XML versjoner og utvidelser

    Første versjon av språket hypertekstmarkering– HTML (HyperText Markup Language), det samme som seg selv Webteknologi, ble utviklet av Tim Berners Lee i 1991. HTML-språket er en applikasjon av SGML for en dokumenttype som har blitt kalt HTML-dokumenter. Språket spesifiserer en fast struktur... .


  • - XML-språk

    XML (Extensible Markup Language) er et markup-språk som beskriver en klasse med dataobjekter kalt XML-dokumenter. XML-språket brukes som et middel til å beskrive grammatikken til andre språk og kontrollere riktigheten av dokumenter /6/. I motsetning til HTML-språk XML tillater 1.... .


  • - XML-dokumentstruktur

    Struktur XML-dokument inkluderer overskriften, DOCTYPE-delen og brødteksten til XML-dokumentet. Overskriften beskriver versjonen og kodingen. DOCTYPE-delen beskriver enheter. Entity er en konstant som brukes i hoveddelen av et XML-dokument for stenografi og enkel vedlikehold. I XML-kroppen... .


  • -

    Definerer en hendelsesbehandler som oppstår når objektets tilstand endres. Navnet må skrives med små bokstaver. ReadyState-egenskapen til XMLHttpRequest-objektet. ReadyState-egenskapen definerer Nåværende situasjon XMLHttpRequest-objekt. Tabellen viser mulige verdier... .


  • - Onreadystatechange-egenskapen til XMLHttpRequest-objektet.

    Definerer en hendelsesbehandler som oppstår når objektets tilstand endres. Navnet må skrives med små bokstaver. ReadyState-egenskapen til XMLHttpRequest-objektet. ReadyState-egenskapen spesifiserer gjeldende tilstand for XMLHttpRequest-objektet. Tabellen viser mulige verdier...

    I i fjor W3C-konsortiet (WWW Consorcium) jobber aktivt mot en radikal revisjon av det grunnleggende innen nettteknologi. Som et resultat ble XML-markeringsspråket (Extensible Markup Language) opprettet, som brukes til å beskrive og behandle informasjon... .