Kratak opis stvaranja XML datoteke pomoću XSD sheme na primjeru stvaranja istovara statističkog izvješćivanja za FCS. Upisani objekt skupa podataka. Čitanje i snimanje XML dokumenata Stvorite XSD datoteku u 1C 8.2

Oznaka: XML sheme podataka (XSD). Stvaranje XSD sheme u vizualnom studiju .NET okruženju. Stvaranje tipkanog objekta skupa podataka. Primanje informacija o strukturi objekta skupa podataka. Učitavanje XML dokumenata i XSD shema na upisane i uobičajene objekte skupa podataka. Metode readxml i readxmlschema. Zabilježite sadržaj i strukturu tipkanog i konvencionalnog objekta skupa podataka. WRITEXML i WRITEXMLSCHEMA metode

Upisani objekt skupa podataka. Čitanje i snimanje XML dokumenata

XML sheme podataka (XSD)

Krugovi podataka 1. Točan prijevod XML sheme dokumenta -< xML shema dokumenta\u003e Međutim, i dalje ćemo koristiti izraz "XML shema podataka". XSD (XML shema dokument, XSD) je alternativni način za izgradnju XML dokumenata. U usporedbi s DTD-om, sheme imaju snažniji način za određivanje složenih struktura podataka, pružaju razumljiviji način za opisivanje gramatike jezika, mogu se lako nadograditi i proširiti. XSD shema može sadržavati sljedeće podatke:

  • zastupanje obveznica između elemenata podataka, slični vezama vanjskih ključeva između tablica u relacijske baze podataka;
  • prikaz jedinstvenih identifikatora sličnih primarnom ključu;
  • vrsta specifikacije Podataka iz svakog pojedinog elementa i atribut u XML dokumentu.

Da biste stvorili shemu podataka u Visual Studio .NET u glavnom izborniku, idite na datoteku novu datoteku i odaberite s popisa predložaka (pogledajte sl. 11.3) XML shemu. Pojavljuje se prozor s natpisom "Za početak, povlačenje objekata iz poslužitelja Explorer ili alata prozor na radni prostor (područje dizajna) ili desnom tipkom miša" (Sl. 11.1):


Sl. 11.1.

Činjenica je da smo u načinu dizajna. Prebacimo se na način koda, za koji kliknite gumb (XML):

Prvi redak je poznata pokazatelj da je shema XML dokument s korijenskim elementom XS: shemom. XS prefiks: prečiva sve elemente sheme, ukazujući na njihov prostor za imenovanje. U drugoj liniji postoji dug, detaljan i često potpuno nepotreban opis sheme (usporedite s istim kodom za HTML stranice). Za ispravan rad dovoljan je da ograničite sljedeće podnesak:

Međutim, ugrađeni prikaz studija sugerira ovu "kapu", tako da se ne smije izbrisati. Stvaranje sheme koji opisuje navedeni XML dokument u Visual Studio .NET okruženju je prilično jednostavan zadatak. Stvorite sljedeći dokument xmleasy.xml:

1

Prebacite na karticu (podaci) i pogledajte samo jedan zapis (Sl. 11.2).


Sl. 11.2.

Možete stvoriti dijagram koji opisuje ovaj dokument na nekoliko načina: U glavnom izborniku odaberite "XML stvoriti shemu" (Sl. 11.3, a), u XML načinu rada u kontekstnom izborniku odaberite istu stavku (Sl. 11.3, b ), U načinu rada u kontekstnom izborniku odaberite ovu stavku (Sl. 11.3, b), i na kraju, u načinu podataka kliknite na gumb XML alatne trake (Sl. 11.3, d).


Sl. 11.3.

U svakom slučaju, shema dokumenta pojavljuje se u obliku tablice (sl. 11.4). Ostavimo način sheme i prebacite se na (XML) način rada.


Sl. 11.4.

Medij je generirao XML kod koji opisuje strukturu dokumenta:

To uključuje opis potreban za daljnju manipulaciju pomoću sheme pomoću ADO .NET objekata. U dokumentu XMLEASY.XML dokumenta, pojavio se veza s shemom podataka:

Xmleasy.xSD dokument je automatski stvoren u istom direktoriju, gdje se nalazi Xmleasy.xml.

