Back to Gidas

EDIT_I61_FULL

internetiniai-underscore-moduliai-api-underscore-rest-edit-underscore-i61-underscore-full.md

latest15.3 KB
Original Source

PDF

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

EDIT_I61_FULL

Aprašymas

POS operacijų importas (pinigų įdėjimas, išėmimas, kvito formavimas)

Specifikacija

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

Body
  • method : EDIT_I61_FULL

  • params : perduodami parametrai:

    • response_type: Neprivalomas. response_type = 1(default) - gražina pilną rezultatą, response_type = 4 - gražina tik sukurtos operacijos numerį
  • data: perduodami duomenys:

    • I61 - POS operacijos antraštė (i61)
    • I62 - POS kvito informacija (neprivalomas) (i62)

Naudojant tag'ą <i06_kodas_po> galima susisieti POS operaciją su Pardavimų modulio operacija. Tam, kad šis tag'as veiktų:

  1. POS operacijos tipas turi būti kvitas (i61_tipas = 1).
  2. Pardavimo operacijos tipas gali būti tik važtaraštis, užsakymas arba rezervavimas (i06_op_tip = 51, i06_op_tip = 53 arba i06_op_tip = 54).
  3. jeigu naudojamas šis tag'as dokumento antraštėje, tuomet prie detalių eilučių būtinai turi būti naudojami tag'ai <i62_eil_nr_po> ir <i62_kodas_po>, nurodantys eilutės numerį pardavimo operacijoje ir pardavimo operacijos numerį.

Jeigu naudojamas tag'as <i06_kodas_po> ir Pardavimo operacijos tipas - Važtaraštis , importuojant POS operaciją bus papildomai atliekami tokie veiksmai:

  1. Iš Pardavimo važtaraščio į POS operaciją bus nukopijuojama Sąskaitos-Faktūros numeris, kliento kodas, asmens kodas (I61_SASK_NR = I06_DOK_NR, I61_KODAS_KS = I06_KODAS_KS, I61_KODAS_SM = I06_KODAS_SM);
  2. Kvitas perkeliamas;
  3. Jeigu Pardavimo važtaraščio požymis buvo "Perkeltas", požymis keičiamas į "Koreguotas".
  4. Pardavimo važtaraščio operacijos mokėjimo data pakoreguojama į kvito datą;
  5. Pardavimo važtaraštyje sugeneruojamas mišrus apmokėjimas remiantis kvito informacija.

Jeigu naudojamas tag'as <i06_kodas_po> ir Pardavimo operacijos tipas - Užsakymas , importuojant POS operaciją bus papildomai atliekami tokie veiksmai:

  1. Iš Pardavimo važtaraščio į POS operaciją bus nukopijuojama kliento kodas, asmens kodas (I61_KODAS_KS = I06_KODAS_KS, I61_KODAS_SM = I06_KODAS_SM);
  2. Kvito operacijoje sugeneruojamas Sąskaitos-faktūros numeris (I61_SASK_NR ). Būtinai turi būti aprašytas dokumentų skaitliukas Pardavimų važtaraščiams, kitaip bus gaunama klaida "Nenurodytas dokumento numeris".

Jeigu naudojamas tag'as <i06_kodas_po> ir Pardavimo operacijos tipas - Rezervavimas , importuojant POS operaciją bus papildomai atliekami tokie veiksmai:

  1. Keičiamas Pardavimo Rezervavimo dokumento tipas į Važtaraštį. Mokėjimo data keičiama į kvito datą, jei nebuvo perduotas Sąskaitos-Faktūros numeris (I61_SASK_NR), sugeneruojamas naujas Sąskaitos-faktūros numeris. Būtinai turi būti aprašytas dokumentų skaitliukas Pardavimų važtaraščiams, kitaip bus gaunama klaida "Nenurodytas dokumento numeris".
  2. Iš Pardavimo važtaraščio į POS operaciją bus nukopijuojama kliento kodas ir asmens kodas (I61_KODAS_KS = I06_KODAS_KS, I61_KODAS_SM = I06_KODAS_SM);
  3. Kvitas perkeliamas;
  4. Pardavimo važtaraštyje sugeneruojamas mišrus apmokėjimas remiantis kvito informacija.

