Gamybos operacijos sukūrimas, koregavimas, perkėlimas, trynimas.
Informacija apie autorizaciją, bendruosius parametrus ir klaidų kodus: Rivile API v2 naudojimo pagrindai
method : EDIT_I15params :
oper :
I - naujo dokumento sukūrimas (numatytasis)U - dokumento koregavimasP - dokumento perkėlimas D - dokumento ištrynimasdata: perduodami duomenys:
I15 - Gamybos operacijos antraštė (i15) Yra galimybė dirbti su papildomomis dimensijomis, jeigu tokios naudojamos Rivile GAMA sistemoje. Tam naudojami tag'ai <I49_DIM01> ... <I49_DIM15>
Kuriant naują gamybos operaciją yra galimybė įkelti komponentes nurodytas komplektuojamos prekės kortelėje, tam naudojamas tag'as <KOMP_TIK_MEDZIAGOS>. Jeigu tag'o reikšmė lygi 1, pusgaminiai yra išskleidžiami iki detalių medžiagų. Jeigu tag'o reikšmė - 0, pusgaminiai neskaidomi.
Kuriant naują operaciją ir pasirinkus įkelti gaminio komponentes, tag'as <KOMP_APJUNGTI_VIENODAS> su reikšme 1 nurodo, kad importuojamos vienodos komponentes turi būti sumuojamos.
Kuriant naują operaciją ir pasirinkus įkelti gaminio komponentes, tag'as <KOMP_KITI_MATAVIMAI> nurodo, jog leidžiama komponentes parinkti iš likučių su objektu ir serija pagal tam tikrą tvarką. Tvarka nurodoma aparašant parametrą. Galimos reikšmės I07_KODAS_OS, I07_SERIJA, taip pat yra galimybė naudoti rūšiavimo kryptis ASC, DESC
<body>
<method>EDIT_I15</method>
<params>
<oper>I</oper>
</params>
<data>
<I15>
<I15_DOK_NR>SUR00006</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 -->
</I15>
</data>
</body>
{
"method": "EDIT_I15",
"params": {
"oper": "I"
},
"data": {
"I15": {
"I15_DOK_NR": "SUR00006",
"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"
}
}
}
<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
<I15>
<I15_KODAS_KA>010R00000001</I15_KODAS_KA>
<I15_DOK_NR>SUR00006</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>1200.00</I15_H_COST>
<I15_PARD_K>1000.0000</I15_PARD_K>
<I15_GALIOJA>3999-01-01T00:00:00</I15_GALIOJA>
<I15_IMP_EXP>0</I15_IMP_EXP>
<I15_USERIS>0HLPUFX</I15_USERIS>
<I15_R_DATE>2020-11-03T16:21:00</I15_R_DATE>
<I15_ADDUSR>0HLPUFX</I15_ADDUSR>
<I15_SUMA_NOR>999999999.99</I15_SUMA_NOR>
<I15_SERTIFIKATAS></I15_SERTIFIKATAS>
<I15_KODAS_OS_C></I15_KODAS_OS_C>
<I15_PAV></I15_PAV>
<I15_KODAS_PE></I15_KODAS_PE>
<I15_KODAS1></I15_KODAS1>
<I15_KODAS2></I15_KODAS2>
<I15_SKAICIUS>0.0000</I15_SKAICIUS>
<I15_KODAS_SM></I15_KODAS_SM>
<I15_BUSENA>1</I15_BUSENA>
<I49_DIM01>MEN1</I49_DIM01>
</I15>
</RET_DOK>
{
"I15_KALH": {
"I15_KODAS_KA": "010R00000002",
"I15_DOK_NR": "SUR00007",
"I15_UZS_NR": "",
"I15_UZS_DATA": "2020-11-03T00:00:00",
"I15_OP_DATA": "2020-11-03T00:00:00",
"I15_TIPAS": 1,
"I15_KODAS_IS": "01",
"I15_KODAS_PS": "004",
"I15_KODAS_OS": "",
"I15_SERIJA": "",
"I15_KODAS_US": "VNT",
"I15_FRAKCIJA": 1,
"I15_KIEKIS": 2,
"I15_KODAS_US_A": "VNT",
"I15_FRAKCIJA_A": 1,
"I15_KIEKIS_A": 2,
"I15_PERKELTA": 1,
"I15_H_COST": 1200,
"I15_PARD_K": 1000,
"I15_GALIOJA": "3999-01-01T00:00:00",
"I15_IMP_EXP": 0,
"I15_USERIS": "0HLPUFX",
"I15_R_DATE": "2020-11-03T16:30:24",
"I15_ADDUSR": "0HLPUFX",
"I15_SUMA_NOR": 9.9999999999E8,
"I15_SERTIFIKATAS": "",
"I15_KODAS_OS_C": "",
"I15_PAV": "",
"I15_KODAS_PE": "",
"I15_KODAS1": "",
"I15_KODAS2": "",
"I15_SKAICIUS": 0,
"I15_KODAS_SM": "",
"I15_BUSENA": 1,
"I49_DIM01": "MEN1"
}
}
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos duomenų klaidos
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id>1266808491.53b102a5.1604414179963</id>
<durationMs>10</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_KIEKIS_A>2</I15_KIEKIS_A><I15_KODAS_US>VNT</I15_KODAS_US><I15_KODAS_PS>004</I15_KODAS_PS><I15_FRAKCIJA_A>1</I15_FRAKCIJA_A><I15_UZS_DATA>2020-11-03</I15_UZS_DATA><I15_PERKELTA>2</I15_PERKELTA><I15_KODAS_IS>01</I15_KODAS_IS><I15_KIEKIS>2</I15_KIEKIS><I15_KODAS_US_A>VNT</I15_KODAS_US_A><I15_OP_DATA>2020-11-03</I15_OP_DATA><I15_TIPAS>1</I15_TIPAS></I15></data>
<dataErrors>
<dataError>
<tag>I15_DOK_NR</tag>
<code>16057</code>
<message>Nenurodytas dokumento numeris</message>
</dataError>
</dataErrors>
</error>
</errors>
</RET_DOK>
Pavyzdys, kai norima įkelti gaminio komponentes, kurios bus skaidomos iki detalios medžiagos. Medžiagos bus sumuojamos. Komponentes leidžiama parinkti iš likučių pagal tam tikrą tvarką.
{
"method": "EDIT_I15",
"params": {
"oper": "I"
},
"data": {
"I15": {
"I15_TIPAS": 1,
"I15_KODAS_IS": "IM",
"I15_KODAS_PS": "GAMINYS1",
"I15_KODAS_US": "VNT",
"I15_FRAKCIJA": 1,
"I15_KIEKIS": 16,
"I15_KODAS_US_A": "VNT",
"I15_FRAKCIJA_A": 1,
"I15_KIEKIS_A": 16,
"KOMP_TIK_MEDZIAGOS": 1,
"KOMP_APJUNGTI_VIENODAS": 1,
"KOMP_KITI_MATAVIMAI": "I17_KODAS_OS ASC,I17_SERIJA"
}
}
}
Koregavimas, trynimas ir perkėlimas vyksta pagal atitinkamos lentelės raktą (Primary Key)
Koreguojant informaciją bus koreguojami tik perduodami laukai.
pvz koregavimas:
<body>
<method>EDIT_I15</method>
<params>
<oper>U</oper>
</params>
<data>
<I15>
<I15_KODAS_KA>010R00000002</I15_KODAS_KA>
<I15_DOK_NR>SUR0000A1</I15_DOK_NR>
</I15>
</data>
</body>
pvz trynimas:
<body>
<method>EDIT_I15</method>
<params>
<oper>D</oper>
</params>
<data>
<I15>
<I15_KODAS_KA>010R00000002</I15_KODAS_KA>
</I15>
</data>
</body>
pvz perkėlimas:
<body>
<method>EDIT_I15</method>
<params>
<oper>P</oper>
</params>
<data>
<I15>
<I15_KODAS_KA>010R00000002</I15_KODAS_KA>
</I15>
</data>
</body>
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'ApiKey: uUCz6UD.sKVrjaWRDJAH1c7l4qL2nOoN2K0jARkvuHDdYsss',
'Content-Type: application/json',
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{
"method": "EDIT_I15",
"params": {
"oper": "I"
},
"data": {
"I15": {
"I15_DOK_NR": "SUR00006",
"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
}
}
}');
$response = curl_exec($ch);
curl_close($ch);
Gamybos operacijos antraštės lentelė
| Laukas | Tipas | Aprašymas | Pastabos naudojant EDIT metodus |
|---|---|---|---|
| I15_KODAS_KA | C(12) | Operacijos numeris | Privalomas , kai oper=U,D,P |
| I15_DOK_NR | C(12) | Dokumento numeris | |
| I15_UZS_NR | C(12) | Užsakymo numeris | |
| I15_UZS_DATA | T(8) | Užsakymo data | |
| I15_OP_DATA | T(8) | Operacijos data | |
| I15_TIPAS | N(1) | Tipas:1-surinkimas,2-sur.užsakymas,3-išbarstymas,4-išb.užsakymas | |
| I15_KODAS_IS | C(12) | Padalinio kodas | |
| I15_KODAS_PS | C(12) | Gaminio kodas | |
| I15_KODAS_OS | C(12) | Objekto kodas | |
| I15_SERIJA | C(12) | Serija | |
| I15_KODAS_US | C(12) | Pagrindinis matavimo vieneto kodas | |
| I15_FRAKCIJA | N(4) | Frakcija pagrindiniu matu | |
| I15_KIEKIS | N(14) | Kiekis pagrindiniu matu | |
| I15_KODAS_US_A | C(12) | Alternatyvaus matavimo vieneto kodas | |
| I15_FRAKCIJA_A | N(4) | Alternatyvaus mato frakcija | |
| I15_KIEKIS_A | N(14) | Alternatyvus kiekis | |
| I15_PERKELTA | N(1) | Perkėlimo požymis:1-neperkelta,2-perkelta,3-koreguota | |
| I15_H_COST | N(12,2) | Gaminio savikaina | |
| I15_PARD_K | N(12,4) | Pardavimo kaina | |
| I15_GALIOJA | T(8) | Galiojimo data | |
| I15_IMP_EXP | N(1) | Rezervas | |
| I15_USERIS | C(12) | Kas koregavo | |
| I15_R_DATE | T(8) | Kada koregavo | |
| I15_ADDUSR | C(12) | Kas sukūrė | |
| I15_SUMA_NOR | N(12,2) | Darbų normatyvinė suma | |
| I15_SERTIFIKATAS | C(12) | Sertifikatas | |
| I15_KODAS_OS_C | C(12) | Centras | |
| I15_PAV | C(40) | Operacijos aprašymas | |
| I15_KODAS_PE | C(12) | Pamainos kodas | |
| I15_KODAS1 | C(12) | Rezervas 1 | |
| I15_KODAS2 | C(12) | Rezervas 2 | |
| I15_SKAICIUS | N(12,4) | Rezervas 3 | |
| I15_KODAS_SM | C(12) | Asmuo | |
| I15_KODAS_LS_1 | C(12) | Logistika 1 | |
| I15_KODAS_LS_2 | C(12) | Logistika 2 | |
| I15_KODAS_LS_3 | C(12) | Logistika 3 | |
| I15_KODAS_LS_4 | C(12) | Logistika 4 | |
| I15_KODAS_ZN | C(12) | Zona | |
| I15_BUSENA | N(3) | Būsena | |
| I15_APRASYMAS1 | C(150) | Aprašymas 1 | |
| I15_APRASYMAS2 | C(150) | Aprašymas 2 | |
| I15_APRASYMAS3 | C(150) | Aprašymas 3 | |
| I15_KODAS_KS | C(12) | Klientas | nuo v116.0000 |
| I49_DIM01, ... , I49_DIM15 | C(12) | Dimensijos | |
| KOMP_TIK_MEDZIAGOS | N(1) | Nurodžius bet kokią reikšmę bus įkeliamos gaminio komponentes. Jeigu tag'o reikšmė lygi 1, pusgaminiai yra išskleidžiami iki detalių medžiagų. Jeigu tag'o reikšmė - 0, pusgaminiai neskaidomi. | |
| KOMP_APJUNGTI_VIENODAS | N(1) | Jei reikšmė lygi 1, importuojamos vienodos komponentes yra sumuojamos. | |
| KOMP_KITI_MATAVIMAI | C(50) | Nurodoma, kad komponentes nurašomos iš likučių atsižvelgiant į tam tikrą tvarką. Tvarkai aprašyti gali būti naudojami laukai I17_SERIJA, I17_KODAS_OS, taip pat kryptis ASC, DESC. | |
| kiekis_u | N(12,3) | Alternatyvus kiekis dešimtainėje išraiškoje | * |
| bar_kodas | C(12) | Barkodas | * |
* jeigu naudojami laukai bar_kodas ir kiekis_u, tuomet eilutės kodas yra automatiškai užpildomas pagal barkodą ir kiekis išverčiamas iš dešimtainio kiekio į kiekius ir frakcijas. Jeigu naudojamas bar_kodas*, tuomet laukų I15_KODAS_PS, I15_PAV, I15_KODAS_US nebūtina nurodyti - jie randami pagal barkodo informaciją.