1c 8.2 stvaranje xml-a na temelju xsd-a. Tipizirani objekt DataSet. Čitanje i pisanje XML dokumenata
Napomena: XML podatkovne sheme (XSD). Stvaranje XSD sheme u okruženju Vizualni studio.NETO. Stvaranje tipiziranog DataSet objekta. Dobivanje informacija o strukturi DataSet objekta. Učitavanje XML dokumenata i XSD shema u tipizirane i obične DataSet objekte. Metode ReadXml i ReadXmlSchema. Snimanje sadržaja i strukture tipiziranog i regularnog DataSet objekta. Metode WriteXml i WriteXmlSchema
Tipizirani objekt DataSet. Čitanje i pisanje XML dokumenata
XML podatkovne sheme (XSD)
Sheme podataka 1 Točan prijevod dokumenta XML sheme -< Shema XML dokumenta>, no nastavit ćemo koristiti izraz "XML podatkovna shema". XSD (XML Schema Document, XSD) su alternativni način pravila za izradu XML dokumenata. U usporedbi s DTD-ovima, sheme su snažnije za definiranje složenih struktura podataka, pružaju jasniji način za opisivanje gramatike jezika i mogu se jednostavno modernizirati i proširiti. XSD shema može sadržavati sljedeće informacije:
- prikaz odnosa između podatkovnih elemenata, slično odnosima stranog ključa između tablica u relacijskoj bazi podataka;
- predstavljanje jedinstvenih identifikatora sličnih primarnom ključu;
- specifikacija tipa podataka za svaki pojedinačni element i atribut u XML dokumentu.
Za izradu podatkovne sheme u Visual Studio .NET, idite na Datoteka\Nova\Datoteka u glavnom izborniku i odaberite XML shema s popisa predložaka (pogledajte sliku 11.3). Pojavit će se prozor koji kaže "Za početak, povucite objekte iz prozora Server Explorer ili Toolbox na radni prostor (područje dizajna) ili kliknite desnom tipkom" (Slika 11.1):
Riža. 11.1.
Poanta je da smo u modu dizajna. Prebacite se u način kodiranja klikom na gumb (XML):
Prvi red je poznata indikacija da je shema XML dokument s korijenskim elementom xs:schema. Prefiks xs: postavlja prefiks svim elementima sheme kako bi označio njihov prostor imena. Drugi redak sadrži dugačak, detaljan i često potpuno nepotreban opis sheme (usporedite sa sličnim kodom za HTML stranice). Za ispravan rad dovoljno je ograničiti se na sljedeći prikaz:
Međutim, ugrađeni alati za vizualizaciju studija pretpostavljaju prisutnost ovog "zaglavlja", pa ga ne treba uklanjati. Stvaranje sheme koja opisuje dati XML dokument u Visual Studio .NET prilično je jednostavan zadatak. Kreirajmo sljedeći XMLEasy.xml dokument:
Prelazimo na karticu (Podaci) i vidimo samo jedan unos (Sl. 11.2).
Riža. 11.2.
Možete stvoriti shemu koja opisuje ovaj dokument na nekoliko načina: u glavnom izborniku odaberite "XML\Create Schema" (Sl. 11.3, A), u XML modu u kontekstni izbornik odaberite istu stavku (Sl. 11.3, B), u Data modu odaberite ovu stavku u kontekstnom izborniku (Sl. 11.3, C), i na kraju, u Data modu kliknite na gumb alatne trake XML (Sl. 11.3, D) .
Riža. 11.3.
U svakom slučaju, obris dokumenta pojavljuje se u obliku tablice (Sl. 11.4). Ostavimo sada način rada sheme i prebacimo se na (XML) način rada.
Riža. 11.4.
Okruženje je generiralo XML kod koji opisuje strukturu dokumenta:
Ovo također uključuje opis potreban za daljnje manipuliranje shemom pomoću ADO .NET objekata. U izvornom dokumentu XMLEasy.xml pojavila se poveznica na podatkovnu shemu:
Dokument XMLEasy.xsd automatski je stvoren u istom direktoriju u kojem se nalazi XMLEasy.xml.
Kako biste naučili razumjeti XSD sheme, prvo biste trebali raditi s opisom podataka u njihovom čistom obliku, bez dodatni elementi. Tablica 11.1 prikazuje nekoliko jednostavnih XML dokumenata i njihovih shema, generiranih bez vezanja na ADO .NET objekte.
Sadržaj XML dokumenta | Sadržaj XSD sheme |
---|---|
|
|
Opis | |
U XMLEasy.xml dokumentu, element TOUR je korijenski element koji sadrži element djeteta IDTOUR. Opća shema jer korijenski element ima sljedeći oblik: |
|
Sadržaj XML dokumenta | Sadržaj XSD sheme |
|
|
Opis | |
Korijenski element TABLE sadrži element TOUR, koji se pak sastoji od grupe podređenih elemenata. Izborni element kontrolira odabir ostalih elemenata, s "neograničenom" vrijednošću atributa maxOccurs koja označava da TOUR grupe mogu biti neograničene. |
|
Sadržaj XML dokumenta | Sadržaj XSD sheme |
|
Riža. 11.5. |
Opis | |
Tip podataka elementa IDTOUR postavljen je na int, tip podataka elementa CLOSED postavljen je na Boolean, a ostali su postavljeni na zadani tip podataka niza. Možete promijeniti vrstu podataka izravno u načinu rada sheme XML podataka, ali je praktičnije koristiti način rada sheme (u ovom slučaju način će se zvati DataSet) odaberite vrstu podataka s padajućeg popisa (Slika 11.5) : |
U softver Za tečaj ćete pronaći sve datoteke ove tablice u XSD mapi (Kod\Glava5\XSD).
Postavljanje vrste podataka u XML dokumentu (tablica 11.1 je najnoviji primjer) jedan je od načina da se ograniči sadržaj. Dodatni atributi koriste se za ograničavanje vrijednosti danog tipa. U sljedećem fragmentu sheme, vrijednost elementa PRICE mora biti između 50 i 100:
Da biste ograničili XML dokument na neke fiksne vrijednosti, koristite sljedeću konstrukciju:
Ovdje element NAME može uzeti samo jednu fiksnu vrijednost od pet naziva zemalja.
Razvijanje XSD sheme je dosta posla. Vizualni alati u Visual Studio .NET čine ovaj zadatak mnogo lakšim. Za svladavanje osnovnih pojmova, preporučljivo je naučiti nekoliko automatski generiranih shema XML dokumenata. Tablice 11.2-11.4 daju opis glavnih elemenata i atributa na koje se može naići.
Element | Opis |
---|---|
svi | Ugniježđeni elementi mogu se definirati bilo kojim redoslijedom |
anotacija | Nadređeni element elemenata komentara |
bilo koji | Bilo koji ugniježđeni elementi |
bilo kojiAtribut | Bilo kakvi atributi |
appInfo | Element komentara. Određuje naslov sheme |
atribut | Atribut |
atributGroup | Grupa atributa |
izbor | Odabir ostalih elemenata. Analog operatora "|" u DTD |
složeniSadržaj | Ograničenja ili nastavci modela složeni tip sadržaja |
složeniTip | Složeni element |
dokumentacija | Element komentara. Pruža informacije o shemi |
element | Element |
proširenje | Proširenja elemenata |
polje | Deklaracija polja. Primjenjuje se unutar elementa |
skupina | Grupa elemenata |
uvoz | Uvoz deklaracije tipa iz druge sheme |
uključiti | Uključivanje različite sheme u postojeći imenski prostor |
ključ | Određivanje elementa ili atributa s ključem koji pokazuje na drugi element |
ključni ref | Određivanje elementa ili atributa na koji ključ pokazuje |
popis | Element koji može sadržavati popis vrijednosti |
redefinirati | Nadjačavanje već deklariranih elemenata |
ograničenje | Ograničenje elementa |
shema | Korijenski element sheme |
selektor | Selektor za odabir XML elemenata |
slijed | Redoslijed ostalih elemenata. Analog operatora "," u DTD |
jednostavanSadržaj | Model čiji sadržaj predstavlja samo znakovne podatke |
jednostavanTip | Jednostavan element |
unija | Element ili atribut koji može imati više značenja |
jedinstvena | Element ili atribut koji mora imati jedinstvena vrijednost |
Atribut | Opis |
---|---|
nabrajanje Popis vrijednosti | |
duljina | Duljina |
maksimalna dužina | Maksimalna duljina |
minLength | Minimalna duljina |
maxExclusive | Maksimalna vrijednost |
maxInclusive | Uključuje maksimalnu vrijednost |
min Ekskluzivno | Minimalna vrijednost |
minUključivo | Uključuje minimalnu vrijednost |
razlomakZifre | Broj decimalnih mjesta u razlomačkim brojevima |
totalDigits | Broj znamenki |
uzorak | Uzorak (uzorak) sadržaja elementa |
zadano | Zadana vrijednost elementa ili atributa |
elementFormDefault | Postavljanje svojstava lokalnog elementa kao globalno definiranog |
fiksni | Fiksna vrijednost elementa ili atributa |
oblik | Lokalno deklarirani elementi definirani su u određenim instancama dokumenta |
itemType | Vrsta stavke popisa |
vrste članova | Vrsta članova koji se koriste u sindikatu |
maxDogađa se | Najveći broj pojavljivanja elementa |
minDogađa se | Najmanji broj pojavljivanja elementa |
mješoviti | Određivanje elementa koji ima mješoviti tip |
Ime | Ime elementa ili atributa |
imenski prostor | Imenski prostor |
noNamespace | Određivanje lokacije dokumenta sheme, |
SchemaLocation | bez rezultirajućih imenskih prostora |
poništavajući | Utvrđivanje da element može biti prazan NULL vrijednost(nula) |
ref | Postavljanje reference na globalno definirani element |
schemaLocation | Lociranje kruga |
supstitucijskaGrupa | Definiranje zamjene elemenata drugim elementima |
targetNamespace | Imenski prostor rezultirajuće sheme |
tip | Vrsta artikla |
koristiti | Je li element potreban ili ne? |
vrijednost | Vrijednost elementa sheme |
xsi:nula | Postavljanje stvarnog sadržaja praznog (NULL) elementa u XML dokumentu |
xsi:schemaLocation | Stvarna lokacija elementa u XML dokumentu |
xsi: vrsta | Stvarni tip elementa u XML dokumentu |
Platforme: 1C:Enterprise 8.3, 1C:Enterprise 8.2, 1C:Enterprise 8.1
Konfiguracije: Sve konfiguracije
2012-11-25
34938
XDTO je mehanizam koji je neophodan prilikom kreiranja i pokretanja web servisa. XDTO paketi koriste se za opisivanje strukture potrebne XML datoteke potrebne za izmjenu podataka iz iu XML.
XML je način da se opiše složena struktura podataka u običnoj tekstualnoj datoteci. Opisuje ne samo same podatke, već i polja u kojima su pohranjeni.
Evo osnovnog primjera XML datoteka:
XML za lutke
Imena (tagovi) korištena u ovu datoteku- root, list, name, el - mogu biti potpuno proizvoljni. Osnovna pravila za izradu XML datoteke odmah su vidljiva iz njene strukture:
- Moguće je ugniježditi elemente;
Početak elementa<Имя>, završetak je isti naziv, ali s dodatkom znaka “/”.
Unutar elementa mogu se nalaziti:
- Ugniježđeni elementi;
- Tekst.
Svaki element može imati svojstva (atribute), njihova vrijednost i naziv su naznačeni. Zabranjeno je koristiti bilo kakve znakove u XML-u, jer se nekoliko njih koristi izravno za XML, na primjer "<» и «>" Način opisa u XML-u vrlo je prikladan za korištenje pri razmjeni s drugima programi trećih strana a koristi se u 1C mehanizmu razmjene podataka.
Imenski prostor
XML datoteka počinje zaglavljem koje opisuje verziju XML-a, kodiranje itd... Zaglavlje u XML-u nije u potpunosti potrebno i vrlo često se jednostavno ne koristi. Zaglavlje također može definirati imenski prostor.
XML datoteke se prenose internetom i mnogi ih razumiju razne programe. Oni se percipiraju - to znači da postoji zaštita u njihovom kodu - ako naiđete na određeni naziv elementa u XML datoteci, tada ga morate percipirati na ovaj način i učiniti upravo to. Dakle, kada koristimo oznaku IBM, postoji prilično velika šansa da će neki drugi program pomisliti da je to njemu poznati IBM, a mi smo pod ovim mislili nešto svoje.
Kako bi se to spriječilo i kako bi se jasno ukazalo na razliku između našeg IBM-a i svih ostalih, u datoteci je moguće navesti ime namespacea - prefiks koji se koristi prije imena elemenata.
Prostor imena možete definirati na sljedeći način - xmlns:Prefix (NameSpace) = “URL”, primjer:
xmlns:store = "http://site.ru"
Zašto je potreban URL? Oni koji su već razmišljali o tome i gledaju dalje - naravno, imenski prostor koji smo izmislili možda također nije jedinstven, tj. može ga koristiti i bilo tko drugi. Zato poseban jedinstveni identifikator, koji također definira izvršitelja imenskog prostora.
Naravno, pretpostavlja se da je osoba koja je navela imenski prostor potpuno poštena. Pokazuje na svoje vlastito web mjesto i ne koristi više različitih imenskih prostora s jednim web mjestom. U pravilu, navodite i URL stranice i URL određene mape na stranici, tako da je moguće stvoriti drugi imenski prostor u bilo kojoj mapi na ovoj stranici, za njegovu upotrebu u bilo kojoj situaciji.
DOM
Objekt je posebna struktura podataka koja je samostalna i sadrži sve svoje podatke.
Budući da XML datoteka opisuje strukturirane podatke, odnosno podatke u obliku strukture koja ima svoja svojstva i slično, prema tome ih možete promatrati kao objekte. Gornji primjer može koristiti objekt LIST sa svojstvima i ugniježđenim elementom.
DOM je način tretiranja XML datoteke ne kao teksta u određenom formatu, već kao skupa objekata s poljima, svojstvima i više.
Na nedostatke ovu metodu rada, postoje visoki zahtjevi za performanse računala, jer DOM obrađuje (formira strukturu u obliku objekata) cijelu XML datoteku odjednom, bez obzira na njezinu veličinu, te datoteke velika veličina(više od 4GB) jednostavno ne može “probaviti”.
Za raščlanjivanje velikih datoteka koristi se SAX; ova metoda raščlanjivanja datoteke temelji se na sekvencijalnom čitanju datoteke, a ne na izgradnji njezine cijele strukture odjednom .
Opis XML datoteke
Ako stalno koristimo datoteku određene strukture za komunikaciju između 2 programa, tada bismo vjerojatno željeli sljedeće:
Koristiti se konkretna imena;
- Da se koriste samo oni elementi koje očekujemo (koji “moraju postojati da bi se koristili u razmjeni”);
- Tako da atributi označavaju samo one vrste koje očekujemo (broj, niz itd.).
Sljedeći formati datoteka dostupni su za opisivanje XML struktura (također pohranjenih u običnoj tekstualnoj datoteci):
DTD proširenje je Document Type Definition;
- Ekstenzija XSD je XML Shema.
Ovi formati opisuju kakav bi dokument trebao biti. Postupak provjere usklađenosti XML-a, koji je opisan u takvoj standardnoj datoteci, naziva se verifikacija.
XDTO
XDTO je 1C objekt koji vam omogućuje dodavanje opisa XML datoteke u konfiguraciju. Točnije, ne opisuje se sama datoteka, već određene XML strukture.
Za označavanje tipova koji se mogu koristiti, koristi se popis, biblioteka tipova, nazvana XDTO tvornica. Ova tvornica specificira ne samo jednostavne tipove (datum, niz, broj) koji se koriste u drugim programima, jezicima itd., već i 1C tipove koji se koriste u 1C iu specifičnoj konfiguraciji.
XDTO Factory uključuje nekoliko paketa. Početni tipovi opisani su u paketu tzv www.w3.org Tipovi podataka u konfiguraciji opisani su u paketu http://v8.1c.ru/8.1/data/enterprise/current-config
Ovi tipovi su imenovani u skladu s nazivima u konfiguratoru uz dodatak engleskog oblika (CatalogRef, DocumentObject, CatalogObject, DocumentRef), na primjer:
CatalogObject.Accounts
Dodavanje XDTO paketa
Došli smo do teme XSLT - načina transformacije XML datoteka u nešto drugo, npr. HTML datoteke. Tema XML-a je iznimno velika i o njoj je napisano više od jedne knjige.
Naš zadatak je razumjeti da nam XDTO omogućuje opis elemenata koji moraju biti u XML paketu koji treba pročitati ili generirati. XDTO paketi se nalaze u konfiguraciji 1C iu grani General - XDTO paketi.
Moguće je dodati XDTO paket u 1C ručno, ali najbolje je dobiti odgovarajuću XSD datoteku s već gotovim Detaljan opis shema. Opis XSD objektne sheme bilo koje konfiguracije može se dobiti klikom na granu Općenito - XDTO paketi i odabirom " XML izvoz sheme konfiguracijskih podataka."
Ovaj tekstualna datoteka, Možete uređivati u Windows Notepadu, dok uklanjate nepotrebne objekte (vama nepotrebne). Možete dodati gotovu XSD shemu u 1C tako da desnom tipkom miša kliknete granu General - XDTO paketi i odaberete "Uvezi XML shemu" iz izbornika.
Rad s XDTO u 1C znači pretvaranje vrijednosti iz XML-a u XML. To se radi pomoću objekata jezika 1C Čitaj XML/XMLWrite.
Kada radite s XDTO, trebate navesti paket s kojim izravno radite. To može biti ili standardni paket (pogledajte raspravu iznad, XDTO) ili paket dodan konfiguraciji.
Paket je identificiran URL-om koji je naveden u paketu. Postoje dva glavna načina rada:
Serijalizacija - automatska promjena vrijednosti od XML do 1C i obrnuto;
Ispunjavanje polja objekta, njegovo kreiranje i pisanje u XML (kao i čitanje iz XML-a i naknadno čitanje njegovih polja).
Zamislimo primjer serijalizacije vrijednosti:
Serializer = Novi XDTO serijalizator (XDTO tvornica);
XML datoteka = Novi XML zapis();
XMLFile.OpenFile("Naziv datoteke");
Serializer.WriteXML(XMLFile, 1C vrijednost);
Inverzna funkcija je serijalizator. XMLReading (), koristi se iz 1C objekata jezika XML Reading.
Primjer pisanja/čitanja objekta:
Imenik XDTOObject = FactoryXDTO.Create(XDTOFactory. Type("http://v8.1c.ru/8.1/data/enterprise/current-config", "CatalogObject.Counterparties"));
Ispunite PropertyValues(DirectoryXDTOObject, Directory.Counterparties.FindByProperties("Name", "Ivanov").Link);
Tada kreirani objekt možete napisati u XML-u na potpuno isti način kao i serijalizacija. Kada čitate XML na isti način kao što je gore objašnjeno, možda neće biti vraćena XDTO vrijednost, već samo takav objekt.
Prilikom kreiranja XDTO objekta, kreira se struktura koja je slična strukturi konfiguracijskog objekta (osim, naravno, ako ne kreirate konfiguracijski objekt iz paketa navedenog u gornjem primjeru). Tipična polja (naziv, šifra itd.) su na engleskom jeziku, a objekt se kreira prazan pa se mora popuniti, svako polje zasebno ili pomoću funkcije FillPropertyValues
XML format vrlo je popularan za razmjenu raznih tekstualni dokumenti između informacijski sustavi. Sposobnost stvaranja jedinstvene strukture za dokumente omogućuje njihovu upotrebu u mnogim područjima - elektroničke knjižnice, WEB, uvoz/izvoz i mnoga druga. Bez mogućnosti ugodan rad s ovim formatom, 1C sustavi ne bi mogli steći takvu popularnost. Budući da 1C aktivno koristi WEB tehnologije, svaki programer mora biti u stanju čitati XML i pisati informacije u njega.
Predstavljanje i čitanje XML datoteke
Jedna od ključnih prednosti XML jezika za označavanje je njegova prilično praktična i intuitivna struktura i sintaksa. Prilikom izrade, autori su postavili cilj stvoriti označni jezik koji bi lako čitali i ljudi i računala. Danas je XML široko razvijen u druge formate, ali je i dalje popularan i naširoko korišten. Struktura XML datoteke izgrađena je prema sljedećoj shemi:
Da bismo razmotrili primjer uvoza podataka u 1C, gornja datoteka bit će dovoljna. Da bi napisana procedura mogla pročitati XML datoteku, dovoljno je u nju proslijediti putanju do same datoteke. To se može učiniti putem sučelja, dopuštajući korisnicima da sami specificiraju datoteku, ili tvrdo kodiranom obradom u tekstu.
Jedan od popularnih načina za rad s XML-om veličine do 100 MB u 1C je korištenje Document Object Model (DOM). Njegovo značenje je sekvencijalna obrada svih čvorova dokumenta predstavljenih u XML-u. U ugrađenom 1C jeziku ovaj algoritam izgleda ovako:
- Izjava o mehanizmima kojima se to događa XML čitanje datoteka; Petlja za pomicanje čvorova;
- Čitanje podataka i atributa u čvoru;
- Izlaz informacija. Ako je potrebno, u ovoj fazi pisanje se može dogoditi u varijablama ili izravno u potrebnim tablicama;
- Završetak mehanizma.
Kao rezultat toga, prikazujemo poruke korisniku s uvezenim podacima. Također možete unijeti sve podatke željenu strukturu te na temelju njega programirati izradu dokumenta ili upisa u imenik. Brzina rada 1C s xml-om prilično je visoka, pa se ovaj format sve više koristi pri razmjeni podataka s drugim izvorima.
Za prijenos informacija trebat će nam i interakcija s datotekama XML format. Pogledajmo primjer zapisa koji koristi objekt XML zapisa 1C platforme i učitaj podatke o stavci. Njegove glavne prednosti su jednostavnost koda i brzina obrade podataka. Algoritam poslužiteljske strane za pisanje XML datoteke može se predstaviti kao nekoliko uzastopnih koraka:
- Povežite se s xml datotekom;
- Kreiramo elemente glave i upisujemo podatke u njih. Ako želite prenijeti veliku količinu informacija u XML datoteku, tada ćete u ovoj fazi koristiti petlje. Budite oprezni i zapamtite da zahtjev za podacima mora biti postavljen prije petlje, a ne u njoj;
- Zatvorite datoteku.
XDTO mehanizam u 1C
Programeri tvrtke 1C stvorili su vlastiti mehanizam za razmjenu informacija putem XML-a - XDTO (XML Data Transfer Objects). Počevši od verzije 8.1, platforma ima mogućnost razmjene podataka s drugim sustavima bez zalaženja u probleme generiranja XML datoteke. Većina tehnički problemi 1C preuzima, a mi samo trebamo navesti podatke potrebne za generiranje XML-a. Istina, za to programer treba unaprijed napraviti neke manipulacije.
Za učitavanje XML datoteke koristeći XDTO, moramo reći 1C strukturu datoteke. Prenosi se skupom dijagrama koji se mogu izraditi u uređivaču teksta ili pomoću specijaliziranog programa. Rezultirajuća datoteka trebala bi opisati opću strukturu i tipove podataka koji se koriste u XML datoteci. Prije čitanja ili pisanja novog XML-a, programer mora učitati svoju shemu u konfiguraciju pod XDTO paketima.
U ovom ćemo slučaju ručno izraditi jednostavan paket kako bi 1C razumio strukturu naše datoteke primjera. Kako bi se generiranje datoteke uspješno dovršilo, u shemi moramo prikazati da imamo element glave i privitak s atributima. Stvorena shema mora se izvesti u datoteku u xsd formatu i prenijeti zajedno s xml, tako da se druga strana ne mora baviti strukturom i ponovno kreirati xdto paket.
Spremi novi XML u HDD Pomoći će algoritam poslužitelja sličan prethodnom. Jedina razlika je potreba za dodavanjem podataka za 1 proizvod u XDTO tvornicu - poseban mehanizam platforme 8.3 1C. Ako postoji potreba za stvaranjem više razina ugniježđivanja, morat ćete opisati svaki element glave.
//Otvorite XML datoteku RecordVFile = New RecordXML; WriteToFile.OpenFile("D:\Nomenclatura.xml", "UTF-8"); //Navedite 1C koju vrstu podataka treba kreirati - glavni element AllProducts = FactoryXDTO.Create(FactoryXDTO.Type("http://wiseadviceXML.org","Proizvodi")); //odaberite podatke za učitavanje SelectionFromDirectory = Directories.Nomenclature.Select(); //Dodajte pojedinačne proizvode u glavni element Dok odabirete iz direktorija.Next() cycle Product = FactoryXDTO.Create(FactoryXDTO.Type("http://wiseadviceXML.org","Product")); Product.Name = Odaberite iz imenika.Name; Product.InitialPrice = String(SelectionFromDirectory.InitialPrice); Svi proizvodi.Dodaj(proizvod); EndCycle; //upisati podatke i zatvoriti datoteku FactoryXDTO.WriteXML(WriteToFile, AllProducts); WriteInFile.Close();Razmatrani mehanizmi prilično su univerzalni i ispravna postavka može riješiti većinu problema. Međutim, postoji dosta nijansi u interakciji između 1C i XML-a. Mnogo je učinkovitije proučavati ih u stvarnim uvjetima, a ne na ispitnim zadacima u kojima obrada XML datoteke rješava prilično uske probleme.
Pogreška koja navodi da datoteka nije u skladu s XSD shemom je uobičajena kada sustav ne može očitati podatke iz izvješća. Općenito, ljudi često čine takve pogreške i s njima se vrlo lako nositi.
Prvo morate razumjeti što XSD shema znači da biste razumjeli s čime vaša datoteka točno nije u skladu.
Dakle, XSD je programski jezik, opisuje strukturu vašeg izvješća. Struktura uključuje, primjerice, parametre sadržaja izvješća, vrste, izgleda, kao i sintaksu podataka, odjeljake koji sadrže informacije.
Ispostavilo se da je XSD shema opis strukture vašeg izvješća, izveden u jednom od programskih jezika. Ako se u izvješće unesu netočni podaci, ono će jednostavno biti nečitljivo za shemu, zbog čega sustav generira grešku da datoteka ne odgovara XSD shemi.
To znači da se podaci koje ste unijeli ne mogu pročitati u programskom jeziku, stoga ih program prepoznaje kao netočne.
Vrijedno je napomenuti da ovaj problem može nastati ili zbog netočno unesenih podataka(na primjer, pogriješili ste prilikom unosa TIN-a organizacije), te zbog netočnog formata unosa podataka (na primjer, naveli ste dodatne razmake ili crtice).
Međutim, to nije jedini razlog zašto datoteka nije usklađena s XSD shemom. Ova greška može se pojaviti i zbog činjenice da vaš uređaj ima zastarjela verzija programa u kojem sačinjavate izvješće, kao i ako sama porezna uprava nema instaliranu nadogradnju programa.
Kako biste riješili pogrešku u XSD shemi, morat ćete provjerite jesu li svi podaci točni, koji ste unijeli, a također provjerite je li došlo do ažuriranja za program u kojem radite. Ipak, prije provjere datoteke, pažljivo pogledajte tekst pogreške koju vam daje.
Činjenica je da u nekim situacijama, nakon teksta koji govori da datoteka ne odgovara shemi, stoji dvotočka i tada je naznačen uzrok ovog problema. Ako sam uzrok pogreške nije naznačen, ažurirajte program na najnoviju verziju.
Nakon dovršetka ažuriranja pokušajte ponovno poslati izvješće. Ako nakon ažuriranja datoteka ponovno daje pogrešku, tada morate tamo potraži problem. Ako radite u programu 1C, tada možete provjeriti datoteku pomoću posebnog gumba pod nazivom "Provjeri na Internetu".
Ako vam prethodne dvije točke nisu pomogle u prepoznavanju problema, onda provjerite jeste li ispunili sva potrebna polja, jeste li ispravno unijeli sve podatke, jer mnogi od njih moraju biti popunjeni brojevima, u tom slučaju je vrlo lako napraviti tipfeler.
Osim toga, trebate provjeriti ima li u svim poljima dodatnih razmaka, crtica i drugih znakova. Ako ste provjerili cijelu datoteku i ne možete pronaći grešku, ili ako ste uspjeli pronaći grešku, ali je ne možete popraviti, onda biste svakako trebali obratite se tehničkoj podršci programu s kojim izrađujete izvješće ili njegovim programerima.
Kako biste riješili ovaj problem uz pomoć programera programa, morat ćete poslati neke dokumente, kao što je sama datoteka u kojoj se nalazi izvješće, protokol obavijesti koji vam daje računalo.
Osim toga, programeri od vas mogu tražiti neke podatke o vašoj organizaciji, kao i druge podatke za koje misle da su potrebni; to morate dati, inače problem neće biti riješen.
Dakle, ako pokušavate poslati izvješće poreznoj upravi, ali datoteka daje pogrešku koja kaže da nije u skladu s XSD shemom, to znači da je vaše izvješće ne može se poslati, jer program ne može pročitati podatke koje ste unijeli.
Ali ne biste trebali paničariti, jer u većini slučajeva ovaj problem riješen sasvim jednostavno i brzo. Osim toga, ako ste izvješće poslali na vrijeme, ali ono nije prihvaćeno zbog neispravnog formata, tada porezna nema pravo kaznitišto niste podnijeli izvješće na vrijeme. Prije svega, obratite pozornost na tekst same pogreške; možda je razlog njezine pojave već naznačen tamo.
Zapravo, mogu postojati samo dva razloga. Ili ga imaš instaliran na svom uređaju? stara verzija programa, s kojim napravite izvješće, u ovom slučaju lako je riješiti problem, samo trebate preuzeti najviše Zadnje ažuriranje, obično se može pronaći na web stranici programa koji koristite. Drugi razlog može biti to što ste neke podatke netočno ispunili ili niste ispunili niti jedno polje.
U tom slučaju morate provjeriti svoju datoteku, ali morate zapamtiti da program to može čak smatrati pogreškom neparan prostor. Ako ne možete pronaći uzrok greške, možete kontaktirati tehnička podrška programe, gdje će stručnjaci sigurno pomoći u rješavanju vašeg problema.