API_XLS_IMP_SP()

API_XLS_IMP_SP programos ir failų pavyzdžių atsisiuntimas (Konsultantams ir atstovams):

Importas iš exel arba csv formato failų tiesiogiai naudojant API procedūras

Būtinai reikalinga galiojanti VPS sutartis ir internetinių produktų nuomos sutartis.

Sintaksė

API_XLS_IMP_SP([cParametras1],cParametras2,cParametras3)

Parametrai

Parametras Aprašymas Formatas
cParametras1 Esamos formos objektas (thisform). Naudojama tinklelio atnaujinimui O
cParametras2 nurodomas importo metodas (pvz. EDIT_I06_FULL) C
cParametras3 nurodoma importo funkcija. Galimos reikšmės I, U, D C

Pavyzdžiai

api_xls_imp_sp(thisform,"EDIT_N17","I")

api_xls_imp_sp(thisform,"EDIT_N08","I")

api_xls_imp_sp(thisform,"EDIT_I06_FULL","I")

Exel failo struktūra

api_xls01

1 - Metodas (pvz. EDIT_I06_FULL arba EDIT_N17).

2 - Operacija – (I, U, P arba D).

3 - Grupių kodai – gali būti nurodytos 1-n grupės (viena ir daugiau).
Reikia atkreipti dėmesį, kad A3 ląstelėje turi būti nurodyta pagrindinė (tėvinė) grupė. Pavyzdžiui, kuriant pardavimo dokumentą, nurodoma I06, kuriant atsargų operaciją – I11, o jeigu kuriama prekės kortelė – N17.

4 - Importo laukų pavadinimai, kurie atitinka API importo xml elementų (tag) pavadinimus (pvz., N17_KODAS_PS).
Jei nebus nurodytas importo lauko pavadinimas (kaip pvz., D stulpelis), tai toks stulpelis importo metu nebus vertinamas.

5 - Nurodomi vartotojui draugiški stulpelių pavadinimai.

6 - Importuojami duomenys:

  • Pirmame stulpelyje nurodomas raktas, kuris apjungia visus vienos grupės duomenis (kepurės ir detalių eilučių).
  • Kepurės duomenys bus parenkami pagal pirmąją rakto eilutę.
    Pateiktame pavyzdyje pagal raktą [1] grupei [M_GRP] (parent) bus parinkti 6-tos eilutės duomenys (apibrėžta raudonai), o kitų eilučių duomenys pastarajai grupei bus ignoruojami.
    Kitų, žemesnių (child), grupių duomenys bus imami iš [1] grupės kiekvienos netuščios eilutės duomenų.

7 - Lauko validacijos funkcija.
Galima nurodyti validacijos taisyklę, kuri turi grąžinti loginę reikšmę (true arba false). Lauko reikšmės kintamasis m.lcText.
Pavyzdžiui, validacijos taisyklė:

LEN(m.lcText)<=12 AND !Empty(m.lcText)

reiškia, kad lauko reikšmė negali būti tuščia ir negali būti ilgesnė nei 12 simbolių.

Reikalavimai csv failams:

  • skaičių trupmeninės dalys atskiriamos tašku (.), ne kableliu (,),
  • datos formatas YYYY-MM-DD (pvz., 2023-12-31)
  • jeigu reikšmė nepildoma, tai tarp kabliataškių nepaliekama tarpo (pvz., 2;;;;;;;1;;D;;;;;;1.2500;;000000100004;1.587;).