Import comenzi furnizori
Importul comenzilor de 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_comenzi_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_comenzi_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: comenzifurnizori. Cheia primara a tabelului: anluna + pct_lcr + id.
- Linii de documente pentru produse: lincomnzfurnizori. Legatura cu antetul anluna + pl_cmd + id_cmd.
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 antete document: importex_comenzi_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 |
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 (format dintr-o parte numerica de pana la 10 cifre, urmata de un sufix de pana la 10 caractere alfanumerice) |
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 den_gestiune sau id_extern_gestiune) |
id_extern_gestiune | varchar(25) | Id-ul extern al gestiunii (optional daca se specifica id_gestiune, den_gestiune) |
den_gestiune | varchar(30) | Denumirea gestiunii (optional daca se specifica id_gestiune sau id_extern_gestiune) |
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, id_extern_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, id_extern_furnizor sau den_furnizor) |
den_furnizor | nvarchar(200) | Denumirea furnizorului (optional daca se specifica id_furnizor, id_extern_furnizor sau cif_furnizor) |
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 sau id_extern_delegat) |
id_extern_delegat | varchar(25) | Id-ul extern al delegatului (optional daca se specifica id_delegat sau den_delegat) |
den_delegat | varchar(100) | Denumire delegat (optional daca se specifica id_delegat sau id_extern_delegat) |
id_agent | varchar(25) | Codul intern al agentului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_agent sau id_extern_agent) |
id_extern_agent | varchar(25) | Id-ul extern al agentului (optional daca se specifica id_agent sau den_agent) |
den_agent | varchar(100) | Denumire agent (optional daca se specifica id_agent sau id_extern_agent) |
id_adresa_incarcare | varchar(25) | Codul intern al adresei de incarcare in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_adresa_incarcare sau id_extern_adresa_incarcare). Se vor lua in calcul doar adresele care au un partener stabilit, cu calitatea de Furnizor. |
id_extern_adresa_incarcare | varchar(50) | Id-ul extern al adresei de incarcare (optional daca se specifica id_adresa_incarcare sau den_adresa_incarcare). Se vor lua in calcul doar adresele care au un partener stabilit, cu calitatea de Furnizor. |
den_adresa_incarcare | varchar(200) | Denumire adresa de incarcare (optional daca se specifica id_adresa_incarcare sau id_extern_adresa_incarcare).Se vor lua in calcul doar adresele care au un partener stabilit, cu calitatea de Furnizor. |
id_adresa_descarcare | varchar(25) | Codul intern al adresei de descarcare in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_adresa_descarcare sau id_extern_adresa_descarcare). Se vor lua in calcul doar adresele care nu au un partener stabilit |
id_extern_adresa_descarcare | varchar(50) | Id-ul extern al adresei de descarcare (optional daca se specifica id_adresa_descarcare sau den_adresa_descarcare). Se vor lua in calcul doar adresele care nu au un partener stabilit. |
den_adresa_descarcare | varchar(200) | Denumire adresa de descarcare (optional daca se specifica id_adresa_descarcare sau id_extern_adresa_descarcare).Se vor lua in calcul doar adresele care nu au un partener stabilit. |
id_curier | numeric(18,0) | Id-ul curierului (optional daca se specifica nume_curier) |
nume_curier | varchar(100) | Nume curier (optional daca se specifica id_curier) |
id_proiect | varchar(25) | Codul intern al proiectului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_proiect) |
den_proiect | varchar(150) | Denumirea proiectului (optional daca se specifica id_proiect) |
observatii | varchar(250) | Observatii |
id_clasificare | varchar(25) | Codul intern al clasificarii in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_clasificare) |
den_clasificare | varchar(30) | Denumirea clasificarii (optional daca se specifica id_clasificare) |
validare | bit | Se va valida sau nu documentul dupa salvare |
valoare | money | Valoarea pentru control final (NULL pentru a ignora verificarea). Valabil pentru comenzile care au acelasi deviz in linii. |
ANEXA C. Tabel linii comenzi furnizori: importex_comenzi_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 id_extern_produs, 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(50) | 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 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 |
moneda | char(3) | Moneda ( RON, EUR) (optional, implicit RON) |
denumire_sup | varchar(250) | Denumire suplimentara |
ANEXA D. Tabel erori posibile la importul comenzilor de furnizori:
Coloana | Descriere |
---|---|
CMZF001 | Lipsa date (tabelul de import nu are nicio inregistrare) |
CMZF002 | Numar nespecificat |
CMZF003 | Furnizor nespecificat |
CMZF004 | Gestiune nespecificata |
CMZF005 | Produs nespecificat |
CMZF006 | Moneda nespecificata |
CMZF007 | Lipsa antet |
CMZF008 | Urmatoarele id-uri externe nu identifica unic gestiunea |
CMZF009 | Urmatoarele denumiri nu identifica unic gestiunea |
CMZF010 | Lipsa gestiune in nomenclator |
CMZF011 | Urmatoarele id-uri externe nu identifica unic partenerul |
CMZF012 | Urmatoarele coduri fiscale nu identifica unic partenerul |
CMZF013 | Urmatoarele denumiri nu identifica unic partenerul |
CMZF014 | Lipsa partener in nomenclator |
CMZF015 | Urmatoarele id-uri externe nu identifica unic agentul |
CMZF016 | Urmatoarele denumiri nu identifica unic agentul |
CMZF017 | Lipsa agent in nomenclator |
CMZF018 | Urmatoarele id-uri externe nu identifica unic delegatul |
CMZF019 | Urmatoarele denumiri nu identifica unic delegatul |
CMZF020 | Lipsa delegat in nomenclator |
CMZF021 | Urmatoarele denumiri nu identifica unic clasificarea |
CMZF022 | Lipsa clasificare in nomenclator |
CMZF023 | Urmatoarele denumiri nu identifica unic proiectul |
CMZF024 | Lipsa proiect in nomenclator |
CMZF025 | Urmatoarele id-uri externe nu identifica unic adresa de incarcare |
CMZF026 | Urmatoarele denumiri nu identifica unic adresa de incarcare |
CMZF027 | Lipsa adresa incarcare in nomenclator |
CMZF028 | Urmatoarele id-uri externe nu identifica unic adresa de descarcare |
CMZF029 | Urmatoarele denumiri nu identifica unic adresa de descarcare |
CMZF030 | Lipsa adresa descarcare in nomenclator |
CMZF031 | Urmatoarele denumiri nu identifica unic curierul |
CMZF032 | Lipsa curier in nomenclator |
CMZF033 | Document deja existent |
CMZF034 | Urmatoarele conturi sunt invalide |
CMZF035 | Urmatoarele conturi nu identifica unic tipul in nomenclatorul de bunuri si servicii |
CMZF036 | Urmatoarele coduri nu identifica unic produsul dupa cod extern |
CMZF037 | Urmatoarele coduri nu identifica unic produsul dupa cod selectie |
CMZF038 | Urmatoarele coduri echivalente nu identifica unic produsul dupa cod echivalent |
CMZF039 | Urmatoarele id-uri externe nu identifica unic produsul |
CMZF040 | Urmatoarele denumiri nu identifica unic produsul |
CMZF041 | Lipsa produs in nomenclator |
CMZF042 | Cont produs nespecificat |
CMZF043 | Contul produsului nu este identificat unic in nomenclator dupa codul dat |
CMZF044 | Lipsa pozitie in nomenclator bunuri si servicii |
CMZF045 | Urmatoarele valori nu identifica unic moneda |
CMZF046 | Lipsa moneda in nomenclator |
CMZF047 | Sesiunea documentului a fost blocata la modificari! |
CMZF048 | Sesiunea documentului depaseste sesiunea curenta! |
CMZF049 | Valoarea totala a documentuluieste diferita de cea declarata |
CMZF050 | Urmatoarele coduri de carnet nu exista in nomenclator |