Back to Gidas

EDIT_I10

internetiniai-underscore-moduliai-api-underscore-rest-edit-underscore-i10.md

latest9.8 KB
Original Source

PDF

Pradžia Internetiniai moduliai Rivile API v2 (REST web servisai) EDIT_I10

EDIT_I10

Aprašymas

Vidinio dokumento detalios informacijos koregavimas.

Specifikacija

Informacija apie autorizaciją, bendruosius parametrus ir klaidų kodus: Rivile API v2 naudojimo pagrindai

Body
  • method : EDIT_I10

  • params :

    • oper :
      • I - naujo įrašo sukūrimas
      • U - įrašo koregavimas
      • D - įrašo ištrynimas
  • data: perduodami duomenys:

    • I10 - atitinkamos lentelės laukai (i10)

Koreguoti galima tik to paties API vartotojo sukurtas operacijas. Teisės valdomos parametru RGI_ALL_EDIT

Naudojant tag'ą <obj_ser_order> yra galimybė prekių likučius nurašyti kitu objektu ir serija, nei buvo paduota. Detaliau čia

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 <I10_KODAS_OS1> ir <I10_KODAS_OS2>atitinka rinkinio kodą. Taip pat yra galimybė rinkinio kodą paduoti dalimis - tam naudojami tag'ai <K45_RIN01> ... <K45_RIN15> ir <K45_2_RIN01> ... <K45_2_RIN15>. Jeigu bus paduotI ir <I10_KODAS_OS1> ir <K45_RIN01> ... <K45_RIN15> tag'ai, aukštesnį prioritetą turi <I10_KODAS_OS1>. Rinkinio kodo iš anksto kurti nereikia, jis bus sukurtas automatiškai.

Norint atnaujinti rinkinio kodą, naujas kodas pateikiamas naudojant tag'ą <I10_KODAS_OS1>. Jeigu norima naują rinkinio kodą paduoti dalimis - būtina paduoti tuščią tagą <I10_KODAS_OS1> ir tada atskiras dalis naudojant tag'us <K45_RIN01> ... <K45_RIN15>.

pvz application/xml:

xml
<body>
    <method>EDIT_I10</method>
    <params>
        <oper>I</oper>
    </params>
    <data>
      <I10>
         <I10_KODAS_VD>010R00000063</I10_KODAS_VD>
         <I10_TIPAS>1</I10_TIPAS>
         <bar_kodas>777777777777</bar_kodas>
         <kiekis_u>1</kiekis_u>
         <I49_DIM01>MEN1</I49_DIM01> <!--Jeigu naudojamos dimensijos -->
         <K45_RIN01>RINKINYS</K45_RIN01> <!--Jeigu naudojami rinkiniai -->
         <K45_2_RIN01>RINKINYS</K45_2_RIN01> <!--Jeigu naudojami rinkiniai -->
     </I10> 
    </data>
</body>

pvz application/json:

json
{
    "method": "EDIT_I10",
    "params": {
        "oper": "I"
    },
    "data": {
        "I10": {
            "I10_KODAS_VD": "010R00000063",
            "I10_TIPAS": 1,
            "bar_kodas": "777777777777",
            "kiekis_u":1,
            "I49_DIM01": "MEN1",
            "K45_RIN01": "RINKINYS",
            "K45_2_RIN01": "RINKINYS"
        }
    }
}
Response (status 200 OK)

Grąžinama informacija XML formate tarp tag'ų <RET_DOK>..</RET_DOK>.

pvz :

