Päringute näidislingid: erinevus redaktsioonide vahel

Allikas: Excellent || Opendoc
Mine navigeerimisribale Mine otsikasti
Resümee puudub
1. rida: 1. rida:
=== Objektid ===
=== Objektid ===
Kõik objektid: <code><nowiki>https://mars.excellent.ee:4455/api/1/objvc</nowiki></code>  
Kõik objektid: <code><nowiki>https://mars.excellent.ee:4455/api/6/objvc</nowiki></code>  


Üks objekt, ANNIKA: <code><nowiki>https://mars.excellent.ee:4455/api/1/objvc?sort=Code&range=annika</nowiki></code>  
Üks objekt, ANNIKA: <code><nowiki>https://mars.excellent.ee:4455/api/6/objvc?sort=Code&range=annika</nowiki></code>  


Objektide vahemik ANNIKA kuni KORISTAJA (vahele jääb KONT): <code><nowiki>https://mars.excellent.ee:4455/api/1/objvc?sort=Code&range=annika:koristaja</nowiki></code>
Objektide vahemik ANNIKA kuni KORISTAJA (vahele jääb KONT): <code><nowiki>https://mars.excellent.ee:4455/api/6/objvc?sort=Code&range=annika:koristaja</nowiki></code>


Objektide vahemik ANNIKA kuni KORISTAJA, tagastatavad väljad on Kood, Nimi ja Klass: <code><nowiki>https://mars.excellent.ee:4455/api/1/objvc?sort=Code&range=annika:koristaja&fields=Code,Comment,OTCode</nowiki></code>
Objektide vahemik ANNIKA kuni KORISTAJA, tagastatavad väljad on Kood, Nimi ja Klass: <code><nowiki>https://mars.excellent.ee:4455/api/6/objvc?sort=Code&range=annika:koristaja&fields=Code,Comment,OTCode</nowiki></code>


Vastus: <syntaxhighlight lang="xml" line="1">
Vastus: <syntaxhighlight lang="xml" line="1">

Redaktsioon: 6. veebruar 2019, kell 10:56

Objektid

Kõik objektid: https://mars.excellent.ee:4455/api/6/objvc

Üks objekt, ANNIKA: https://mars.excellent.ee:4455/api/6/objvc?sort=Code&range=annika

Objektide vahemik ANNIKA kuni KORISTAJA (vahele jääb KONT): https://mars.excellent.ee:4455/api/6/objvc?sort=Code&range=annika:koristaja

Objektide vahemik ANNIKA kuni KORISTAJA, tagastatavad väljad on Kood, Nimi ja Klass: https://mars.excellent.ee:4455/api/6/objvc?sort=Code&range=annika:koristaja&fields=Code,Comment,OTCode

Vastus:

<data register="ObjVc" sequence="226655" sort="Code" key="Code" range="annika:koristaja" systemversion="8.4.21.1414">
	<ObjVc>
		<Code>ANNIKA</Code>
		<Comment>Annika Ainus</Comment>
		<OTCode>ARUAN</OTCode>
	</ObjVc>
	<ObjVc>
		<Code>KONT</Code>
		<Comment>Kontor</Comment>
		<OTCode/>
	</ObjVc>
	<ObjVc>
		<Code>KORISTAJA</Code>
		<Comment>Koristaja objekt</Comment>
		<OTCode>ARUAN</OTCode>
	</ObjVc>
</data>

Artiklid

kõik artiklid ühest ettevõttest:

https://mars.excellent.ee:4455/api/6/INVc

1 artikkel:

https://mars.excellent.ee:4455/api/6/INVc?sort=Code&range=1002

selle ühe artikli 5 välja:

https://mars.excellent.ee:4455/api/6/INVc?sort=Code&range=1002&fields=Code,Name,Unittext,UPrice1,LastBasePriceChange

Kõik artiklid 5 väljaga:

https://mars.excellent.ee:4455/api/6/INVc?fields=Code,Name,Unittext,UPrice1,LastBasePriceChange

updates_after kasutamine

Kõikide päringute liigub kaasa sequence numbriline väärtus

Sequence väärtust uuendatakse iga päringu ajal. Ehk iga päring saab alati uue sequence väärtuse.

Näide:

Teen päringu https://mars.excellent.ee:4455/api/6/INVc

Vastuse päis:

<data register="INVc" sequence="226655" sort="Code" key="Code" range="annika:koristaja" systemversion="8.4.21.1414">
	<INVc>

Järgmise päring saan teha sellisel kujul:

Teen päringu https://mars.excellent.ee:4455/api/6/INVc?updates_after=226655

Selle vastuseks on artiklid, mis on alates viimasest päringust kuni praeguse hetkeni muutunud.

Teadaolev Rest API päringute sequence numbrite käitumise omapära

Kui teha Standard Booksile versiooniuuendus, siis võib olla olukord, kus sequence numbrite järjekord läheb suure sammu tagasi. Ehk, vanas versioonis on viimane sequence "226655", peale versiooniuuendust on see väärtus "10200". Ehk palju väikesem. Tulemuseks on vastus, mida päringut tegev infosüsteem ilmselt ei oota. Ning päring tehakse Standard Booksi ajaloos mitte-eksisteeriva numbriga "226655". Vastuseks võib olla terve päritava registri sisu.

Lahendus: peale versiooniuuendust teha üks päring käsitsi, kasutades curli, soapi, mõnda posterit ning veenduda sequence numbri suurusjärgu korrektsuses. Kui sequence on vale väärtusega, parandada see oma päringut teostavas tarkvaras käsitsi.

PS: Kui päringut tegev infosüsteemi kood/andmebaas suudavad arvesse võtta korduvate dokumentide esinemst, siis võib seda olukorda ka ignoreerida - esimene päring peale versiooniuuendust võib olla lihtsalt suurem, edasised sequence numbrid hakkavad jälle korrektselt ise edasi jooksma.