Import oferte furnizori
Importul de oferte furnizori 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_oferte_furnizori_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_oferte_furnizori_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 urmatoarele tabele pentru a verifica, in prealabil sau ulterior importului, datele existente:
- Antete de documente: oferte_furnizori. Cheia primara a tabelului: pct_lcr + id.
- Linii de documente pentru produse: oferte_furnizori_lin. Legatura cu antetul pl_ofr + id_ofr.
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), 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 |
manage_existing | tinyint | 0 - Blochează - procedura se oprește, returnând o eroare (valoare implicită) 1 - Suprascrie - se actualizează datele ofertei existente 2 - Ignoră - se ignoră importul înregistrării curente, lăsând datele ofertei neschimbate |
updated_columns | varchar(max) | Se va trimite lista de câmpuri ce se doresc a fi suprascrise, separate prin virgulă (fără spațiu între câmpuri și virgulă), implicit NULL |
skip_ver_sesiune | bit | 0 - Nu se va sări peste verificarea sesiunii blocate (valoare implicită) 1 - Se va sări peste verificarea sesiunii blocate |
ANEXA B. Tabel antete document: importex_oferte_furnizori 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 |
numar_document | varchar(20) | Numarul documentului |
data_document | date | Data documentului |
data_expirare | date | Data expirarii (optional) |
data_livrare | date | Data livrare |
id_centru_profit | varchar(25) | Codul intern al centrului de profit in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_centru_profit) |
den_centru_profit | nvarchar(100) | Denumirea centrului de profit (optional daca se specifica id_centru_profit) |
id_furnizor | varchar(25) | Codul intern al furnizorului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica cif_furnizor sau den_furnizor) |
id_extern_furnizor | varchar(50) | Id-ul extern al furnizorului (optional daca se specifica id_furnizor, cif_furnizor sau den_furnizor) |
cif_furnizor | varchar(20) | Codul fiscal / CNP al furnizorului (optional daca se specifica id_furnizor sau den_furnizor) |
den_furnizor | varchar(100) | Denumirea furnizorului (optional daca se specifica id_furnizor sau cif_furnizor) |
detalii_livrare | varchar(250) | Detalii livrare |
validare | bit | Se va valida sau nu documentul dupa salvare |
id_extern_centru_profit | varchar(25) | Id-ul extern al centrului de profit (optional daca se specifica id_centru_profit sau den_centru_profit) |
ANEXA C. Tabel linii: importex_oferte_furnizori_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) |
cantitate | numeric(13,3) | Cantitatea |
pret_achizitie | money | Pretul de achizitie(optional, descarcarea marfii se va face FIFO) |
moneda | char(3) | Moneda ( RON, EUR) (optional, implicit RON) |
ANEXA D. Tabel erori posibile la importul de oferte furnizori:
Coloana | Tip |
---|---|
OFF001 | Lipsa date (tabelul de import nu are nicio inregistrare) |
OFF002 | Produs nespecificat |
OFF003 | Moneda nespecificata |
OFF004 | Lipsa antet |
OFF005 | Urmatoarele denumiri nu identifica unic centrul de profit |
OFF006 | Lipsa centru de profit in nomenclator |
OFF007 | Urmatoarele coduri fiscale nu identifica unic beneficiarul in nomenclatorul de parteneri |
OFF008 | Urmatoarele denumiri nu identifica unic beneficiarul in nomenclatorul de parteneri |
OFF009 | Lipsa partener in nomenclator |
OFF010 | Document deja existent |
OFF011 | Urmatoarele valori nu identifica unic moneda |
OFF012 | Lipsa moneda in nomenclator |
OFF013 | Urmatoarele coduri nu identifica unic produsul |
OFF014 | Urmatoarele denumiri nu identifica unic produsul |
OFF015 | Lipsa produs in nomenclator |
OFF016 | Sesiunea documentului a fost blocata la modificari |
OFF017 | Sesiunea documentului depaseste sesiunea curenta |
OFF018 | Urmatoarele coduri nu identifica unic produsul dupa cod selectie |
OFF019 | Urmatoarele coduri nu identifica unic produsul dupa cod echivalent |
OFF020 | Urmatoarele id-uri externe nu identifica unic beneficiarul in nomenclatorul de parteneri |
OFF021 | Urmatoarele id-uri externe nu identifica unic produsul |
OFF022 | Urmatoarele id-uri externe nu identifica unic centrul de profit |