Behandler "Universal Data Interchange i XML-format". Utveksling via et universelt format

Behandling Universell utveksling data i XML-format (behandling med universell xml-datautveksling)

Behandling av "Universell datautveksling i XML-format" er ment for å laste og losse data til en fil fra en hvilken som helst konfigurasjon implementert på 1C:Enterprise 8-plattformen.

Driftsmodus
Ved hjelp av kontrollert form behandlingen har to driftsmoduser:
1. På klienten. Når du bruker denne modusen, overføres reglene og nedlastningsdatafilene fra klienten til serveren, og nedlastningsdatafilen overføres fra serveren til klienten. Banene til disse filene som ligger på klienten må spesifiseres i dialogboksen rett før handlingen utføres.
2. På serveren. I denne modusen overføres ikke filer til klienten, og banene til dem må spesifiseres på serveren.
Merk: Den eksterne behandlingsfilen og utvekslingsprotokollfilene må alltid være plassert på serveren, uavhengig av driftsmodus.

Last ned Universal Data Interchange i XML-format- Kun registrerte brukere kan laste ned filer!


Behandlingen har fire faner

Laster opp data
For å laste opp data må du spesifisere navnet på filen som dataene skal lastes opp til og velge utvekslingsreglerfilen. Utvekslingsregler for enhver konfigurasjon kan konfigureres i den spesialiserte konfigurasjonen "Data Conversion, Edition 2".

For å laste opp dokumenter og poster fra uavhengige periodiske informasjonsregistre, må du spesifisere perioden - "Startdato" og "Sluttdato". Den resulterende filen med de nedlastede dataene kan komprimeres.

På fanen «Regler for opplasting av data» kan du velge hvilke typer objekter som skal lastes opp, sette opp valg for å velge objekter, eller angi datautvekslingsnoden du vil laste opp data for.

På fanen "Opplastingsalternativer" kan du spesifisere Ekstra alternativer dataopplasting.

På "Kommentar"-fanen kan du skrive vilkårlig kommentartekst som skal inkluderes i utvekslingsfilen.

Det er mulig å konfigurere lasting av data til transaksjoner. For å gjøre dette må du merke av for "Bruk transaksjoner" og angi antall elementer i en transaksjon når du laster inn.

"Last data i utvekslingsmodus (Data Exchange.Load = True)" - hvis flagget er satt, vil lasting av objekter utføres med innlastingsflagget. Dette betyr at når objekter skrives til databasen, vil alle plattform- og applikasjonssjekker bli deaktivert. Unntaket er for dokumenter som er registrert i bokførings- eller kanselleringsmodus. Kontering og annullering av kontering av et dokument utføres alltid uten innstilling av lastemodus, dvs. kontroller vil bli utført.

Tilleggsinnstillinger
Bokmerket brukes til detaljerte innstillinger laste opp og laste ned data.

"Feilsøkingsmodus" – flagg for innstilling av utvekslingsfeilsøkingsmodus. Hvis dette flagget er satt, vil ikke datautvekslingsprosessen bli stoppet hvis det oppstår en feil. Utvekslingen vil bli fullført og feilsøkingsmeldinger sendes ut til utvekslingsloggfilen. Denne modusen anbefales brukt ved feilsøking av utvekslingsregler.

"Konklusjon informasjonsmeldinger til meldingsvinduet" – hvis flagget er satt, vil protokollen for datautvekslingsprosessen vises i meldingsvinduet.

"Antall behandlede objekter for statusoppdatering" – parameteren brukes til å bestemme antall behandlede elementer før du endrer statuslinjen for lasting/lossing

"Dataopplastingsinnstillinger" – lar deg bestemme antall elementer behandlet i en transaksjon når du laster opp data, last opp og behandle kun de objektene du har tilgangsrettigheter til, konfigurer type registreringsendring for opplastede objekter gjennom utvekslingsplaner.

"Bruk et optimalisert format for datautveksling (V8 - V8, behandlingsversjon ikke lavere enn 2.0.18)" - det optimaliserte utvekslingsmeldingsformatet forutsetter tilstedeværelsen av en "InformationOnDataTypes"-node i meldingshodet, hvor informasjon om datatyper er lastet opp. Dette lar deg fremskynde datainnlastingsprosessen.

"Bruk transaksjoner ved lossing for utvekslingsplaner" – flagget bestemmer modusen for bruk av transaksjoner ved lossing av data ved henting av endringer på utvekslingsplannoder. Hvis flagget er satt, vil dataopplasting utføres i en transaksjon.

