Import buletine de analiza
Importul buletinelor de analiza se realizeaza in doua etape:
- Inserarea in tabelul buffer a informatiilor corecte si complete. Structura tabelelor este prezentata in anexa B .
- Apelarea procedurii stocate importex_lab_buletine_vinuri_exec care valideaza, importa datele si goleste tabelul-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 C
Anularea unui import se face prin apelarea procedurii stocate importex_lab_buletine_vinuri_anulare cu parametrul id_importex (id lot articole importate), dar si prin id_document (id-ul extern din aplicatia terta). 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.
Puteti consulta urmatoarul tabel pentru a verifica, in prealabil sau ulterior importului, datele existente:
- Tabelul unde se salveaza buletinele de analiza: lab_buletine_analiza. Cheia primara a tabelului: pct_lcr + id.
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 |
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 antet: importex_lab_buletine_analiza 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 | varchar(25) | Codul intern al gestiunii in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica id_extern_gestiune sau den_gestiune) |
id_extern_gestiune | varchar(25) | Id-ul extern al gestiunii (optional daca se specifica id_gestiune sau den_gestiune) |
den_gestiune | varchar(30) | Denumirea gestiunii (optional daca se specifica id_gestiune sau id_extern_gestiune) |
id_agent | varchar(25) | Codul intern al agentului de vanzari in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica id_extern_agent sau den_agent) |
id_extern_agent | varchar(25) | Id-ul extern al agentului (optional daca se specifica id_agent sau den_agent) |
den_agent | varchar(100) | Denumirea agentului de vanzari (optional daca se specifica id_agent sau id_extern_agent) |
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, id_extern_produs sau den_produs) |
cod_produs | varchar(20) | Codul de bare al produsului (optional daca se specifica id_produs, id_extern_produs sau den_produs) |
den_produs | varchar(231) | Denumirea produsului (optional daca se specifica id_produs, id_extern_produs sau cod_produs) |
id_extern_produs | varchar(25) | Id-ul extern al produsului (optional daca se specifica id_produs, cod_produs sau den_produs) |
serie_produs | varchar(50) | Seria/numarul de lot al produsului (optional) |
data_intrare | date | Data intrarii produsului |
data_expirare | date | Data expirarii produsului |
corespunde | bit | Se completeaza cu 1 daca produsul este in conformitate cu normele vitivinicole. |
observatii | varchar(max) | Observatii |
validare | bit | Se va valida sau nu documentul dupa salvare |
id_extern | varchar(25) | Id-ul extern al buletinului de analiza |
aspect | nvarchar(50) | Aspectul vinului |
culoare | nvarchar(50) | Culoarea vinului |
gust | nvarchar(50) | Gustul vinului |
miros | nvarchar(50) | Mirosul vinului |
concentratie_alcoolica | numeric(10,2) | Concentratia alcoolica a vinului |
aciditate_totala | numeric(10,2) | Aciditate totala (g/l in acid tartric) |
aciditate_volatila | numeric(10,2) | Aciditate volatila (g/l in acid acetic) |
dioxid_sulf_liber | numeric(10,2) | Dioxid de sulf liber (mg/l) |
dioxid_sulf_total | numeric(10,2) | Dioxid de sulf total (mg/l) |
extract_sec_nereducator | numeric(10,2) | Extract sec nereducator (g/l) |
zaharuri_reducatoare | numeric(10,2) | Zaharuri reducatoare (g/l) |
densitate_relativa | numeric(10,2) | Densitate relativa la +20°C |
ANEXA C. Tabel erori posibile la importul buletinelor de analize:
Coloana | Descriere |
---|---|
LBV001 | Lipsa date |
LBV002 | Gestiune nespecificata |
LBV003 | Agent economic nespecificat |
LBV004 | Produs nespecificat |
LBV005 | Data intrare nespecificata |
LBV006 | Urmatoarele id-uri externe nu identifica unic gestiunea |
LBV007 | Urmatoarele denumiri nu identifica unic gestiunea |
LBV008 | Lipsa gestiune in nomenclator |
LBV009 | Urmatoarele id-uri externe nu identifica unic agentul |
LBV010 | Urmatoarele denumiri nu identifica unic agentul |
LBV011 | Lipsa agent in nomenclator |
LBV012 | Urmatoarele coduri nu identifica unic produsul dupa cod extern |
LBV013 | Urmatoarele coduri nu identifica unic produsul dupa cod selectie |
LBV014 | Urmatoarele coduri echivalente nu identifica unic produsul dupa cod echivalent |
LBV015 | rmatoarele id-uri externe nu identifica unic produsul |
LBV016 | Urmatoarele denumiri nu identifica unic produsul |
LBV017 | Lipsa produs in nomenclator |