Kvito sukūrimo metu likučių rezervavimas valdomas per Rivile GAMA įrenginių parametrą:

pvz application/xml:

xml
<body>
    <method>EDIT_I61_FULL</method>
    <params>
        <oper>I</oper>
    </params>
    <data>
        <I61>
            <I61_KODAS_KK>POS01</I61_KODAS_KK>
            <I61_TIPAS>1</I61_TIPAS>
            <I61_DOK_NR>M00000000004</I61_DOK_NR>
            <I61_OP_DATA>2020.10.29 15:24</I61_OP_DATA>
            <I61_KODAS_KS>K1 </I61_KODAS_KS>
            <I61_SUMA> 1000.00</I61_SUMA>
            <I61_KODAS_SS> </I61_KODAS_SS>
            <I61_KODAS_SS_0>2710 </I61_KODAS_SS_0>
            <I61_PINIGAI> 1000.00</I61_PINIGAI>
            <I61_APRASYMAS>APRASYMAS</I61_APRASYMAS>
            <PAP_1>Požymis 1</PAP_1> <!--Jeigu aprašyti papildomi laukai -->
            <I62>
                <I62_TIPAS>1</I62_TIPAS>
                <I62_KODAS_PS>006 </I62_KODAS_PS>
                <I62_KODAS_IS>01 </I62_KODAS_IS>
                <I62_KODAS_US>VNT </I62_KODAS_US>
                <I62_KIEKIS> 2</I62_KIEKIS>
                <I62_KIEKIS_M> 0</I62_KIEKIS_M>
                <I62_FRAKCIJA> 1</I62_FRAKCIJA>
                <I62_KODAS_US_P>VNT </I62_KODAS_US_P>
                <I62_ALT_KIEKIS> 2</I62_ALT_KIEKIS>
                <I62_ALT_FRAK> 1</I62_ALT_FRAK>
                <I62_KODAS_US_A>VNT </I62_KODAS_US_A>
                <I62_KAINA_SU> 500.0000</I62_KAINA_SU>
                <I62_SUMA> 1000.00</I62_SUMA>
                <I62_TAX>1</I62_TAX>
                <I62_MOKESTIS_P> 21.00</I62_MOKESTIS_P>
            </I62>
        </I61>
    </data>
</body>

pvz application/json:

json
{
    "method": "EDIT_I61_FULL",
    "data": {
        "I61": {
            "I61_KODAS_KK": "POS",
            "I61_TIPAS": 1,
            "I61_DOK_NR": "",
            "I06_DOK_NR": "M00000000004",
            "I61_OP_DATA": "2020.10.29",
            "I61_KODAS_KS": "K1",
            "I61_SUMA": 1000.00,
            "I61_KODAS_SS_0": "2710",
            "I61_PINIGAI": 1000.00,
            "I61_APRASYMAS": "APRASYMAS",
            "PAP_1": "Požymis 1",
            "I62":[
                {
                    "I62_TIPAS": 1,
                    "I62_KODAS_PS": "006",
                    "I62_KODAS_IS": "01",
                    "I62_KODAS_US": "VNT",
                    "I62_KIEKIS": 2,
                    "I62_KIEKIS_M": 0,
                    "I62_FRAKCIJA": 1,
                    "I62_KODAS_US_P": "VNT",
                    "I62_ALT_KIEKIS": 2,
                    "I62_ALT_FRAK": 1,
                    "I62_KODAS_US_A": "VNT",
                    "I62_KAINA_SU": 500.0000,
                    "I62_SUMA": 1000.00,
                    "I62_TAX": 1,
                    "I62_MOKESTIS_P": 21
                }  
            ]
        }
    }
}