Da bi naučili kako razumjeti XSD sheme, prvo bi trebalo raditi s opisom podataka u svom čistom obliku, bez dodatnih elemenata. Tablica 11.1 pruža nekoliko jednostavnih XML dokumenata i njihove sheme formirane bez vezanja za ADO .NET objekte.

Tablica 11.1. Primjeri XSD shema
Sadržaj XML dokumenta Sadržaj XSD sheme

1

Opis
U dokumentu Xmleasy.xml, element izleta je korijenski element koji sadrži element za djecu. Ukupna shema za korijenski element ima sljedeći oblik:

: Element sadržaja ...

Podružnice su opisane na sljedeći način:

Sadržaj XML dokumenta Sadržaj XSD sheme

1 Cipar 25 000,00. Cijena dva odrasla vaučera uključuje cijenu jedne djece (do 7 godina) 2 Grčka 32 000,00. U kolovozu i rujnu djeluju posebni popusti 3 Tajland 30 000,00. Ne uključujući airfare 4 Italija 26 000,00. Doručak u hotelu je uključen u cijenu ulaznice 5 Francuska 27 000,00. Dodatni izleti nisu uključeni u cijenu ulaznice

Opis
Tablica korijenskog elementa sadrži element turneje, koji je, zauzvrat, iz skupine dječjih elemenata. Element izbora određuje izbor drugih elemenata, a vrijednost "neograničeno" (neograničeno) Maxoccurs atributa ukazuje na sposobnost neograničenosti prisutnosti grupa tura.

: :

Sadržaj XML dokumenta Sadržaj XSD sheme

1 Cipar 25 000,00. 1 Cijena dva odrasla vaučera uključuje cijenu jedne djece (do 7 godina)


Sl. 11.5.
Opis
Za idtour stavku instaliran je INT tip podataka, za element zatvoren - tip Boolean, za ostatak - po zadanom vrtu. Možete promijeniti vrstu podataka izravno u načinu dijagrama podataka XML, ali više povoljnije - u Sheme modu (u ovom slučaju, način će se nazvati DataSet) odaberite vrstu podataka s padajućeg popisa (Sl. 11.5):

Tijekom tečaja naći ćete sve datoteke ove tablice u mapi XSD (kod glava5 XSD).

Postavljanje vrste podataka u XML dokumentu (posljednji primjer je tablica. 11.1) je jedan od načina za ograničavanje sadržaja. Primjenjuju se dodatni atributi kako bi se ograničila vrijednost određenog tipa. U slijedećem fragmentu kruga, vrijednost cijene elementa mora biti između 50 do 100:

Da biste ograničili XML dokument, neke fiksne vrijednosti koriste sljedeći dizajn:

Ovdje se element imena može uzeti samo jednu fiksnu vrijednost od pet imena zemalja.

Razvoj XSD sheme je prilično slikarstvo. Visual Media Visual Studio .NET značajno olakšavaju ovaj zadatak. Da biste ovladali osnovnim konceptima, poželjno je proučavati nekoliko XML dokumenata stvorenih automatski. Tablice 11,2-11,4 opisuje glavne elemente i atribute koji se mogu naći u isto vrijeme.

