Import oferte clienti
Importul ofertelor 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_oferte_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_oferte_clienti_anulare cu parametrul id_importex (id lot articole importate). 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: oferprod. Cheia primara a tabelului: anluna + pct_lcr + id.
- Linii de documente pentru produse: oferprodlin. Legatura cu antetul anluna + pl_of + id_of.
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_oferte_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) | serie_document varchar(10) Seria documentului (optional) |
numar_document | varchar(20) | Numarul documentului |
data_document | date | Data documentului |
valabil | smallint | Valabilitatea ofertei exprimata in numarul de zile |
scadenta | smallint | Numar de zile scadente de la 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) |
den_gestiune | varchar(30) | Denumirea gestiunii (optional daca se specifica id_gestiune) |
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, id_extern_client sau den_client) |
id_extern_client | varchar(50) | Id-ul extern al partenerului (optional daca se specifica id_client, cif_client, 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_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 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) |
id_agent_sec | varchar(25) | Codul intern al agentului de vanzari secundar 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_sec) |
id_extern_agent_sec | varchar(25) | Id-ul extern al agentului secundar (optional daca se specifica id_agent_sec sau den_agent_sec) |
den_agent_sec | varchar(100) | Denumirea agentului de vanzari secundar (optional daca se specifica id_agent_sec) |
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(100) | Denumirea delegatului (optional daca se specifica id_delegat) |
id_pregatire | varchar(25) | Codul intern al salariatului insarcinat cu pregatirea ofertei in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_pregatire) |
id_extern_pregatire | varchar(25) | Id-ul extern al salariatului insarcinat cu pregatirea ofertei (optional daca se specifica id_pregatire, den_pregatire) |
den_pregatire | varchar(100) | Denumirea salariatului insarcinat cu pregatirea ofertei (optional daca se specifica id_pregatire) |
id_oportunitate | varchar(25) | Codul intern al oportunitatii in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_oportunitate) |
den_oportunitate | varchar(255) | Denumirea oportunitatii (optional daca se specifica id_oportunitate) |
validare | bit | Se va valida sau nu documentul dupa salvare |
observatii | varchar(500) | Observatii document |
errorlist | varchar(max) | Lista erorilor din antet |
ANEXA C. Tabel linii: importex_oferte_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 sau den_produs) |
den_produs | varchar(231) | Denumirea produsului (optional daca se specifica id_produs sau cod_produs) |
tip_produs | varchar(3) | Codul din 3 caractere corespunzator tipului de produs definit in nomenclatorul de bunuri si servicii (optional daca se specifica cont_produs) |
cantitate | numeric(13,3) | Cantitatea |
moneda | char(3) | Moneda (RON, EUR) (optional, implicit RON) |
pret_furnizor | money | Pretul de achizitie al produsului de la furnizor |
pret_vanzare | money | Pretul de vanzare fara TVA in moneda ofertei (daca se omite, se calculeaza automat din pretul de vanzare cu TVA) |
discount | money | Discount |
discount_proc | decimal(5,2) | Discount procentual |
cota_tva_ies | numeric(2,0) | Cota TVA iesire (optional, implicit e preluata din nomenclator) |
denumire_sup | varchar(500) | Denumire suplimentara (optional) |
errorlist_linii | varchar(max) | Lista erorilor din linii |
ANEXA D. Tabel erori posibile la importul facturilor clienti:
Coloana | Descriere |
---|---|
OFC001 | Lipsa date (tabelul de import nu are nicio inregistrare) |
OFC002 | Client nespecificat |
OFC003 | Gestiune nespecificata |
OFC004 | Moneda nespecificata |
OFC005 | Produs nespecificat |
OFC006 | Procent discount invalid |
OFC007 | Lipsa antet |
OFC008 | Urmatoarele valori nu identifica unic moneda |
OFC009 | Lipsa moneda in nomenclator |
OFC010 | Urmatoarele denumiri nu identifica unic gestiunea |
OFC011 | Lipsa gestiune in nomenclator |
OFC012 | Urmatoarele id-uri externe nu identifica unic partenerul |
OFC013 | Urmatoarele coduri fiscale nu identifica unic partenerul |
OFC014 | Urmatoarele denumiri nu identifica unic partenerul |
OFC015 | Lipsa partener in nomenclator |
OFC016 | Urmatoarele id-uri externe nu identifica unic agentul |
OFC017 | Urmatoarele denumiri nu identifica unic agentul |
OFC018 | Lipsa agent secundar in nomenclator |
OFC019 | Urmatoarele id-uri externe nu identifica unic agentul secundar |
OFC020 | Urmatoarele denumiri nu identifica unic agentul secundar |
OFC021 | Lipsa agent secundar in nomenclator |
OFC022 | Urmatoarele id-uri externe nu identifica unic delegatul |
OFC023 | Urmatoarele denumiri nu identifica unic delegatul |
OFC024 | Lipsa delegat in nomenclator |
OFC025 | Urmatoarele id-uri externe nu identifica unic salariatul |
OFC026 | Urmatoarele denumiri nu identifica unic salariatul |
OFC027 | Lipsa salariat (pregatire) in nomenclator |
OFC028 | Document deja existent |
OFC029 | Urmatoarele denumiri nu identifica unic oportunitatea |
OFC030 | Lipsa oportunitate in nomenclator |
OFC031 | Urmatoarele id-uri externe nu identifica unic produsul |
OFC032 | Urmatoarele denumiri nu identifica unic produsul |
OFC033 | Lipsa produs in nomenclator |
OFC034 | Lipsa produs discount in nomenclator |