Tag'as <i06_kodas_po>:

json
{
    "method": "EDIT_I61_FULL",
    "data": {
        "I61": {
            "I61_KODAS_KK": "POS",
            "I61_TIPAS": 1,
            "I61_OP_DATA": "2022.01.06",
            "I61_SUMA": 1000.00,
            "I61_KODAS_SS_0": "2711",
            "I61_PINIGAI": 1000.00,
            "I06_KODAS_PO": "010000019382",
            "I62":[
                {
                    "I62_TIPAS": 1,
                    "I62_KODAS_PS": "000000000001",
                    "I62_KODAS_IS": "IM",
                    "I62_KODAS_US": "VNT",
                    "I62_KIEKIS": 2,
                    "I62_KIEKIS_M": 0,
                    "I62_FRAKCIJA": 1,
                    "I62_KODAS_US_P": "VNT",
                    "I62_ALT_KIEKIS": 2,
                    "I62_ALT_FRAK": 1,
                    "I62_KODAS_US_A": "VNT",
                    "I62_KAINA_SU": 500.0000,
                    "I62_SUMA": 1000.00,
                    "I62_TAX": 1,
                    "I62_MOKESTIS_P": 21,
                    "I62_KODAS_PO": "010000019382",
                    "I62_EIL_NR_PO": 1
                }  
            ]
        }
    }
}
Response (status 200 OK)

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

pvz response:

xml
<?xml version='1.0'?>
<RET_DOK>
    <I06>
        <I06_KODAS_PO>010R00001042</I06_KODAS_PO>
        <Row_number>1</Row_number>
        <I06_OP_TIP>51</I06_OP_TIP>
        <I06_DOK_NR>DOK-001</I06_DOK_NR>
        <I06_OP_DATA>2020-01-30 00:00:00.000</I06_OP_DATA>
        ...
        <I07>
        ...
        </I07>
        ...
        <I08>
        ...
        </I08>
        <I13>
        ...
        </I13>
    </I06>
</RET_DOK>

Pinigų įdėjimas / išėmimas

Pinigų įdėjimui/išėmimui: I61_TIPAS=2. Kai I61_SUMA>0 - įdėjimas, kai I61_SUMA<0 - išėmimas, pvz.:

Pinigų įdėjimas

xml
<body> 
    <method>EDIT_I61_FULL</method> 
    <data> 
        <I61>
            <I61_KODAS_KK>EEKGHH6</I61_KODAS_KK>
            <I61_TIPAS>2</I61_TIPAS>
            <I61_SUMA>20.00</I61_SUMA>
    </I61> 
    </data> 
</body>

Pinigų įdėjimas

xml
<body> 
    <method>EDIT_I61_FULL</method> 
    <data> 
        <I61>
            <I61_KODAS_KK>EEKGHH6</I61_KODAS_KK>
            <I61_TIPAS>2</I61_TIPAS>
            <I61_SUMA>-20.00</I61_SUMA>
        </I61> 
    </data> 
</body>

Z‘to registravimas

Z operacijai pinigų suma nėra perduodama. Ši operacija susumuoja grynųjų pinigų sumą pagal POS aprašymą nuo gyvavimo pradžios ir skirtumą minusuoja – išima pinigus iš stalčiaus. Po Z‘to stalčiuje grynųjų pinigų likutis yra lygus 0, pvz.:

xml
<body> 
    <method>EDIT_I61_FULL</method> 
    <data> 
        <I61>
            <I61_KODAS_KK>EEKGHH6</I61_KODAS_KK>
            <I61_TIPAS>4</I61_TIPAS>
        </I61> 
    </data> 
</body>

Pastaba: jei norima, kad pinigų įdėjimai ir išėmimai, taip pat ir Z-to registravimas, būtų apskaitomi DK, reikia POS aprašyme nurodyti pinigų įdėjimo (iš kokios sąskaitos) ir išėmimo (į kurią sąskaitą) buhalterines sąskaitas.