"Antall elementer per transaksjon" - definerer det maksimale antallet dataelementer som plasseres i en melding i en enkelt databasetransaksjon. Hvis parameterverdien er 0 (standardverdien), blir alle data plassert i én transaksjon. Denne modusen anbefales fordi den garanterer konsistensen til dataene som er inkludert i meldingen. Men når du oppretter en melding i flerbrukermodus, kan det være låsekonflikter mellom transaksjonen som legger dataene inn i meldingen og transaksjoner utført av andre brukere. For å redusere sannsynligheten for slike konflikter kan du sette denne parameteren til en annen verdi enn standardverdien. Jo lavere parameterverdien er, desto lavere er sannsynligheten for en låsekonflikt, men jo høyere er sannsynligheten for at inkonsistente data blir inkludert i meldingen.

"Last av objekter som du har tilgangsrettigheter til" - hvis flagget er satt, vil valget av infobaseobjekter bli utført under hensyntagen til tilgangsrettighetene til gjeldende bruker av programmet. Dette innebærer å bruke bokstaven "ALLOWED" i søketeksten for å hente dataene.

"Slett automatisk Uakseptable symboler fra strenger for skriving i XML" – hvis flagget er satt, vil ugyldige tegn fjernes ved skriving av data til utvekslingsmeldingen. Tegnene kontrolleres for samsvar med XML 1.0-anbefalingen.

«Registreringsendringer for utvekslingsnoder etter opplasting» – feltet bestemmer driftsmåten med registrering av dataendringer etter fullført dataopplasting. Mulige verdier:

Ikke slett registrering - etter nedlasting av dataene, vil registrering av endringer på noden ikke bli slettet.
Slett registreringen for utvekslingsnoden fullstendig - etter opplasting av dataene vil registrering av endringer på noden bli fullstendig slettet.
Fjern registrering kun for opplastede metadata - etter opplasting av data vil registrering av endringer på noden slettes kun for metadataobjekter som ble spesifisert for opplasting.

"Utvekslingsprotokoll" – lar deg konfigurere utdataene av informasjonsmeldinger til meldingsvinduet, vedlikeholde og registrere i egen fil utvekslingsprotokoll.

"Filnavn, utvekslingsprotokoll" – filnavn for å sende ut protokollen til datautvekslingsprosessen.

"Nedlastingsprotokoll (for COM-tilkobling)" – filnavn for å sende ut en protokoll for datautvekslingsprosessen i mottaksbasen ved utveksling via en COM-tilkobling. Viktig: banen til filen må være tilgjengelig fra datamaskinen som mottakerbasen er installert på.

"Legg til data til utvekslingsprotokollen" - hvis flagget er satt, lagres innholdet i utvekslingsprotokollfilen hvis protokollfilen allerede eksisterer.

"Legg ut informasjonsmeldinger til protokollen" - hvis flagget er satt, vil informasjonsmeldinger sendes ut til utvekslingsprotokollen, i tillegg til meldinger om utvekslingsfeil.

"Åpne utvekslingsprotokollfiler etter utførelse av operasjoner" - hvis flagget er satt, vil utvekslingsprotokollfilene automatisk åpnes for visning etter datautveksling.

Sletter data
Bokmerket er kun nødvendig for utviklere av utvekslingsregler. Lar deg slette vilkårlige objekter fra infobasen.

Feilsøking av dataopplasting og nedlasting
Behandling lar deg feilsøke hendelsesbehandlere og generere en feilsøkingsmodul fra en regelfil eller datafil.

Aktivering av feilsøkingsmodus for opplastingsbehandlere gjøres på fanen "Dataopplasting" ved å merke av for "Feilsøkingsmodus for opplastingsbehandlere". Følgelig, på «Data Loading»-fanen, aktiveres innlastingsfeilsøkingsmodusen ved å merke av for «Load handlers debugging mode»-boksen.

Etter innstilling av feilsøkingsmodus for behandlere, vil knappen for feilsøkingsinnstillinger bli tilgjengelig. Ved å klikke på denne knappen åpnes et innstillingsvindu.

Konfigurering av feilsøkingsbehandlere utføres i fire trinn:

Trinn 1: Velge algoritme-feilsøkingsmodus

I det første trinnet må du bestemme deg for algoritme-feilsøkingsmodus:

Ingen algoritmefeilsøking
Anropsalgoritmer som prosedyrer
Erstatt algoritmekode på anropsstedet

Den første modusen er praktisk å bruke når vi vet med sikkerhet at feilen i behandleren ikke er relatert til koden til noen algoritme. I denne modusen blir ikke algoritmekoden lastet opp til feilsøkingsmodulen. Algoritmer kjøres i konteksten av "Run()"-operatoren og koden deres er ikke tilgjengelig for feilsøking.

