Import avize clienti
Importul avizelor de clienti 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_avize_clienti_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_avize_clienti_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: avmarfa. Cheia primara a tabelului: anluna + pct_lcr + id.
Linii de documente pentru produse: lavmarfa. Legatura cu antetul anluna + pl_avm + id_avm.
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 |
tratare_err_nir | bit | 0 - Nu se verifică dacă nota de intrare recepție asociat facturii există în Nexus (valoare implicită) 1 - Se verifică unicitatea documentului, dar și existența acestuia în Nexus |
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 |
inchidere_cmd | tinyint | 0 - Nu se închide comanda asociată facturii (valoare implicită) 1 - Închide comanda, indiferent dacă a fost onorată integral sau nu 2 - Închide comanda doar dacă au fost onorate toate produsele |
ANEXA B. Tabel antete document: importex_avize_clienti 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 |
data_scadenta | date | Data scadentei facturii |
moneda | char(3) | Moneda |
curs | money | Cursul valutei |
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) |
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) |
cont_debit | varchar(17) | Cont debit. Poate fi de forma 418.1, programul corectand automat formatul |
id_client | varchar(25) | Codul intern al clientului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica cif_client sau den_client) |
id_extern_client | varchar(50) | Id-ul extern al clientului (optional daca se specifica id_client, cif_client sau den_client) |
cif_client | varchar(20) | Codul fiscal / CNP al clientului (optional daca se specifica id_client sau den_client) |
den_client | varchar(100) | Denumirea clientului (optional daca se specifica id_client sau cif _client) |
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 daca se specifica id_delegat sau den_delegat) |
den_delegat | varchar(30) | Denumirea delegatului (optional daca se specifica id_delegat) |
observatii | varchar(500) | 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) |
numar_auto | varchar(20) | Numarul de inmatriculare al masinii |
incasare_bon_fiscal | bit | Incasare cu bon fiscal |
id_transp | varchar(25) | Codul intern al transportatorului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_transp) |
id_extern_transp | varchar(25) | Id-ul extern al transportatorului (optional daca se specifica id_transp sau den_transp) |
cif_transp | varchar(20) | Codul fiscal / CNP al transportatorului (optional daca se specifica id_transp sau den_transp) |
den_transp | varchar(100) | Denumirea transportatorului (optional daca se specifica id_transp) |
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) |
id_extern_agent | varchar(25) | Id-ul extern al agent (optional daca se specifica id_agent sau den_agent) |
data_int_cantar | smalldatetime | Data intrare cantar |
data_ies_cantar | smalldatetime | Data iesire cantar |
disp_liv | varchar(20) | Disp. livrare |
id_adresa | varchar(25) | Codul intern al adresei 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) |
id_extern_adresa | varchar(50) | Id-ul extern al adresei (optional daca se specifica id_adresa sau den_adresa) |
den_adresa | varchar(200) | Denumirea adresei |
data_liv | date | Data de livrare a produselor |
ANEXA C. Tabel linii: importex_avize_clienti_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 sau codul de selectie al produsului(optional daca se specifica id_produs sau den_produs). In cazul in care nu se gaseste niciun cod de bare cu aceasta valoare se va cauta si in campul cod selectie. |
den_produs | varchar(173) | 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 | money | Pretul de vanzare fara TVA in moneda facturii |
pret_vanzare_tva | money | Pretul de vanzare cu TVA in moneda facturii |
cota_tva_ies | int | Cota TVA iesire (optional, implicit e preluata din nomenclator) |
data_expirare | date | Data expirarii (optional) |
denumire_sup | varchar(250) | Denumire suplimentara (optional) |
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_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 |
id_extern_comanda | varchar(50) | Id-ul extern al comenzii (optional daca se specifica id_comanda) |
serie_comanda | varchar(10) | Seria/numarul comenzii (optional) |
numar_comanda | varchar(20) | Numarul comenzii |
data_comanda | date | Data comenzii |
corectie_tva | money | Corectie TVA |
id_extern_centru_profit | varchar(25) | Id-ul extern al centrului de profit (optional daca se specifica id_centru_profit sau den_centru_profit) |
id_linie_comanda | varchar(32) | Id-ul intern al liniei de comanda, in formatul ANLUNA_PCTLCR_ID |
ANEXA D. Tabel erori posibile la importul facturilor clienti:
Coloana | Tip |
---|---|
ACL001 | Lipsa date (tabelul de import nu are nicio inregistrare) |
ACL002 | Numar nespecificat |
ACL003 | Client nespecificat |
ACL004 | Gestiune nespecificata |
ACL005 | Cont debit nespecificat |
ACL006 | Urmatoarele conturi sunt invalide... |
ACL007 | Urmatoarele coduri de carnet nu exista in nomenclator... |
ACL008 | Produs nespecificat |
ACL009 | Cont produs nespecificat... |
ACL010 | Lipsa antet |
ACL011 | Cont debit invalid ... |
ACL012 | Urmatoarele denumiri nu identifica unic gestiunea... |
ACL013 | Lipsa gestiune in nomenclator... |
ACL014 | Urmatoarele coduri fiscale nu identifica unic partenerul ... |
ACL015 | Urmatoarele denumiri nu identifica unic partenerul ... |
ACL016 | Lipsa partener in nomenclator |
ACL017 | Document deja existent |
ACL018 | Urmatoarele conturi sunt invalide ... |
ACL019 | Urmatoarele conturi nu identifica unic tipul in nomenclatorul de bunuri si servicii ... |
ACL020 | Lipsa pozitie in nomenclator bunuri si servicii ... |
ACL021 | Urmatoarele coduri nu identifica unic produsul ... |
ACL022 | Urmatoarele denumiri nu identifica unic produsul ... |
ACL023 | Lipsa produs in nomenclator ... |
ACL024 | Urmatoarele denumiri nu identifica unic centrul de profit ... |
ACL025 | Lipsa centru de profit in nomenclator ... |
ACL026 | Cantitate insuficienta in stoc |
ACL027 | Lipsa autovehicul in nomenclator |
ACL028 | Urmatoarele numere de inmatriculare nu identifica unic autovehiculul ... |
ACL029 | Urmatoarele denumiri nu identifica unic delegat ... |
ACL030 | Lipsa delegat in nomenclator ... |
ACL031 | Sesiunea documentului a fost blocata la modificari |
ACL032 | Sesiunea documentului depaseste sesiunea curenta |
ACL033 | Exista linii cu pret de achizitie negativ |
ACL034 | Exista linii cu pret de vanzare negativ |
ACL035 | Valoarea totala a documentului importat difera de cea presetata in campul [Valoare] |
ACL036 | Urmatoarele id-uri externe nu identifica unic gestiunea |
ACL037 | Urmatoarele id-uri externe nu identifica unic partenerul |
ACL038 | Urmatoarele id-uri externe nu identifica unic delegat |
ACL039 | Urmatoarele id-uri externe nu identifica unic produsul |
ACL040 | Urmatoarele id-uri externe nu identifica unic comanda |
ACL041 | Lipsa id comanda in nomenclator |
ACL042 | Urmatoarele denumiri nu identifica unic o adresa de livrare |
ACL043 | Lipsa adresa de livrare in nomenclator |
ACL044 | Urmatoarele informatii nu identifica unic comanda client |
ACL045 | Urmatoarele coduri nu identifica unic produsul dupa cod selectie |
ACL046 | Urmatoarele id-uri externe nu identifica unic o adresa de livrare |
ACL047 | Clientul din aviz difera de clientul din comanda client |
ACL048 | Urmatoarele id-uri externe nu identifica unic transportatorul |
ACL049 | Urmatoarele coduri fiscale nu identifica unic transportatorul |
ACL050 | Urmatoarele denumiri nu identifica unic trasnportatorul |
ACL051 | Lipsa transportator in nomenclator |
ACL052 | Urmatoarele id-uri externe nu identifica unic agentul de vanzare |
ACL053 | Urmatoarele denumiri nu identifica unic agentul de vanzare |
ACL054 | Lipsa agent de vanzare in nomenclator |
ACL055 | Urmatoarele id-uri externe nu identifica unic centrul de profit |
ACL056 | Urmatoarele valori nu identifica unic moneda |
ACL057 | Lipsa moneda in nomenclator |
ACL058 | Cantitate nespecificata |
ACL059 | Lipsa linie comanda |
ACL060 | Urmatoarele informatii nu identifica unic avizul de client |
ACL061 | Lipsa aviz client |
ACL062 | Clientul din avizul referinta nu corespunde cu cel de pe avizul storno |
ACL063 | Format data expirare invalid. Interval permis 1900-01-01 - 2079-06-06 |