Import transfer produse
Importul transferului de produse se realizeaza in doua etape:
- Inserarea in tabelele de antete si linii a informatiilor corecte si complete. In cazul in care se doreste importul simultan pentru mai multe documente se foloseste pentru legatura dintre antet si linii campul id_document. Structura tabelelor este prezentata in anexele B si C.
- Apelarea procedurii stocate importex_transferuri_produse_exec care valideaza, importa datele si goleste tabelele-buffer. In cazul in care datele nu sunt corecte procedura intoarce o exceptie si intregul proces de import este abandonat, restabilindu-se starea dinaintea importului. Lista erorilor posibile este prezentata in anexa D.
Anularea unui import se face prin apelarea procedurii stocate importex_transferuri_produse_anulare cu parametrul id_importex (id lot articole importate), dar si prin id_document (id-ul extern din aplicatia terta).
- Antete de documente:
- ntc: cheia primara a tabelului: anluna + pct_lcr + id.
- ntg: cheia primara a tabelului: anluna + pct_lcr + id.
- Linii de documente pentru produse:
- ntclinii: legatura cu antetul anluna + pl_ntc + id_ntc.
- ntglinii: legatura cu antetul anluna + pl_ntg + id_ntg.
Procedura stocata verifica consistenta efectului de anulare a datelor deja importate si dupa caz realizeaza stergerea efectiva a datelor sau intoarce un mesaj de eroare.
ANEXA A. Parametri import:
Câmp | Tip | Descriere |
---|---|---|
id_importex | varchar(25) | ID pentru identificarea unui lot de documente importate (util, de ex., pentru ștergerea în bloc a unui lot de documente importate), valoare implicită NULL |
id_document | varchar(25) | ID-ul documentului care se dorește a fi importat. În cazul în care se dorește importul tuturor documentelor se va trimite NULL. Valoarea implicită este NULL. |
keep_data_on_err | bit | 0 - nu se vor păstra datele în tabelele buffer (valoare implicită) 1 - se vor păstra datele în tabelele buffer, în caz de eroare |
single_tran | bit | Se specifică dacă se va deschide o singură tranzacție pentru întregul import sau se va utiliza o tranzacție per document. 1 - în cazul apariției unei erori la importul unui document, sistemul va reveni complet la starea dinaintea importului (valoare implicită). 0 - documentele importate până la apariția erorii rămân în baza de date |
import_mode | tinyint | 0 - Se importă antetele și liniile (valoare implicită) 1 - Se actualizează liniile documentului |
exec_type | tinyint | 0 - Validare și import, cu oprire în cazul erorilor (valoare implicită) 1 - Validare și import, sărind peste înregistrările cu erori 2 - Validare date, fără a realiza importul |
return_errorlist | tinyint | 0 - Fără listă erori (valoare implicită) 1 - Returnează lista înregistrărilor cu erori 2 - Returnează lista tuturor înregistrărilor |
ANEXA B. Tabel antete document: importex_transferuri_produse avand structura:
Coloana | Tip | Descriere |
---|---|---|
id_importex | varchar(25) | ID pentru identificarea unui lot de documente importate (util, de ex., pentru stergerea in bloc a unui lot de documente importate) Atentie! Gestionarea, verificarea si validarea acestui camp este in sarcina dezvoltatorului utilitarului de export-import. |
id_document | varchar(25) | ID unic pentru identificarea documentului |
id_carnet | bigint | Codul intern al carnetului din care este emis documentul (optional) |
serie_document | varchar(10) | Seria documentului (optional) |
numar_document | varchar(20) | Numarul documentului |
data_document | date | Data documentului |
id_gestiune_ies | varchar(25) | Codul intern al gestiunii de iesire in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_gestiune_ies) |
id_extern_gestiune_ies | varchar(25) | Id-ul extern al gestiunii destinatie (optional daca se specifica id_gestiune_ies sau den_gestiune_ies) |
den_gestiune_ies | varchar(30) | Denumirea gestiunii de iesire (optional daca se specifica id_gestiune_ies) |
tip_produs_ies | char(3) | Codul din 3 caractere corespunzator tipului de produs care iese din gestiune, definit in nomenclatorul de bunuri si servicii (optional daca se specifica cont_produs_ies) |
cont_produs_ies | varchar(17) | Contul produsului care iese din gestiune (optional daca se specifica tip_produs_ies) |
id_gestiune_int | varchar(25) | Codul intern al gestiunii de intrare in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_gestiune_int) |
id_extern_gestiune_int | varchar(25) | Id-ul extern al gestiunii sursa (optional daca se specifica id_gestiune_int sau den_gestiune_int) |
den_gestiune_int | varchar(30) | Denumirea gestiunii de intrare (optional daca se specifica id_gestiune_int) |
tip_produs_int | char(3) | Codul din 3 caractere corespunzator tipului de produs care intra din gestiune definit in nomenclatorul de bunuri si servicii (optional daca se specifica cont_produs_int) |
cont_produs_int | varchar(17) | Contul produsului care intra din gestiune (optional daca se specifica tip_produs_int) |
serie_aviz | varchar(10) | Seria/numarul avizului (optional) |
numar_aviz | varchar(20) | Numarul avizului |
data_aviz | date | Data avizului |
id_delegat | varchar(25) | Codul intern al delegatului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_delegat) |
id_extern_delegat | varchar(25) | Id-ul extern al delegatului (optional id_delegat sau den_delegat) |
den_delegat | varchar(30) | Denumirea delegatului (optional daca se specifica id_delegat) |
observatii | varchar(250) | Observatii document |
validare | bit | Se va valida sau nu documentul dupa salvare |
valoare | money | Valoarea inclusiv TVA pentru control final (NULL pentru a ignora verificarea) |
cont_storno_transfer | varchar(17) | Cont storno transfer |
numar_auto | nvarchar(100) | Numarul de inmatriculare al masinii |
numar_remorca | varchar(20) | Numarul de inmatriculare al remorcii |
id_carnet_aviz | bigint | Codul intern al carnetului pentru avizul de insotire (optional) |
ANEXA C. Tabel linii: importex_transferuri_produse_lin avand structura:
Coloana | Tip | Descriere |
---|---|---|
id_document | varchar(25) | ID unic pentru identificarea documentului |
id_produs | varchar(25) | Codul intern al produsului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica cod_produs sau den_produs) |
id_extern_produs | varchar(25) | Id-ul extern al produsului (optional daca se specifica id_produs, cod_produs sau den_produs) |
cod_produs | varchar(20) | Codul de bare al produsului (optional daca se specifica id_produs sau den_produs) |
den_produs | varchar(231) | Denumirea produsului (optional daca se specifica id_produs sau cod_produs) |
tip_produs | char(3) | Codul din 3 caractere corespunzator tipului de produs definit in nomenclatorul de bunuri si servicii (optional daca se specifica cont_produs) |
cont_produs | varchar(17) | Contul produsului (optional daca se specifica tip_produs) |
serie_produs | varchar(50) | Seria/numarul de lot al produsului (optional) |
cantitate | numeric(13,3) | Cantitatea |
pret_achizitie | money | Pretul de achizitie(optional, descarcarea marfii se va face FIFO) |
pret_vanzare_tva | money | Pretul de vanzare cu TVA in moneda facturii |
cota_tva_ies | numeric(2,0) | Cota TVA iesire (optional, implicit e preluata din nomenclator) |
data_expirare | date | Data expirarii (optional) |
denumire_sup | varchar(250) | Denumire suplimentara (optional) |
id_comanda | varchar(25) | Codul intern al comenzii in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 |
serie_comanda | varchar(10) | Seria/numarul comenzii (optional) |
numar_comanda | varchar(20) | Numarul comenzii |
data_comanda | date | Data comenzii |
id_pers_i | varchar(25) | ID-ul salariatului destinatie |
id_extern_pers_i | varchar(25) | Id-ul salariatului destinatie (optional daca se specifica id_pers_i sau den_pers_i) |
den_pers_i | varchar(30) | Denumirea salariatului destinatie |
id_pers_o | varchar(25) | ID-ul salariatului sursa |
id_extern_pers_o | varchar(25) | Id-ul extern al salariatului sursa (optional daca se specifica id_pers_o sau den_pers_o) |
den_pers_o | varchar(30) | Denumirea salariatului sursa |
cod_selectie | varchar(50) | Codul de selectie al produsului (optional daca se specifica den_produs sau id_extern_produs sau id_produs sau cod_produs) |
ANEXA D. Tabel erori posibile la importul transferului de produse:
Coloana | Tip |
---|---|
NTC001 | Lipsa date (tabelul de import nu are nicio inregistrare) |
NTC002 | Numar nespecificat |
NTC003 | Gestiune iesire nespecificata |
NTC004 | Gestiune intrare nespecificata |
NTC005 | Urmatoarele coduri de carnet nu exista in nomenclator |
NTC006 | Urmatoarele conturi de iesire sunt invalide |
NTC007 | Urmatoarele conturi de iesire nu identifica unic tipul in nomenclatorul de bunuri si servicii |
NTC008 | Lipsa pozitie in nomenclator bunuri si servicii pentru cont iesire |
NTC009 | Urmatoarele conturi de intrare sunt invalide |
NTC010 | Urmatoarele conturi de intrare nu identifica unic tipul in nomenclatorul de bunuri si servicii |
NTC011 | Lipsa pozitie in nomenclator bunuri si servicii pentru cont intrare |
NTC012 | Produs nespecificat |
NTC013 | Lipsa antet |
NTC014 | Urmatoarele denumiri nu identifica unic gestiunea de iesire |
NTC015 | Lipsa gestiune iesire in nomenclator |
NTC016 | Urmatoarele denumiri nu identifica unic gestiunea de intrare |
NTC017 | Lipsa gestiune de intrare in nomenclator |
NTC018 | Urmatoarele denumiri nu identifica unic delegat |
NTC019 | Lipsa delegat in nomenclator |
NTC020 | Document deja existent |
NTC021 | Exista linii cu pret de achizitie negativ |
NTC022 | Exista linii cu pret de vanzare cu TVA negativ |
NTC023 | Urmatoarele coduri nu identifica unic produsul |
NTC024 | Urmatoarele denumiri nu identifica unic produsul |
NTC025 | Lipsa produs in nomenclator |
NTC026 | Sesiunea documentului a fost blocata la modificari |
NTC027 | Sesiunea documentului depaseste sesiunea curenta |
NTC028 | Cantitate insuficienta in stoc pentru produsul |
NTC029 | Urmatoarele conturi sunt invalide |
NTC030 | Urmatoarele conturi nu identifica unic tipul in nomenclatorul de bunuri si servicii |
NTC031 | Lipsa pozitie in nomenclator bunuri si servicii pentru cont |
NTC032 | Contul de iesire nespecificat |
NTC033 | Contul de intrare nespecificat |
NTC034 | Cont produs nespecificat |
NTC035 | Urmatoarele conturi sunt invalide |
NTC036 | Cont storno transfer invalid |
NTC037 | Urmatoarele id-uri externe nu identifica unic gestiunea de iesire |
NTC038 | Urmatoarele id-uri externe nu identifica unic gestiunea de intrare |
NTC039 | Urmatoarele id-uri externe nu identifica unic delegat |
NTC040 | Urmatoarele id-uri externe nu identifica unic produsul |
NTC041 | Urmatoarele id-uri externe nu identifica unic salariatul |
NTC042 | Urmatoarele id-uri externe nu identifica unic salariatul |
NTC043 | Urmatoarele coduri de selectie nu identifica unic produsul |