Tablica 11.2. XSD sheme
Element Opis
svi. Ugniježđeni elementi mogu se odrediti slučajnim redoslijedom
bilješka. Elementi roditeljskog elementa - komentar i
bilo koji. Bilo koje ugniježđene stavke
anyattribut. Bilo kakve atribute
appinfo. Komentar elemenata. Određuje naslov sheme
atribut. Atribut
atributegroup. Skupina atributa
izbor Odabirom drugih elemenata. Analog operatora "| u DTD-u.
složenost Ograničenja ili Širenje modela Vrsta kompleksa sadržaja
complextype. Element složenog tipa
dokumentacija Element-komentar. Pruža informacije o shemi
element. Element
produženje Ekspanzija elemenata
polje Najava na terenu. Koristi se unutar elementa Odrediti polja
skupina. Grupa elemenata
uvoz Uvoz izjava o vrsti iz druge sheme
uključiti. Omogućite drugu shemu u postojećem prostoru za imenovanje
ključ Postavljanje elementa ili atributa ključa koji pokazuje na drugi element
keyref. Postavljanje elementa ili atributa na koje ključne točke
popis Element koji može sadržavati popis vrijednosti
redefinirati Nadjačati već proglašene stavke
ograničenje Ograničenje elementa
shema. Korijenski element kruga
selektor Selektor za odabir XML elemenata
slijed Slijed drugih elemenata. Analog operatora "," u DTD-u
simplecontent Model, čiji sadržaj predstavlja samo simboličke podatke
simpleType. Element jednostavnog tipa
unija Element ili atribut koji može imati višestruku vrijednost
jedinstven Element ili atribut koji mora imati jedinstvenu vrijednost
Tablica 11.3. Atributi - Ograničenja XSD shema
Atribut Opis
Nabrajanje popisa vrijednosti
duljina. Dužina
maksimalna dužina. Maksimalna duljina
minletina Minimalna duljina
maxexclusive. Maksimalna vrijednost
maxinclusive. Maksimalna inkluzivna vrijednost
minski. Minimalna vrijednost
nerazminiest. Minimalna inkluzivna vrijednost
frakcija. Broj zarez u frakcijskim brojevima
totaldigits. Broj znamenki
uzorak. Uzorak (uzorak) sadržaja elemenata
zadano. Zadani element ili vrijednost atributa
elementformDeault. Postavljanje svojstava lokalnog elementa kao globalno definirane
fiksni Fiksna vrijednost elementa ili atributa
oblik Lokalno najavljene stavke definirane su u određenim kopijama dokumenata.
itemtype. Vrsta stavke popisa
mahnipovi. Vrsta članova koji se koriste u Uniji (Union)
maxoča. Maksimalni broj elemenata unosa
malo. Minimalna količina ulaska elementa
mješoviti. Postavljanje elementa koji ima mješoviti tip
ime. Ime elementa ili atributa
imena. Imena prostora
nona. Postavljanje mjesta sheme dokumenata,
Shemalokacija nemaju nastanak prostora
nulable Određivanje da element može imati praznu vrijednost nula (nula)
ref. Postavljanje veza na globalno definirani element
shemalokacija Određivanje mjesta sheme
zamjenik Određivanje zamjene elemenata drugim elementima
targetmen. Dobivena shema imena
tip Vrsta elementa
koristiti Je li element obvezan ili ne
vrijednost Vrijednost elementa dijagrama
xsi: nula. Postavite pravi sadržaj praznog (null) Element XML dokumenta
xsi: shemalokacija Stvarna lokacija elementa u XML dokumentu
xSI: Vrsta. Vrsta stvarnog elementa u XML dokumentu

Pogreška koja izvještava da se datoteka ne podudara s XSD shemom je uobičajena slučajevima kada sustav ne može čitati podatke iz izvješća, Općenito, takve pogreške kod ljudi često se javljaju, a vrlo je lako nositi se s njima.

Prvo morate shvatiti što XSD shema znači razumjeti što se vaša datoteka ne podudara.

Dakle, XSD je programski jezik, Uz to, opisuje strukturu vašeg izvješća. Struktura uključuje, na primjer, sadržaj izvješća, vrstu, prikaz, kao i sintaksu podataka, particije koje sadrže informacije.

Ispada da je XSD shema opis strukture vašeg izvješćana jednom od programskih jezika. Ako se donese netočne informacije u izvješću, to će biti samo nečisto za shemu, zato sustav izdaje pogrešku koju datoteka ne odgovara XSD shemi.

To sugerira da se informacije koje ste unijeli ne mogu se čitati na programskom jeziku, stoga program prepoznaje njezino netočno.

Važno je napomenuti da se ovaj problem može pojaviti kao zbog pogrešno uneseni podaci (Na primjer, pogriješili ste kada je uvedena gostionica organizacije) i zbog pogrešnog formata uvođenja podataka (na primjer, naznačili ste nepotrebne praznine ili crtice).

Međutim, to nije jedini razlog koji uzrokuje nedosljednost XSD sheme datoteke. Ta se pogreška također može pojaviti zbog činjenice da je zastarjela verzija programa instalirana na vašem uređaju u kojem donosite izvješće, kao i ako program nije ažuriran u poreznom tijelu.

Da biste riješili pogrešku u XSD shemi, trebat će vam provjerite ispravnost svih podataka, Koji ste unijeli, kao i razjasniti je li ažuriranje programa u kojem radite. Međutim, prije provjere datoteke, pažljivo pogledajte tekst pogreške koji vam daje.