xml
<?xml version='1.0'?>
<RET_DOK>
    <I10>
         <I10_KODAS_VD>010R00000063</I10_KODAS_VD>
         <I10_EIL_NR>3</I10_EIL_NR>
         <I10_KODAS_TR> </I10_KODAS_TR>
         <I10_TIPAS>1</I10_TIPAS>
         <I10_PERKELTA>1</I10_PERKELTA>
         <I10_KODAS_PS>001 </I10_KODAS_PS>
         <I10_KODAS_OS1> </I10_KODAS_OS1>
         <I10_SERIJA1> </I10_SERIJA1>
         <I10_KODAS_OS2> </I10_KODAS_OS2>
         <I10_SERIJA2> </I10_SERIJA2>
         <I10_PAV>Stalas </I10_PAV>
         <I10_KODAS_US1>VNT </I10_KODAS_US1>
         <I10_KIEKIS1>1</I10_KIEKIS1>
         <I10_FRAKCIJA1>1</I10_FRAKCIJA1>
         <I10_KODAS_US>VNT </I10_KODAS_US>
         <I10_KIEKIS>1</I10_KIEKIS>
         <I10_FRAKCIJA>1</I10_FRAKCIJA>
         <I10_KODAS_US2>VNT </I10_KODAS_US2>
         <I10_KIEKIS2>1</I10_KIEKIS2>
         <I10_FRAKCIJA2>1</I10_FRAKCIJA2>
         <I10_PIR_KAINA>.0000</I10_PIR_KAINA>
         <I10_PARD_KAINA1>.0000</I10_PARD_KAINA1>
         <I10_PARD_KAINA2>.0000</I10_PARD_KAINA2>
         <I10_KITOS>.00</I10_KITOS>
         <I10_MUITAS>.00</I10_MUITAS>
         <I10_AKCIZAS>.00</I10_AKCIZAS>
         <I10_SAV_VISO>.00</I10_SAV_VISO>
         <I10_GAL_DATA>1900-01-01 00:00:00.000</I10_GAL_DATA>
         <I10_USERIS>3 </I10_USERIS>
         <I10_R_DATE>2019-10-29 17:44:54.000</I10_R_DATE>
         <I10_ADDUSR>3 </I10_ADDUSR>
         <I10_ADD_DATE>1900-01-01 00:00:00.000</I10_ADD_DATE>
         <i10_aprasymas1></i10_aprasymas1>
         <i10_aprasymas2></i10_aprasymas2>
         <i10_aprasymas3></i10_aprasymas3>
         <I49_DIM01>MEN1</I49_DIM01>
         <K45_RIN01>RINKINYS</K45_RIN01>
         <K45_2_RIN01>RINKINYS</K45_2_RIN01>
     </I10>
</RET_DOK>
Response (status 400)

Klaida paduodant duomenis / SQL sintaksės klaidos / kitos DB klaidos

xml
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
    <id>14433105830.9def1bf4.1584217427751</id>
    <durationMs>45</durationMs>
    <errorMessage>nepavyko įvykdyti metodo</errorMessage>
    <errors>
        <error>
            <data>&lt;I10>&lt;/I10></data>
            <dataErrors>
                <dataError>
                    <tag>I10_KODAS_VD</tag>
                    <code>21001</code>
                    <message>Nėra operacijos</message>
                </dataError>
            </dataErrors>
        </error>
    </errors>
</RET_DOK>
Koregavimas ir trynimas

Koregavimas, trynimas vyksta pagal lentelės raktą (Primary Key)

Koreguojant informaciją bus koreguojami tik perduodami laukai.

pvz koregavimas :

xml
<body>
    <method>EDIT_I10</method>
    <params>
        <oper>U</oper>
    </params>
    <data>
      <I10>
         <I10_KODAS_VD>01R000000001</I10_KODAS_VD>
         <I10_EIL_NR>1</I10_EIL_NR>
         <I10_SERIJA1>SERIJA</I10_SERIJA1>
     </I10>    
    </data>
</body>

pvz trynimas :

xml
<body>
    <method>EDIT_I10</method>
    <params>
        <oper>D</oper>
    </params>
    <data>
          <I10>
             <I10_KODAS_VD>01R000000001</I10_KODAS_VD>
             <I10_EIL_NR>1</I10_EIL_NR>
         </I10>      
    </data>
</body>
Rinkinio kodo atnaujinimas
xml
<body>
    <method>EDIT_I10</method>
    <params>
        <oper>U</oper>
    </params>
    <data>
      <I10>
         <I10_KODAS_VD>01R000000001</I10_KODAS_VD>
         <I10_EIL_NR>1</I10_EIL_NR>
         <I10_KODAS_OS1></I10_KODAS_OS1>
         <K45_RIN01>RINKINYS</K45_RIN01>
     </I10>    
    </data>