Den andre modusen må brukes i tilfeller der feilen er i algoritmekoden. Når denne modusen er satt, vil algoritmer bli lastet ut som separate prosedyrer. I det øyeblikket algoritmen kalles fra en hvilken som helst behandler, kalles den tilsvarende behandlingsprosedyren. Denne modusen er praktisk å bruke når den globale variabelen "Parameters" brukes til å sende parametere til algoritmer. Begrensningene ved å bruke denne modusen er at når du feilsøker algoritmen, er de lokale variablene til behandleren som den kalles fra, ikke tilgjengelige.

Den tredje feilsøkingsmodusen brukes, som i det andre tilfellet, ved feilsøking av algoritmekode og i tilfeller der den andre feilsøkingsmodusen ikke er egnet. Når denne modusen er satt, vil algoritmene bli lastet ut som integrert kode i behandlere. De. i stedet for algoritmeanropsoperatøren, sett inn full kode algoritme som tar hensyn til nestede algoritmer. I denne modusen er det ingen restriksjoner på bruken av lokale behandlervariabler, men det er en begrensning ved feilsøking av algoritmer med et rekursivt kall.

Trinn 2: Dannelse av feilsøkingsmodulen

I det andre trinnet må du losse behandlerne ved å klikke på knappen "Opprett lossing (lasting) feilsøkingsmodul". De genererte behandlerne og algoritmene vil vises i eget vinduå se. Innholdet i feilsøkingsmodulen må kopieres til utklippstavlen ved å klikke på knappen "Kopier til utklippstavlen".

Trinn 3: Opprett ekstern behandling

På dette trinnet må du starte konfiguratoren og opprette en ny ekstern behandling. Du må lime inn innholdet på utklippstavlen i behandlingsmodulen (feilsøkingsmodul) og lagre behandlingen under et hvilket som helst navn.

Trinn 4: Koble til ekstern prosessering

På det fjerde og siste trinnet må du angi navnet på den eksterne behandlingsfilen i inndatafeltet. I dette tilfellet sjekker programmet tidspunktet for opprettelse (oppdatering) av behandlingsfilen. Hvis behandlingen har mer tidligere versjon, enn versjonen av feilsøkingsmodulfilen, vil en advarsel vises og konfigurasjonsskjemaet vil ikke bli lukket.

Merk: Muligheten til å feilsøke den globale konverteringsbehandleren "Etter lasting av utvekslingsregler" støttes ikke.

Skriv ut (Ctrl+P)

Utveksling via et universelt format

Delsystem "Datautveksling" av biblioteket standard delsystemer inneholder 4 alternativer (teknologier) for å utveksle informasjon mellom ulike informasjonsbaser:

  • distribuerte informasjonsbaser (RIB);
  • datautveksling gjennom et universelt format;
  • datautveksling i henhold til utvekslingsregler (utvekslingsregler opprettes ved å bruke "Datakonvertering"-konfigurasjonen, utgave 2.1);
  • datautveksling uten utvekslingsregler.

Denne artikkelen diskuterer teknologien for datautveksling gjennom universelt EnterpriseData-format. Denne teknologien tilgjengelig i "Standard Subsystems Library" fra og med versjon 2.3.1.62. utgitt tidlig i 2016. For øyeblikket har den siste utgaven av BSP 2.3 (for bruk med 1C:Enterprise 8.3-plattformen ikke lavere enn versjon 8.3.8.1652 med kompatibilitetsmodus deaktivert) utgivelse 2.3.6.17.

Ris. 1 Siste utgivelser av BSP 2.3

Blant leveringsfilene for 1C-applikasjonsløsninger er det tekstfil"Bibliotekversjoner", hvor det er skrevet på grunnlag av hvilke BSP-versjoner en applikasjon ble utviklet, for eksempel basert på applikasjonsløsningen UT 11.3.3.231, BSP 2.3.5.65 ble dannet.

Vær oppmerksom på at for bruk med "1C:Enterprise 8.3"-plattformversjonen ikke lavere 8.3.10.2168 utgaven ble utgitt med kompatibilitetsmodus deaktivert BSP 2.4.

Beskrivelse av EnterpriseData-formatet

Hva er EnterpriseData-formatet?