Činjenica je da u nekim situacijama nakon teksta da datoteka ne odgovara shemi, postoji debelo crijevo, a zatim ukazuje na razlog ovog problema. Ako razlog sam u samoj pogrešci nije naveden, ažurirajte program na najnoviju verziju.

Nakon završetka ažuriranja, pokušajte ponovno poslati izvješće. Ako nakon ažuriranja datoteke ponovno donese pogrešku, onda je potrebno Potražite problem u njemu. Ako radite u programu 1c, onda možete provjeriti datoteku pomoću posebnog gumba pod nazivom "Provjeri na internetu".

Ako vam dvije prethodne stavke nisu pomogle da identificirate problem, onda provjerite jeste li sva potrebna polja, bilo da ste unijeli sve podatke, jer mnogi od njih trebaju popuniti brojeve, u kojem slučaju je vrlo lako Dopusti pogrešku.

Osim toga, morate provjeriti sva polja o odsutnosti nepotrebnih praznina, crtica i drugih znakova. Ako ste provjerili cijelu datoteku i ne možete pronaći pogrešku ili ako sam uspio pronaći pogrešku, ali ne možete to popraviti, onda definitivno stojite kontaktirajte tehničku podršku Programe s kojima donosite izvješće ili njegove programere.

Kako biste riješili ovaj problem pomoću programa programere, morat ćete poslati neke dokumente, kao što je sama datoteka u kojoj je izvješće protokol obavijesti da vas računalo izdaje.

Osim toga, programeri mogu zatražiti neke informacije o vašoj organizaciji, kao i druge informacije koje će se činiti nužnim, morate im pružiti, inače neće moći riješiti problem.

Dakle, ako pokušavate poslati izvješće poreznom tijelu, ali datoteka daje pogrešku da se ne podudara s XSD shemom, to znači da je vaše izvješće ne može se poslati Budući da program ne može čitati podatke koje ste unijeli.

Ali panika se ne isplati, jer u većini slučajeva taj problem Dovoljno riješeno i brzo. Osim toga, ako je izvješće koje ste poslali na vrijeme, ali nije bilo prihvaćeno zbog pogrešnog formata, tada je porez nema pravo završiti Vi ne na vrijeme pod uvjetom da je izvješće. Prije svega, obratite pozornost na tekst same pogreške, možda već ukazuje na razlog njegovog pojavljivanja.

Zapravo, razlozi mogu biti samo dva. Ili ste instalirali na uređaju stara verzija programaUz pomoć u kojem napravite izvješće, u ovom slučaju lako riješite problem, samo trebate preuzeti najnovije ažuriranje, obično se može naći na web stranici koju koristite. Drugi razlog može biti da pogrešno protumačite neke podatke ili uopće niste završili polje.

U ovom slučaju, morate provjeriti svoju datoteku, dok morate zapamtiti da program može razmotriti pogrešku čudan prostor, Ako ne možete pronaći uzrok pogreške, možete kontaktirati tehničku podršku za program, sigurno će pomoći u rješavanju problema.

XML format je vrlo popularan prilikom razmjene različitih tekstualnih dokumenata između informacijskih sustava. Sposobnost stvaranja jedinstvene strukture dokumenata omogućuje da se koristi u mnogim područjima - elektroničkim knjižnicama, web, uvoz / izvoz, kao i mnogi drugi. Bez mogućnosti prikladnog rada s ovim formatom, 1C sustav ne bi mogao dobiti takvu popularnost. Budući da 1c aktivno koristi web tehnologije, svaki developer bi trebao biti u mogućnosti čitati XML i zabilježiti informacije u njima.

Pogled na XML datoteku i čitanje

Jedna od ključnih prednosti XML označavanja jezika je prilično prikladna i intuitivna struktura i sintaksa. Kada je stvoren, autori postavljaju cilj stvoriti oznaku jezik koji bi bio prikladan za čitanje i čovjeka i računalo. Do danas, XML je široko razvijen u druge formate, ali ostaje popularan i široko korišteni. Struktura XML datoteke je izgrađena prema sljedećoj shemi:

Razmotriti primjer uvoza podataka u 1c će dovoljno biti gornja datoteka. Da bi pisana procedura čitala XML datoteku, dovoljno je proći put do samog dosjea. To se može učiniti kroz sučelje, omogućujući korisnicima da neovisno odrediti datoteku ili oštro govoreći u tekstu obrade.