Response (status 400)

Klaida paduodant duomenis / SQL sintaksės klaidos / kitos DB klaidos, pvz:

xml
<?xml version='1.0' encoding='UTF-8'?>
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
    <id>1266808491.0a510fdd.1603984213260</id>
    <durationMs>8</durationMs>
    <errorMessage>Nepavyko įvykdyti metodo</errorMessage>
    <errors>
        <error>
            <data>&lt;I61>&lt;I61_TIPAS>1&lt;/I61_TIPAS>&lt;I61_OP_DATA>2020-10-29T15:24:00&lt;/I61_OP_DATA>&lt;I61_KODAS_KK>POS01&lt;/I61_KODAS_KK>&lt;I61_KODAS_SS> &lt;/I61_KODAS_SS>&lt;Oper>I&lt;/Oper>&lt;I61_DOK_NR>M00000000003&lt;/I61_DOK_NR>&lt;I61_PINIGAI>1000.00&lt;/I61_PINIGAI>&lt;I61_KODAS_KS>K1&lt;/I61_KODAS_KS>&lt;I61_SUMA>1000.00&lt;/I61_SUMA>&lt;I61_KODAS_SS_0>2710&lt;/I61_KODAS_SS_0>&lt;I61_USERIS>0HLPUFX&lt;/I61_USERIS>&lt;Id>2&lt;/Id>&lt;I61_ADDUSR>0HLPUFX&lt;/I61_ADDUSR>&lt;/I61></data>
            <dataErrors>
                <dataError>
                    <tag>I61_DOK_NR</tag>
                    <code>16058</code>
                    <message>Toks dokumento numeris jau yra</message>
                </dataError>
            </dataErrors>
        </error>
    </errors>
</RET_DOK>

Lentelės

I61

POS kvito antraštės lentelėLaukasTipasAprašymasPastabos naudojant EDIT metodus
I61_KODAS_WWC(12)Operacijos numeris
I61_KODAS_KKC(12)POS kodas
I61_TIPASN(1)Tipas:0-kvitas,1-stalčiaus operacija
I61_DOK_NRC(12)Kvito numeris
I61_OP_DATAT(8)Operacijos data
I61_KODAS_MSC(12)Menedžerio kodas
I61_KODAS_KSC(12)Kliento kodas
I61_SUMAN(12,2)Pardavimo suma
I61_KODAS_SSC(12)Mokėjimo sąskaita
I61_KODAS_SS_0C(12)Kredito sąskaitos kodas 0
I61_PINIGAIN(12,2)Gauta pinigų suma
I61_KODAS_SS_1C(12)Kredito sąskaitos kodas 1
I61_PINIGAI1N(12,2)Pinigai 1
I61_KODAS_SS_2C(12)Kredito sąskaitos kodas 2
I61_PINIGAI2N(12,2)Pinigai 2
I61_PINIGAI_GRN(12,2)Apmokėta grynais
I61_PERKELTAN(1)Perkelta?
I61_FISKALN(1)1-Naujas, 2-Ok, 3-Pabaigos požymis
I61_NUOL_SN(12,2)Kvito nuolaidos suma
I61_ADDUSRC(12)Kas sukūrė
I61_R_DATET(8)Kada koregavo
I61_USERISC(12)Kas koregavo
I61_SASK_NRC(20)Sąskaitos-Faktūros numeris
I61_KODAS_SS_3C(12)Kredito sąskaitos kodas 3
I61_KODAS_SS_4C(12)Kredito sąskaitos kodas 4
I61_KODAS_SS_5C(12)Kredito sąskaitos kodas 5
I61_PINIGAI3N(12,2)Pinigai 3
I61_PINIGAI4N(12,2)Pinigai 4
I61_PINIGAI5N(12,2)Pinigai 5
I61_PINIGAI_MN(12,2)Apmokėti pinigai
I61_PINIGAI_M1N(12,2)Apmokėti pinigai 1
I61_PINIGAI_M2N(12,2)Apmokėti pinigai 2
I61_PINIGAI_M3N(12,2)Apmokėti pinigai 3
I61_PINIGAI_M4N(12,2)Apmokėti pinigai 4
I61_PINIGAI_M5N(12,2)Apmokėti pinigai 5
I61_KODAS_SMC(12)Asmuo
I61_REZERVAS_1C(12)Kvito Nr. iš fiskalo
I61_REZERVAS_2C(12)Rezervas 2
I61_REZERVAS_3C(12)Rezervas 3
I61_SUMA_WKN(12,2)WB įsipareigojimų suma
I61_KODAS_ZNC(12)Zona
I61_APRASYMASC(300)Aprašymas
I06_KODAS_POC(12)Pardavimo operacijos numeris
I61_SUMA_APN(12,2)ApvalinimasNuo v123.0000
I61_PINIGAI_APN(12,2)Apmokėtas apvalinimasNuo v123.0000
PAP_1, PAP_2...Papildomi laukaiVeikia tik jei aprašyti Rivile Gama sistemoje