Dette er et format som lar deg beskrive et informasjonsbaseobjekt (motpart, faktura osv.) eller rapportere at dette objektet er slettet. Det forventes at konfigurasjonen som mottok filen i EnterpriseData-format, vil reagere tilsvarende - den vil opprette nye objekter og slette de som er merket som slettet i filen. Den er beregnet for informasjonsutveksling mellom UT, RT, UNF, BP konfigurasjoner. Formatet kan også brukes til å utveksle informasjon med andre informasjonssystemer: det avhenger ikke av sine egne egenskaper programvare eller informasjonsbasestrukturer som deltar i utvekslingen og ikke inneholder eksplisitte restriksjoner på bruk.

EnterpriseData-formatversjon

Formatdataene lagres i XDTO-pakker i de generelle databasekonfigurasjonsgrenene, som vist i fig. 2

Fig. 2 XDTO – EnterpriseData-dataformatpakker

I fig. 2 viser at det er flere XDTO-pakker. Dette forskjellige versjoner format. Formatets versjonsnummer består av X.Y.Z, der X.Y er versjonen, Z er Minor-versjonen. Minor-versjonen økes i tilfelle feilrettinger og andre endringer der: funksjonaliteten til datakonverteringslogikken basert på forrige versjon format (lagrer bakoverkompatibilitet gjeldende algoritmer for overføring av data gjennom formatet); Støtte for nye formatfunksjoner for konverteringslogikk er frivillig. Et eksempel på slike endringer kan være å rette en feil, endre egenskapene til formatobjekter, legge til egenskaper hvis bruk ikke er obligatorisk ved konvertering av data. I andre tilfeller, når formatet endres, øker Major-versjonen: X – ved global restrukturering, Y – i andre tilfeller.
Formatet beskriver representasjonen av objekter (dokumenter eller katalogelementer) i form av XML-filer. Versjon 1.0.1 inneholder en beskrivelse av 94 objekter fra ulike områder(økonomi, produksjon, innkjøp og salg, lagerdrift). Navnene på typene er som regel godt forstått og trenger ikke ytterligere forklaringer: for eksempel "Document.Act of Completed Work" eller "Directory.Counterparties". Som du kan se, begynner beskrivelsen av dokumenttyper med prefikset "Dokumentær.", og katalogelementet begynner med prefikset "Katalog.". En mer detaljert beskrivelse av formatet finner du
Den siste versjonen er 1.3, men den mest brukte versjonen er 1.0. Det er ikke mye forskjell mellom versjonene. Format EnterpriseDataExchange_1_0_1_1 brukes ved utveksling via en nettjeneste.
Noter det som EnterpriseData-dataformatpakken brukes sammen med ExchangeMessage når du oppretter konverteringsregler. Det er denne pakken som inneholder typeobjektet Tilleggsinformasjonsom kan ha hvilken som helst verditype og brukes når du oppretter en konverteringsregel mellom konfigurasjonsobjekter. som ikke er i dataformatet. Akkurat, takk TilleggsinformasjonDu kan tilpasse og tilpasse utvekslingsregler uten å endre formatdataene i XDTO-pakker.

Ris. 3 Strukturen til XDTO-pakkenExchangeMessage

Hvordan utveksle data i EnterpriseData-format?

Utveksling av data i EnterpriseData-format med konfigurasjon er en filutveksling. Som svar på mottatt fra ekstern applikasjon konfigurasjonsfilen vil behandle den og lage en svarfil. Filer kan utveksles:

  • via en dedikert filkatalog,
  • via FTP-katalogen,
  • gjennom en nettjeneste distribuert på infobasesiden. Datafilen sendes som en parameter til webmetoder.

Merk. For toveis datautveksling mellom en tredjepartsapplikasjon og konfigurasjonen på infobasesiden må det gjøres en rekke innstillinger - tredjepartsapplikasjonen må registreres i infobasen, det må defineres en utvekslingskanal for den (via en fil eller FTP-katalog), etc. Men for tilfeller av enkel integrasjon, når det er nok å kun overføre informasjon fra tredjepartsapplikasjon inn i infobasen og omvendt overføring av data fra infobasen til en tredjepartsapplikasjon er ikke nødvendig (for eksempel integrering av en nettbutikk som overfører salgsinformasjon til 1C: Accounting); det er en forenklet versjon av å jobbe gjennom en webtjeneste som ikke krever innstillinger på siden.

Ved utveksling med utvekslingsplaner overfører konfigurasjoner under synkronisering kun informasjon om endringer som har skjedd siden siste synkronisering (for å minimere mengden av overført informasjon). Første gang du synkroniserer, vil konfigurasjonen dumpe alle EnterpriseData-formaterte objekter inn i en XML-fil (siden de alle er "nye" for tredjepartsapplikasjonen).