Jedna od popularnih metoda rada s XML-om do 100 MB u 1 ° Smatra se da koristi model objekta dokumenta (DOM). Njegovo značenje je naizmjenično obraditi sve čvorove dokumenta prikazanog u XML-u. U ugrađenom jeziku od 1c, ovaj algoritam izgleda ovako:

  1. Najava mehanizama s kojima se čita XML datoteka; Ciklus do zaobići čvorove;
  2. Čitanje podataka i atributa u čvoru;
  3. Informacije o informacijama. Ako postoji potreba, u ovoj fazi se može zabilježiti u varijablama ili odmah na željene tablice;
  4. Završetak mehanizma.
& Nasserver postupak pročitajte poslužitelj (Palefile) // najava mehanizama mehanizma \u003d novi čin; Mehanizam. Openfile (pulpa); Graditelj \u003d novi graditelj; Dokument \u003d graditelj. Gore (mehanizam); // ciklus za zaobilaženje čvorova za svaku stavku iz dokumenta. Izvješća elementa. Ciklus. Ciklus // Čitanje podataka ako stavku. Stavke \u003d "Proizvod", a zatim proizvod \u003d element; Za svaku vrijednost iz proizvoda. Ciklus. Ciklus. Ako su vrijednosti vrijednosti \u003d "ime", zatim ime \u003d vrijednosti; Boja \u003d ime. Atributi. Visoki demontirani element ("boja"); Pohranjene vrijednosti. Stavke \u003d "Cijena", zatim troškovi \u003d vrijednosti; Valuta \u003d cijena. Atributi. Element za fokusiranje ("valuta"); Završeno; Endcycle; // Prikazivanje poruka Izvješće ("Naziv:" + Ime. Softver-based + "; boja:" + boja. Liječenje + "; cijena:" + cijena. " Završeno; Endcycle; // zatvaranje mehanizma ne-uboda. Mjesto (); Ekstrudered

Kao rezultat toga, prikazujemo poruke s uvezenim podacima. Također možete staviti sve podatke u željenu strukturu i na njegov temelj program za izradu dokumenta ili zapisa u direktoriju. Brzina operacije 1C s XML-om je dovoljno velika, tako da se više i češće ovaj format koristi prilikom razmjene podataka s drugim izvorima.

Da biste istovarili informacije, koristimo i interakciju s datotekama XML formata. Razmotrite primjer snimanja korištenjem objekta 1C zapisa objekta i istovar podataka o nomenklaturi. Glavne prednosti su jednostavnost koda i brzine obrade podataka. Algoritam zapisa XML datoteka može biti predstavljen kao nekoliko uzastopnih koraka:

  1. Povežite se s XML datotekom;
  2. Stvorite elemente glave i napišite podatke u njima. Ako želite istovariti u XML datoteku veliku količinu informacija, onda u ovoj fazi imat ćete cikluse. Budite oprezni i ne zaboravite da se zahtjev podataka mora obaviti prije ciklusa, a ne u njemu;
  3. Zatvorite datoteku.
// Otvorite datoteku nomenclatura.xml i napišite element glave na rekorder \u003d novi Postsml \u200b\u200b(); Openfile PickleFile ("D: nomenclatura.xml", "UTF-8"); Opramorphrabluelelacija ("roba"); // Odaberite podatke za snimanje odabranog direktorija. Zamjena. Valjano (); // Ciklus u kojem se snimanje bilježi dok je uzorak primljen. Sljedeći () Ciklus // Snimanje nove vrijednosti zapisa podataka. Zabilježite kopturibut ("ime", selektivni PlayMahter. Ime); Zabilježiti picutturibut ("počevši", niz (uzorakproof.nacchant)); Ustpail. Regrut (); Endcycle; // zatvorite element glave i datoteku zapisa. RecordColelelement (); Postback. Zatvori ();

XDTO mehanizam u 1c

Programeri tvrtke 1c za razmjenu informacija putem XML-a stvorili su vlastiti mehanizam - XDTO (XML prijenos podataka). Počevši od verzije 8.1, Platforma se pojavljuje mogućnost razmjene podataka s drugim sustavima, a ne uveden u formiranje XML datoteke. Većina tehničkih problema preuzimaju 1 ° C, a mi moramo odrediti samo podatke potrebne za formiranje XML-a. Istina, za to, programer mora unaprijed napraviti neke manipulacije.