I62

POS kvito detalios informacijos lentelėLaukasTipasAprašymasPastabos naudojant EDIT metodus
I62_KODAS_WWC(12)Operacijos numeris
I62_EIL_NRN(6)Eil. numeris
I62_EIL_NR_VDN(6)Mat.vnt.vidinis eilutės numeris
I62_KODAS_POC(12)Pardavimo operacijos numeris
I62_EIL_NR_PON(6)Eilutės numeris pardavimo operacijoje
I62_TIPASN(1)Tipas:1-Prekė,2-paslauga,3-prekė pagal konkretų objektą ir seriją
I62_KODAS_PSC(12)Prekės,paslaugos kodas
I62_KODAS_ISC(12)Padalinio kodas
I62_KODAS_OSC(12)Objekto kodas
I62_KODAS_OS_CC(12)Centro kodas
I62_SERIJAC(12)Serija
I62_KODAS_USC(12)Pagrindinis matavimo vieneto kodas
I62_KIEKISN(14)Kiekis pagrindiniu matu
I62_KIEKIS_MN(14)Kiek parduota į minusą pag. matu
I62_FRAKCIJAN(4)Pagrindinio matavimo frakcija
I62_KODAS_US_PC(12)Alternatyvaus matavimo vieneto kodas
I62_ALT_KIEKISN(14)Alternatyvus kiekis
I62_ALT_FRAKN(4)Alternatyvi frakcija
I62_KODAS_US_AC(12)Užpajamavimo matavimo vieneto kodas
I62_KAINA_SUN(12,4)Pardavimo kaina su PVM
I62_NUOLAIDAN(6,2)Nuolaidos procentas
I62_SUMAN(12,2)Suma su PVM
I62_TAXN(1)Mokestis:0-Ne,1-A,2-B,3-C,4-D
I62_MOKESTIS_PN(6,2)Mokesčio procentas
I62_NUOLAIDA_SN(12,2)Nuolaidos suma
I62_PERKELTAN(1)Perkelta
I62_ADDUSRC(12)Kas sukūrė
I62_USERISC(12)Kas koregavo
I62_R_DATET(8)Koregavimo laikas
I62_KODAS_KTC(12)Sutartis
I62_KODAS_K0C(12)Priedo numeris
I62_PVMN(12,2)PVM suma
I62_SAVIKAINAN(12,2)Savikaina
I62_NUOLAIDA_BEN(6,2)Nuolaidos procentas be lojalumo
I62_NUOLAIDA_S_BEN(12,2)Nuolaida be lojalumo
I62_SUMA_BEN(12,2)Suma be lojalumo

Numatyta galimybė perduoti papildomų laukų informaciją, jei jie yra aprašyti Rivile GAMA programoje. Tam naudojamos žymos <PAP_1>, <PAP_2> ir t.t., kur skaičius nurodo konkretaus papildomo lauko numerį.