Det neste trinnet er for tredjepartsapplikasjonen - den må behandle informasjonen fra XML-filen og plassere den i seksjonen under neste synkroniseringsøkt informasjon som meldingen fra konfigurasjonen er for spesifikt nummer vellykket mottatt (plasser nummeret på meldingen mottatt fra konfigurasjonen i ReceivedNo-feltet). Kvitteringsmeldingen er et signal til konfigurasjonen om at alle objekter har blitt behandlet av den eksterne applikasjonen og at det ikke lenger er behov for å overføre informasjon om dem. I tillegg til kvitteringen kan XML-filen fra en tredjepartsapplikasjon også inneholde data for synkronisering (i seksjonen ).

Etter å ha mottatt kvitteringsmeldingen, merker konfigurasjonen alle endringer som ble sendt i forrige melding som vellykket synkronisert. Kun usynkroniserte endringer av objekter (opprette nye, endre og slette eksisterende) vil bli sendt til den eksterne applikasjonen under neste synkroniseringsøkt.

Når data overføres fra en ekstern applikasjon til konfigurasjonen, blir bildet reversert. Søknaden må fylle ut seksjonen tilsvarende, og i avsnittet plassere objekter som skal synkroniseres i EnterpriseData-format.

Etter å ha behandlet filen vil konfigurasjonen generere en XML-fil som vil inneholde en kvitteringsmelding og nye data for synkronisering fra konfigurasjonssiden (hvis det er noen siden siste økt synkronisering).

Du kan se flere detaljer om datautveksling med applikasjonsløsninger på 1C:Enterprise-plattformen i EnterpriseData-formatet

Generell modul for "børsansvarlig gjennom et universelt format".

Prosedyrer og funksjoner som fullt ut beskriver reglene for nedlasting av data fra informasjonsbasen til utvekslingsformatet og reglene for innlasting av data fra utvekslingsformatet inn i informasjonsbasen, utvikles i en felles modul – sentralledermodulen gjennom et universelt format.


Ris. 4 Struktur av utvekslingsledermodulen gjennom et universelt format

Modulen opprettes automatisk ved hjelp av "Data Conversion"-konfigurasjonen, utgave 3.0, basert på konfigurerte utvekslingsregler, eller manuelt i konfiguratoren.

Modulen består av flere store seksjoner som hver inneholder sin egen gruppe av prosedyrer og funksjoner.

  1. En kommentar. Den første linjen i modulen inneholder en kommentar med navnet på konverteringen. Denne linjen er nødvendig for å identifisere modulen når du bruker kommandoen i Data Conversion-programmet, utgave 3.0, for eksempel. // Konvertering UP2.2.3 fra 06/01/2017 19:51:50
  2. Konverteringsprosedyrer. Inneholder forhåndsdefinerte prosedyrer som utføres på forskjellige stadier av datasynkronisering: før konvertering, etter konvertering, før utsatt fylling.
  3. Databehandlingsregler (DPR). Inneholder prosedyrer og funksjoner som beskriver reglene for behandling av data.
  4. Regler for objektkonvertering (OCR). Inneholder prosedyrer og funksjoner som beskriver reglene for konvertering av objekter, samt reglene for konvertering av egenskaper til disse objektene.
  5. Forhåndsdefinerte regler for datakonvertering (PDC). Inneholder en prosedyre som fyller ut reglene for konvertering av forhåndsdefinerte data.
  6. Algoritmer. Inneholder vilkårlige algoritmer som kalles fra andre regler (POD eller PKO).
  7. Alternativer. Inneholder logikken for å fylle ut konverteringsparametrene.
  8. Generelt formål. Inneholder prosedyrer og funksjoner som er mye brukt i regler og algoritmer.

Parametrene til prosedyrer og funksjoner som brukes i flere typer prosedyrer i ledermodulen er beskrevet nedenfor.

Bytt komponenter. Type - Struktur. Inneholder parametere og utvekslingsregler initialisert som en del av utvekslingsøkten.

Retning av utveksling. Type – String. Enten "Send" eller "Motta".

IB data. Type – DirectoryObject eller DocumentObject.

Prosedyrer knyttet til konverteringshendelser

Det er tre forhåndsdefinerte prosedyrer som kalles under konverteringsprosessen:

  • Før konvertering. Ringes før datasynkronisering skjer. Denne prosedyren inneholder vanligvis logikken for initialisering av ulike konverteringsparametere, fylling av standardverdier osv. Parametre: Komponentutveksling.
  • Etterkonvertering. Kalt opp etter at datasynkronisering er fullført, men før lat polstring har skjedd. Alternativer: Komponentutveksling.
  • Før Forsinket Fylling. Ringes før lat fylling skjer. Logikken for sortering eller justering av tabellen over gjenstander som er utsatt for lat fylling kan lokaliseres her. Alternativer: Komponentutveksling.