Da biste preuzeli XML datoteku pomoću XDTO, moramo obavijestiti strukturu datoteke od 1c. Prenosi se kroz skup shema koje se mogu stvoriti u uređivaču teksta ili koristiti specijalizirani program. Kao rezultat toga, trebala bi se istaknuti datoteka koja opisuje opću strukturu i vrste podataka koje se koriste u XML datoteci. Prije čitanja ili snimljenog novog XML-a, programer mora ga preuzeti na konfiguraciju na odjeljak "Packagexdto paketa".

U tom slučaju, stvorite ruke jednostavan paket tako da 1c razumije strukturu naše datoteke na primjer. Dakle, da se formiranje datoteka uspješno završi, moramo razmišljati u shemi da imamo element glave i privitak atributima. Stvorena shema mora se izvesti u datoteku XSD formata i prijenos zajedno s XML tako da se druga strana ne mora nositi s strukturom i ponovno stvoriti XDTO paket.


Spremite novi XML na tvrdi disk pomaže algoritam poslužitelja sličan prethodnom. Razlika se sastoji samo o potrebi dodavanja podataka na 1 proizvod u tvornicu XDTO - poseban mehanizam platforme 8,3 1c. Ako postoji potreba za više razina gniježđenja - morat ćete opisati svaki element glave.

// Otvorite XML datoteku Postback \u003d novi RecordXML; Openfile PickleFile ("D: nomenclatura.xml", "UTF-8"); // Navedite 1c, koju vrstu podataka treba stvoriti - element glave naskularne \u003d FactorXdto. Stvoriti (FactorXdto. Vrsta (http://wiseadvicexml.org "," Roba ")); // Odaberite podatke za istovar kalupe \u003d referentne knjige. NamerenClature. Opremiti (); // dodajte odvojene stavke u element glave do uzorkaproofera. Sljedeća () stavka ciklusa \u003d FactorXdto. Stvoriti (FactorXdto. Vrsta (http://wiseadvicexml.org "," Proizvod "); Proizvod. Naziv \u003d jednokratnik. Ime; Proizvod. Vlasnički cijena \u003d niz (otporan na uzorak. Vlasnička cijena); Nurovodici. Dodaj (proizvod); Endcycle; // zabilježite podatke i zatvorite tvornicu FactoryXdto. RecruitExml (postback, mjehovi); Postback. Zatvori ();

Razmatrani mehanizmi su prilično univerzalni i većina zadataka ga može riješiti. Međutim, u interakciji od 1c i XML postoji nekoliko nijansi. Proučite ih je mnogo učinkovitiji u stvarnim uvjetima, a ne na test zadacima u kojima obrada XML datoteke rješava prilično uske zadatke.

