Naujos gamybos operacijos sukūrimas (kartu su detaliomis eilutėmis).
Informacija apie autorizaciją, bendruosius parametrus ir klaidų kodus: Rivile API v2 naudojimo pagrindai
method : EDIT_I15_FULLparams:
errorAction - klaidos parametras nurodantis koks veiksmas bus atliekamas įvykus klaidai gamybos operacijos formavimo metu, kai yra sukuriamas dokumentas (I15) ir gaunama klaida vykdant veiksmus su I16 operacijomis. Parametras gali turėti tris EXIT, CONTINUE, ROLLBACK (default reikšmė). Reikšmė turi būti paduodama dydžiosiomis raidėmis!data: perduodami duomenys:
errorAction reikšmė turi būti paduodama dydžiosiomis raidėmis!
errorAction reikšmių aprašymai:
| Reikšmė | Aprašymas |
|---|---|
| ROLLBACK (default reikšmė) | Įvykus klaidai tolimesnės procedūros nebus vykdamos, bus ištrinamas dokumentas (I15) ir grąžinama klaida. Klaidos statusas 400 |
| EXIT | Įvykus klaidai tolimesnės procedūros nebus vykdamos, bus grąžinamas sukurtas dokumentas (I15) ir klaidų sąrašas. Klaidos statusas 207 |
| CONTINUE | Įvykus klaidai procedūros bus vykdamos iki pabaigos, o klaidos dedamos į sąrašą. Grąžinamas sukurtas dokumentas (I15) ir klaidų sąrašas pabaigoje. Klaidos statusas 207 |
Jeigu bus klaida bet kuriame įraše (status 400) - bus nesukuriamas dokumentas iš viso, grąžinama klaida ties įrašu, kuriame buvo klaida kartu su klaidos kodais!
Yra galimybė dirbti su papildomomis dimensijomis, jeigu tokios naudojamos Rivile GAMA sistemoje. Tam naudojami tag'ai <I49_DIM01> ... <I49_DIM15>
Jegu dirbama su rinkinias, tuomet <I16_KODAS_OS> atitinka rinkinio kodą. Taip pat yra galimybė rinkinio kodą paduoti dalimis - tam naudojami tag'ai <K45_RIN01> ... <K45_RIN15>. Jeigu bus paduotI ir <I16_KODAS_OS> ir <K45_RIN01> ... <K45_RIN15> tag'ai, aukštesnį prioritetą turi <I16_KODAS_OS>. Rinkinio kodo iš anksto kurti nereikia, jis bus sukurtas automatiškai.
pvz application/xml:
<body>
<method>EDIT_I15_FULL</method>
<params>
<errorAction>CONTINUE</errorAction>
</params>
<data>
<I15>
<I15_DOK_NR>SUR000010</I15_DOK_NR>
<I15_UZS_DATA>2020-11-03</I15_UZS_DATA>
<I15_OP_DATA>2020-11-03</I15_OP_DATA>
<I15_TIPAS>1</I15_TIPAS>
<I15_KODAS_IS>01</I15_KODAS_IS>
<I15_KODAS_PS>004</I15_KODAS_PS>
<I15_KODAS_US>VNT</I15_KODAS_US>
<I15_FRAKCIJA>1</I15_FRAKCIJA>
<I15_KIEKIS>2</I15_KIEKIS>
<I15_KODAS_US_A>VNT</I15_KODAS_US_A>
<I15_FRAKCIJA_A>1</I15_FRAKCIJA_A>
<I15_KIEKIS_A>2</I15_KIEKIS_A>
<I15_H_COST>1200.00</I15_H_COST>
<I49_DIM01>MEN1</I49_DIM01> <!--Jeigu naudojamos dimensijos -->
<I16>
<I16_TIPAS>1</I16_TIPAS>
<I16_KODAS_PS>005</I16_KODAS_PS>
<I16_KODAS_US_A>VNT</I16_KODAS_US_A>
<I16_FRAKCIJA_A>1</I16_FRAKCIJA_A>
<I16_KIEKIS_A>2</I16_KIEKIS_A>
<I16_KODAS_US>VNT</I16_KODAS_US>
<I16_FRAKCIJA>1</I16_FRAKCIJA>
<I16_KIEKIS>2</I16_KIEKIS>
<I49_DIM01>MEN1</I49_DIM01> <!--Jeigu naudojamos dimensijos -->
<K45_RIN01>RINKINYS</K45_RIN01> <!--Jeigu naudojami rinkiniai -->
</I16>
<I16>
<I16_TIPAS>1</I16_TIPAS>
<I16_KODAS_PS>005</I16_KODAS_PS>
...
</I16>
</I15>
</data>
</body>
pvz application/json:
{
"method": "EDIT_I15_FULL",
"params": {
"errorAction": "CONTINUE"
},
"data": {
"I15": {
"I15_DOK_NR": "SUR000010",
"I15_UZS_DATA": "2020-11-03",
"I15_OP_DATA": "2020-11-03",
"I15_TIPAS": 1,
"I15_KODAS_IS": "01",
"I15_KODAS_PS": "004",
"I15_KODAS_US": "VNT",
"I15_FRAKCIJA": 1,
"I15_KIEKIS": 2,
"I15_KODAS_US_A": "VNT",
"I15_FRAKCIJA_A": 1,
"I15_KIEKIS_A": 2,
"I15_H_COST": 1200.00,
"I49_DIM01": "MEN1",
"I16":[
{
"I16_TIPAS": 1,
"I16_KODAS_PS": "005",
"I16_KODAS_US_A": "VNT",
"I16_FRAKCIJA_A": 1,
"I16_KIEKIS_A": 2,
"I16_KODAS_US": "VNT",
"I16_FRAKCIJA": 1,
"I16_KIEKIS": 2,
"I49_DIM01": "MEN1",
"K45_RIN01": "RINKINYS"
}
]
}
}
}
Grąžinama informacija XML formate tarp tag'ų <RET_DOK>..</RET_DOK>.
pvz response:
<?xml version='1.0'?>
<RET_DOK>
<I15>
<I15_KODAS_KA>010R00000009</I15_KODAS_KA>
<I15_DOK_NR>SUR000010</I15_DOK_NR>
<I15_UZS_NR></I15_UZS_NR>
<I15_UZS_DATA>2020-11-03T00:00:00</I15_UZS_DATA>
<I15_OP_DATA>2020-11-03T00:00:00</I15_OP_DATA>
<I15_TIPAS>1</I15_TIPAS>
<I15_KODAS_IS>01</I15_KODAS_IS>
<I15_KODAS_PS>004</I15_KODAS_PS>
<I15_KODAS_OS></I15_KODAS_OS>
<I15_SERIJA></I15_SERIJA>
<I15_KODAS_US>VNT</I15_KODAS_US>
<I15_FRAKCIJA>1</I15_FRAKCIJA>
<I15_KIEKIS>2</I15_KIEKIS>
<I15_KODAS_US_A>VNT </I15_KODAS_US_A>
<I15_FRAKCIJA_A>1</I15_FRAKCIJA_A>
<I15_KIEKIS_A>2</I15_KIEKIS_A>
<I15_PERKELTA>1</I15_PERKELTA>
<I15_H_COST>0.00</I15_H_COST>
<I15_PARD_K>1000.0000</I15_PARD_K>
<I49_DIM01>MEN1</I49_DIM01>
...
<I16>
<I16_KODAS_KA>010R00000009</I16_KODAS_KA>
<I16_EIL_NR>1</I16_EIL_NR>
<I16_TIPAS>1</I16_TIPAS>
<I16_KODAS_PS>005</I16_KODAS_PS>
<I16_KODAS_OS></I16_KODAS_OS>
<I16_SERIJA></I16_SERIJA>
<I16_PERKELTA>1</I16_PERKELTA>
<I16_KODAS_US_A>VNT</I16_KODAS_US_A>
<I16_FRAKCIJA_A>1</I16_FRAKCIJA_A>
<I49_DIM01>MEN1</I49_DIM01>
<K45_RIN01>RINKINYS</K45_RIN01>
...
</I16>
<I16>
<I16_KODAS_KA>010R00000009</I16_KODAS_KA>
<I16_EIL_NR>2</I16_EIL_NR>
<I16_TIPAS>1</I16_TIPAS>
<I16_KODAS_PS>005</I16_KODAS_PS>
...
</I16>
</I15>
</RET_DOK>
207 statusas gaunamas, kai procedūros yra vykdamos perduodant parametrą errorAction su reikšme EXIT arba CONTINUE ir gaunama klaida kažkurioje iš procedūrų, pvz.:
<RET_DOK>
<I15>
<I15_KODAS_KA>010R00000010</I15_KODAS_KA>
<I15_DOK_NR>SUR000011 </I15_DOK_NR>
<I15_UZS_NR></I15_UZS_NR>
<I15_UZS_DATA>2020-11-03T00:00:00</I15_UZS_DATA>
<I15_OP_DATA>2020-11-03T00:00:00</I15_OP_DATA>
<I15_TIPAS>1</I15_TIPAS>
<I15_KODAS_IS>01</I15_KODAS_IS>
<I15_KODAS_PS>004</I15_KODAS_PS>
<I15_KODAS_OS></I15_KODAS_OS>
<I15_SERIJA></I15_SERIJA>
<I15_KODAS_US>VNT</I15_KODAS_US>
<I15_FRAKCIJA>1</I15_FRAKCIJA>
...
<I16>
<I16_KODAS_KA>010R00000010</I16_KODAS_KA>
<I16_EIL_NR>1</I16_EIL_NR>
<I16_TIPAS>1</I16_TIPAS>
<I16_KODAS_PS>005</I16_KODAS_PS>
<I16_KODAS_OS></I16_KODAS_OS>
<I16_SERIJA></I16_SERIJA>
<I16_PERKELTA>1</I16_PERKELTA>
<I16_KODAS_US_A>VNT</I16_KODAS_US_A>
<I16_FRAKCIJA_A>1</I16_FRAKCIJA_A>
<I16_KIEKIS_A>2</I16_KIEKIS_A>
...
</I16>
</I15>
<errors>
<error>
<data><I15><I16_FRAKCIJA_A>1</I16_FRAKCIJA_A><I16_KIEKIS>2</I16_KIEKIS><Id_h>9</Id_h><I16_KODAS_US>VNT</I16_KODAS_US><I16_ADDUSR>0HLPUFX</I16_ADDUSR><I16_KODAS_US_A>VNT</I16_KODAS_US_A><response_type>2</response_type><I16_FRAKCIJA>1</I16_FRAKCIJA><Oper>I</Oper><I16_TIPAS>1</I16_TIPAS><I16_KIEKIS_A>2</I16_KIEKIS_A><Id>15</Id><i16_kodas_ka>010R00000010</i16_kodas_ka><I16_USERIS>0HLPUFX</I16_USERIS></I15></data>
<dataErrors>
<dataError>
<tag>I16_KODAS_PS</tag>
<code>19014</code>
<message>Nerastas prekės/paslaugos kodas</message>
</dataError>
</dataErrors>
</error>
</errors>
</RET_DOK>
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos DB klaidos, pvz:
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id>1266808491.14f6c0fd.1605536010706</id>
<durationMs>11</durationMs>
<errorMessage>Nepavyko įvykdyti metodo</errorMessage>
<document/>
<errors>
<error>
<data><I15><I15_FRAKCIJA>1</I15_FRAKCIJA><I15_H_COST>1200.00</I15_H_COST><I15_ADDUSR>0HLPUFX</I15_ADDUSR><I15_DOK_NR>SUR000011</I15_DOK_NR><I15_KIEKIS_A>2</I15_KIEKIS_A><Oper>I</Oper><I15_KODAS_US>VNT</I15_KODAS_US><ErrorAction>ROLLBACK</ErrorAction><I15_USERIS>0HLPUFX</I15_USERIS><I15_KODAS_PS>004</I15_KODAS_PS><I15_FRAKCIJA_A>1</I15_FRAKCIJA_A><I15_UZS_DATA>2020-11-03T00:00:00</I15_UZS_DATA><I15_KODAS_IS>01</I15_KODAS_IS><I15_KIEKIS>2</I15_KIEKIS><Id>10</Id><I15_KODAS_US_A>VNT</I15_KODAS_US_A><I15_OP_DATA>2020-11-03T00:00:00</I15_OP_DATA><I15_TIPAS>1</I15_TIPAS></I15></data>
<dataErrors>
<dataError>
<tag>I15_DOK_NR</tag>
<code>16058</code>
<message>Toks dokumento numeris jau yra</message>
</dataError>
</dataErrors>
</error>
</errors>
</RET_DOK>
Nuoroda į lentelės aprašymą: (i15)
Nuoroda į lentelės aprašymą: (i16)