AML-prosedyrer

Fyll ut databehandlingsreglene. En eksportprosedyre som inneholder logikken for å fylle ut databehandlingsregler. Inneholder kall til andre prosedyrer som legger til en regel for behandling av et spesifikt objekt i regeltabellen (se prosedyrer nedenfor Legg til AML). Alternativer: Retning av utveksling, Regler for databehandling

Legg til UNDER_<ИмяПОД>. Et sett med prosedyrer som fyller ut tabellen UNDER reglene for spesifikke objekter. Antall slike prosedyrer tilsvarer antallet AML som er gitt for denne konverteringen i Data Conversion-programmet, utgave 3.0. Alternativer: Regler for databehandling(en tabell med verdier initialisert som en del av utvekslingsøkten).

UNDER_<ИмяПОД>_Ved behandling. Prosedyren inneholder behandlerteksten Under behandlingen for en spesifikk AML. Behandleren er designet for å implementere konverteringslogikk på objektnivå. For eksempel, tilordne en spesifikk PQO til et bestemt objekt avhengig av innholdet i objektet. Alternativer:

  • InformasjonB-data eller DataXDTO(avhengig av utvekslingsretningen):
  • når du sender – objekt ( DirectoryObject,DocumentObject);
  • ved mottak - en struktur med en beskrivelse av XDTO-objektet.
  • Bruk av PKO. Type - Struktur. Nøkkelen inneholder en streng med navnet på PCO, og verdien av typen boolsk (ekte– PKO brukes, Å ligge– PKO brukes ikke).
  • Komponentutveksling.

UNDER_<ИмяПОД>_Sampling av data. Funksjonen inneholder behandlerteksten Ved lossing. Behandleren er designet for å implementere en vilkårlig algoritme for å velge objekter som skal losses. Returverdi: en rekke objekter som skal losses. Matrisen kan inneholde både lenker til infobaseobjekter og en struktur med data for opplasting. Alternativer: Komponentutveksling.

PKO-prosedyrer

Fyll ut reglene for objektkonvertering. En eksportprosedyre som inneholder logikken for å fylle ut reglene for konvertering av objekter. Inneholder kall til andre prosedyrer som legger til en spesifikk objektkonverteringsregel til regeltabellen (se prosedyrer nedenfor Legg til PKO). Alternativer: Retning av utveksling, Konverteringsregler(en tabell med verdier initialisert som en del av utvekslingsøkten).

AddPKO_<ИмяПКО>. Et sett med prosedyrer som fyller PKO-tabellen med regler for spesifikke objekter. Antallet slike prosedyrer tilsvarer antallet PKOer som er gitt for denne konverteringen i datakonverteringsprogrammet, versjon 3.0. Alternativer: Konverteringsregler(en tabell med verdier initialisert som en del av utvekslingsøkten).

PKO_<ИмяПКО>_WhenSendingData. Prosedyren inneholder behandlerteksten Ved sending for en spesifikk PKO. Behandleren brukes ved opplasting av data. Designet for å implementere logikken for å konvertere data i et infobaseobjekt til en beskrivelse av et XDTO-objekt. Alternativer:

  • InformasjonB-data. Type - DirectoryObject, DocumentObject. Informasjonsbaseobjektet som behandles.
  • DataXDTO. Type - Struktur. Designet for å få tilgang til XDTO-objektdata.
  • Komponentutveksling.
  • StackUploads. Type - Array. Inneholder lenker til ulastede objekter, med hensyn til hekking.

PKO_<ИмяПКО>_Ved konvertering av XDTO-data. Prosedyren inneholder behandlerteksten Ved konvertering av DataXDTO for en spesifikk PKO. Behandleren brukes ved lasting av data. Designet for å implementere vilkårlig XDTO-datakonverteringslogikk. Alternativer:

  • DataXDTO. Type - Struktur. XDTO-objektegenskaper som er forhåndsbehandlet for å gjøre dem lettere tilgjengelige.
  • Mottatt data. Type - DirectoryObject, DocumentObject. Et infobaseobjekt dannet ved å konvertere XDTO-data. Ikke registrert i informasjonsdatabasen.
  • Komponentutveksling.

PKO_<ИмяПКО>_Før registrering av mottatte data. Prosedyren inneholder behandlerteksten Før du registrerer de mottatte dataene for en spesifikk PKO. Behandleren brukes ved lasting av data. Designet for å implementere ytterligere logikk som må utføres før du registrerer et objekt i infobasen. Skal endringer for eksempel lastes inn i eksisterende informasjonssikkerhetsdata eller skal de lastes inn som nye data. Alternativer:

  • Mottatt data. Type - DirectoryObject, DocumentObject. Et dataelement generert ved å konvertere XDTO-data.