</body>

Lentelės

I10

Vidinio dokumento detalios informacijos lentelė

LaukasTipasAprašymasPastabos naudojant EDIT metodus
I10_KODAS_VDC(12)Operacijos numerisPrivalomas, kai oper=U,D
I10_EIL_NRN(6)Detalios eilutės numerisPrivalomas, kai oper=U,D
I10_KODAS_TRC(12)Transporto operacijos numeris
I10_TIPASN(1)Eilutės tipas:1-prekė, 2 kodasPrivalomas, kai oper=I
I10_PERKELTAN(1)Perkėlimas:1-neperkelta,2-perkelta,3-perkelta pirma dal
I10_KODAS_PSC(12)Prekės kodasPrivalomas ***
I10_KODAS_OS1C(12)Padalinio siuntėjo prekės objekto kodasArba rinkinio kodas, jei dirbama su rinkiniais
I10_SERIJA1C(12)Padalinio siuntėjo prekės serija
I10_KODAS_OS2C(12)Padalinio gavėjo prekės objekto kodasArba rinkinio kodas, jei dirbama su rinkiniais
I10_SERIJA2C(12)Padalinio gavėjo prekės serijos
I10_PAVC(40)Prekės pavadinimas
I10_KODAS_US1C(12)Perduodamas matavimo kodas
I10_KIEKIS1N(14)Perduodamas kiekis
I10_FRAKCIJA1N(4)Perduodamo matavimo vieneto frakcija
I10_KODAS_USC(12)Pagrindinio matavimo vieneto kodas
I10_KIEKISN(14)Kiekis pagrindiniu matu
I10_FRAKCIJAN(4)Pagrindinio matavimo frakcija
I10_KODAS_US2C(12)Gavimo matavimo kodas
I10_KIEKIS2N(14)Gaunamas kiekis
I10_FRAKCIJA2N(4)Gavimo matavimo vieneto frakcija
I10_PIR_KAINAN(12,4)Pirkimo kaina
I10_PARD_KAINA1N(12,4)Siuntėjo pardavimo kaina
I10_PARD_KAINA2N(12,4)Gavėjo pardavimo kaina
I10_KITOSN(12,2)Kitos išlaidos
I10_MUITASN(12,2)Muitas
I10_AKCIZASN(12,2)Akcizas
I10_SAV_VISON(12,2)Prekės savikaina
I10_GAL_DATAT(8)Galiojimo data
I10_USERISC(12)Kas koregavo
I10_R_DATET(8)Koregavimo laikas
I10_ADDUSRC(12)Kas sukūrė
I10_ADD_DATET(8)Kada sukūrė
I10_APRASYMAS1C(150)Aprašymas 1
I10_APRASYMAS2C(150)Aprašymas 2
I10_APRASYMAS3C(150)Aprašymas 3
kiekis_uN(12,4)Alternatyvus kiekis dešimtainėje išraiškoje***
bar_kodasC(12)Barkodas***
obj_ser_orderLikučių nurašymo tvarka. Sąlygą galima formuoti nurodant tik dvi kolonėles i17_kodas_os ir / arba i17_serija, pavyzdžiui, "i17_kodas_os, i17_serija", "i17_kodas_os desc, i17_serija asc", "i17_serija desc, i17_kodas_os asc"\ ***
I49_DIM01, ... , I49_DIM15C(12)Dimensijos
K45_RIN01, ... , K45_RIN15C(12)Padalinio siuntėjo rinkiniai
K45_2_RIN01, ... , K45_2_RIN15C(12)Padalinio gavėjo rinkiniai

** 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 laukai I10_KODAS_PS nebūtina nurodyti - jie randami pagal barkodo informaciją.

\ *** Jeigu parametro reikšmė neperduodama, prekių likučiai nurašomi tiksliai su tokiu objektu ir serija, koks buvo perduotas. Perdavus reikšmę pirmiausiai tikrinamas prekės kiekis su perduotu objektu ir/ar serija. Jeigu toks kiekis nepakankamas, nurašomi likučiai su kitais objektais ir serijomis išlaikant parametre nurodyta rūšiavimo tvarką.