Zadatak stvaranja XML datoteke na temelju XSD sheme pojavio se. Pretraživanja na forumima doveli su do velikog broja rasprava vezanih uz nerazumijevanje procesa, a samo nekoliko članaka objašnjavaju suštinu. Ljudi su postavljali pitanja, tukli nad odlukom, ali nakon što im je zadatak podlegao, jednostavno su nestali bez opisivanja mehanizma. Gurnuo je kako bi stvorio jednostavan opis procesa.
p.s. Ne kunete se snažno, moj cilj nije bio stvoriti određeni članak u obliku rezultata, strogo koristeći ispravnu terminologiju, i želju da jednostavno pomognem poduzeti prvi korak prema razumijevanju vrlo moćnog mehanizma razmjene putem XML-a.
P.p.S. Odmah bi trebala rezervirati da je datoteka istovara priključenog na članak samo izravnala koja stvara samo dio željene strukture XML datoteke, jer Moj posao s ovim istovara bio je radije kognitivni znak (kopirajte prethodni izvozni dokument na web stranici FCS i preuzmite iz Excela. "Aries File samo tabularni dio robe uveo je učinkovitije rješenje), a nedostatak vremena nije Dopusti da dodati stvaranje cijele strukture, nastavite samo iz razloga perfekcionizma.

Dakle, registriranjem na web stranici FCS-a postalo je jasno da stvoriti dokumente statističkog izvješćivanja o izvozu zahtijeva istovar podataka iz dokumenata. Provedba usluga upravljanja robom i uslugama i stvaranje datoteke za preuzimanje.

Postoje dvije opcije pokretanja.

Prvo: Učitavanje tabličnog dijela s robom iz Excelove datoteke (ova je opcija odabrana kao radnik, jer je bilo te prednosti koje nije bilo potrebno zabrljati s obradom dokumenata, a možete jednostavno kopirati prethodnog mijenjanjem šešira "ono što je bilo potrebno).

Drugo: Stvaranje XML datoteke u skladu s shemom preuzetom s FCT stranice u obliku "Formati albuma elektroničkih oblika dokumenata". Album je prilično veliki broj XSD shema. Pronašli su shemu "statističkog oblika kretanja proizvoda" i dodatnih datoteka s opisom vrste za to. Sheme su priloženi članku u arhivi obrade.

Da biste pregledali XSD sheme, korišten je besplatni Microsoft XML Notepad 2007.

Slika prikazuje glavnu datoteku s XSD shemom "Statistički oblik računovodstva za pomicanje robe." Slika je istaknula glavne XSD blokove kruga potrebnog za njegovo razumijevanje.

Iz sheme je jasno da trebamo dobiti XML datoteku ispunjenu strukturom navedenom u "XS: element" vrste statičkog tipa.

Struktura može biti prilično komplicirana (kao u našem slučaju). S opisima tipova koji su prisutni izravno u grani uvedeni u zasebnu granu ili čak u drugoj datoteci.

Ova struktura ima vrstu statičkog oblika, koja se sastoji od osnovnog tipa pedabestokta, skup objekata različitih vrsta i tekstualnih atributa.

Osnovna tipa Sabebookstyle opisana je u drugoj datoteci (i imena)
.

Ova datoteka sadrži više vrsta vrsta koje se ne koriste u našem slučaju.

Sada se okrećemo na posao u 1c. Ukratko, ono što trebamo učiniti se spušta na sljedeće:

1. Stvorio je Factoryxdto

Nasofabcxdto \u003d Createfabcxdto (masivinfile summixsd);

2. Factoryxdto stvara sve složene vrste podataka, koji će onda popuniti stvorenu XML datoteku:

Statičkiformtype \u003d pranje ("URN: Customs.ru: Informacije: Cari CartDocuments: Statički oblik: 5.4.0", "StaticformType");

Vrste podataka uključenih u nekom tipu mogu se dobiti iz zbirke njegovih svojstava:

Cuorganizationtype \u003d statičkiformtype. Uspješan. Sipati ("primatelj"). Vrsta; Nametype \u003d cuorganizationtype. Uspješan. Sipati ("organizacijski naziv"). Vrsta; ShortMetype \u003d CuorganizationType. Uspješno. Sipati ("shortname"). Vrsta; Languagecodetype \u003d cuorganizationtype. Softver. Sipati ("organizacijski jezik"). Vrsta;

3. Kada se stvaraju svi složeni tipovi podataka, stvaramo XML datoteku na temelju njih objekata Factoryxdto:

Statičkiformtype_bjectxdto \u003d washformType (statičkiformtype); // zbirka s dokumentima newdocuments \u003d myfabcxdto. Stvoriti (dokumentstype); Newdocuments.prdocumentname \u003d pranje (prdokumentamenatype, "robna faktura"); Newdocuments.prdocumentnNumum \u003d pranje (prdokumentnType, 123 broj "); Newdocuments.prdocumentdate \u003d myfabrikaxdto. Stvoriti (prdocumentdatetype, "2014-10-05"); Statičkiformtype_Bjectxdto.documents. Addly (Newdocuments);

U isto vrijeme ispunite detalje osnovne (jednostavne vrste).

4. Pa, konačno, istovaruje sve iz FactoryXdto u datoteku:

Filexml \u003d novi recordXml (); Datoteka filexml.text (ime); Filexml. Snimanje XML (); Washxdto. Reccuitxml (filexml, statičkiformtype_objectXDto); Filexml. Blizu ();

p.s. Arhiva sadrži praznu datoteku istovara u XML-u (stvaraju se samo neke pojedinosti, odražavajući svu slučaju popunjavanja datoteke) i XSD sheme.

Unzip sve datoteke u neki direktorij.

XML će se stvoriti u njemu.