Registreres hvis disse dataene er nye for infobasen (parameter InformasjonB-data inneholder verdien Udefinert).

Ellers Mottatt data erstatte InformasjonB-data(alle eiendommer fra Mottatt data overført til InformasjonB-data).

Hvis standard erstatning av informasjonssikkerhetsdata med mottatte data ikke er nødvendig, bør du skrive din egen overføringslogikk, og deretter angi parameteren Mottatt data betydning Udefinert:

  • InformasjonB-data. Type - DirectoryObject, DocumentObject. Et infobasedataelement som tilsvarer de mottatte dataene. Hvis ingen samsvarende data er funnet, inneholder Udefinert.
  • Konvertering av egenskaper. Type - Tabell over verdier. Inneholder regler for konvertering av egenskapene til det gjeldende objektet, initialisert som en del av utvekslingsøkten.
  • Komponentutveksling.

PCPD-prosedyrer

Fyll ut konverteringsreglene for forhåndsdefinerte data. En eksportprosedyre som inneholder logikken for å fylle ut reglene for konvertering av forhåndsdefinerte data. Alternativer: Retning av utveksling, Konverteringsregler(en tabell med verdier initialisert som en del av utvekslingsøkten).

Algoritmer

I «Data Conversion»-programmet, utgave 3.0, er det mulig å lage vilkårlige algoritmer som kalles opp fra AML- og PKPD-behandlerne. Navn, parametere og innhold av algoritmene bestemmes når reglene utvikles.

Alternativer

Fyll inn ConversionParameters. En eksportprosedyre der strukturen med konverteringsparametere fylles ut. Alternativer: Konverteringsalternativer(skriv - Struktur).

Generelle prosedyrer og funksjoner

ExecuteManagerModuleProcedure. Alternativer: Prosedyrenavn(linje), Alternativer(struktur). En eksportprosedyre, som er ment å kalle en ikke-eksportmodulprosedyre, hvis navn og parametere mottas som input. Lar deg kalle en prosedyre eller funksjon på en linje uten å bruke en metode Henrette.

ExecuteManagerModuleFunction. Alternativer: Prosedyrenavn(linje), Alternativer(struktur). Funksjon, formål lignende ExecuteManagerModuleProcedure. Forskjellen er at den kaller en funksjon og returnerer verdien.

Hva trengs til automatisk utveksling data, uten å gjøre endringer i konfigurasjonen:
1) Behandling av "Universal Data Interchange 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.


Behandling av "Universell datautveksling i XML-format" er ment for å laste og losse data til en fil fra en hvilken som helst konfigurasjon implementert på 1C:Enterprise 8-plattformen


Behandlingen har fire faner

Laster opp data

For å laste opp data må du spesifisere navnet på filen som dataene skal lastes opp til og velge utvekslingsreglerfilen. Utvekslingsregler for enhver konfigurasjon kan konfigureres i den spesialiserte konfigurasjonen "Data Conversion, Edition 2".


For å laste opp dokumenter og poster fra uavhengige periodiske informasjonsregistre, må du spesifisere perioden - "Startdato" og "Sluttdato". Den resulterende filen med de nedlastede dataene kan komprimeres.


På fanen «Regler for opplasting av data» kan du velge hvilke typer objekter som skal lastes opp, sette opp valg for å velge objekter, eller angi datautvekslingsnoden du vil laste opp data for.


På fanen "Opplastingsalternativer" kan du spesifisere ytterligere parametere for dataopplasting.


På "Kommentar"-fanen kan du skrive vilkårlig kommentartekst som skal inkluderes i utvekslingsfilen.

For å laste ned data må du spesifisere navnet på filen som dataene skal lastes ned fra.


Det er mulig å konfigurere lasting av data til transaksjoner. For å gjøre dette må du merke av for "Bruk transaksjoner" og angi antall elementer i en transaksjon når du laster inn.

Tilleggsinnstillinger

Bokmerket brukes til finjustering laste opp og laste ned data.


"Feilsøkingsmodus" - avmerkingsboksen bestemmer modusen for opplasting og lasting av data


"Antall behandlede objekter for statusoppdatering" - parameteren brukes til å bestemme antall behandlede elementer før du endrer statuslinjen for lasting/lossing


"Dataopplastingsinnstillinger" - lar deg bestemme antall elementer behandlet i en transaksjon når du laster opp data, last opp og behandle kun de objektene du har tilgangsrettigheter til, konfigurer type registreringsendring for opplastede objekter gjennom utvekslingsplaner


"Utvekslingsprotokoll" - lar deg konfigurere utdata av informasjonsmeldinger i meldingsvinduet, vedlikehold og registrering av utvekslingsprotokollen i en egen fil.

Sletter data

Bokmerket er kun nødvendig for utviklere av utvekslingsregler. Lar deg slette vilkårlige objekter fra infobasen.

Feilsøking av dataopplasting og nedlasting

Behandling lar deg feilsøke hendelsesbehandlere og generere en feilsøkingsmodul fra en regelfil eller datafil.


Aktivering av feilsøkingsmodus for opplastingsbehandlere gjøres på fanen "Dataopplasting" ved å merke av for "Feilsøkingsmodus for opplastingsbehandlere". Følgelig, på «Data Loading»-fanen, aktiveres innlastingsfeilsøkingsmodusen ved å merke av for «Load handlers debugging mode»-boksen.


Etter innstilling av feilsøkingsmodus for behandlere, vil knappen for feilsøkingsinnstillinger bli tilgjengelig. Ved å klikke på denne knappen åpnes et innstillingsvindu.


Konfigurering av feilsøkingsbehandlere utføres i fire trinn:

Trinn 1: Velge algoritme-feilsøkingsmodus

I det første trinnet må du bestemme deg for algoritme-feilsøkingsmodus:



    Uten feilsøkingsalgoritmer


    Anropsalgoritmer som prosedyrer


    Erstatt algoritmekode på anropsstedet

Den første modusen er praktisk å bruke når vi vet med sikkerhet at feilen i behandleren ikke er relatert til koden til noen algoritme. I denne modusen blir ikke algoritmekoden lastet opp til feilsøkingsmodulen. Algoritmer kjøres i konteksten av "Run()"-operatoren og koden deres er ikke tilgjengelig for feilsøking.


Den andre modusen må brukes i tilfeller der feilen er i algoritmekoden. Når denne modusen er satt, vil algoritmer bli lastet ut som separate prosedyrer. I det øyeblikket algoritmen kalles fra en hvilken som helst behandler, kalles den tilsvarende behandlingsprosedyren. Denne modusen er praktisk å bruke når den globale variabelen "Parameters" brukes til å sende parametere til algoritmer. Begrensningene ved å bruke denne modusen er at når du feilsøker algoritmen, er de lokale variablene til behandleren som den kalles fra, ikke tilgjengelige.


Den tredje feilsøkingsmodusen brukes, som i det andre tilfellet, ved feilsøking av algoritmekode og i tilfeller der den andre feilsøkingsmodusen ikke er egnet. Når denne modusen er satt, vil algoritmene bli lastet ut som integrert kode i behandlere. De. I stedet for algoritmeanropsoperatøren, settes hele koden til algoritmen inn, med hensyn til nestede algoritmer. I denne modusen er det ingen restriksjoner på bruken av lokale behandlervariabler, men det er en begrensning ved feilsøking av algoritmer med et rekursivt kall.

Trinn 2: Dannelse av feilsøkingsmodulen

I det andre trinnet må du losse behandlerne ved å klikke på knappen "Opprett lossing (lasting) feilsøkingsmodul". De genererte behandlerne og algoritmene vil bli vist i et eget vindu for visning. Innholdet i feilsøkingsmodulen må kopieres til utklippstavlen ved å klikke på knappen "Kopier til utklippstavlen".

Trinn 3: Opprett ekstern behandling

På dette trinnet må du starte konfiguratoren og opprette en ny ekstern behandling. Du må lime inn innholdet på utklippstavlen i behandlingsmodulen (feilsøkingsmodul) og lagre behandlingen under et hvilket som helst navn.

Trinn 4: Koble til ekstern prosessering

På det fjerde og siste trinnet må du angi navnet på den eksterne behandlingsfilen i inndatafeltet. I dette tilfellet sjekker programmet tidspunktet for opprettelse (oppdatering) av behandlingsfilen. Hvis behandlingen har en tidligere versjon enn versjonen av feilsøkingsmodulfilen, vil en advarsel vises og konfigurasjonsskjemaet vil ikke bli lukket.


Merk: Muligheten til å feilsøke den globale konverteringsbehandleren "Etter lasting av utvekslingsregler" støttes ikke.

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 behandlingsreglene "XML Data Exchange". Utvekslingsregler opprettes ved å bruke 1C:Data Conversion-konfigurasjonen.
  2. Overføring av data mellom lignende infobaser ved hjelp av «Last opp og last»-prosessen XML-data».

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.