
Import comenzi interne
Importul comenzilor interne 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_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_comenzi_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: comenziclienti. Cheia primara a tabelului: anluna + pct_lcr + id.
- Linii de documente pentru produse: lincomnzclienti. Legatura cu antetul anluna + pl_comcli + id_comcli.
ANEXA A. Parametri import:
Câmp | Tip | Descriere |
---|---|---|
id_importex | varchar(50) | 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 |
ANEXA B. Tabel antete document: importex_comenzi_clienti avand structura:
Coloana | Tip | Descriere |
---|---|---|
id_importex | varchar(50) | 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 |
tip_document | varchar(15) | Tipul documentului (Comanda client, Comanda interna, Deviz lucrari) (optional, implicit Comanda client) |
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_valabil | date | Data de valabilitate a comenzii |
data_livrare | date | Data livrarii |
scadenta | smallint | Numar de zile scadente de la data documentului |
moneda | char(3) | Moneda (RON, EUR) (optional, implicit RON) |
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_gestiune_in | varchar(25) | Codul intern al beneficiarului 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_in | varchar(30) | Denumirea beneficiarului (optional daca se specifica id_gestiune_in) |
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 agentului (optional daca se specifica id_agent, den_agent) |
den_agent | varchar(60) | Denumirea agentului (optional daca se specifica id_agent) |
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, 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 comenzii 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 pregatirii (optional daca se specifica id_pregatire, den_pregatire) |
den_pregatire | varchar(30) | Denumirea salariatului insarcinat cu pregatirea comenzii (optional daca se specifica id_pregatire) |
id_adresa | varchar(25) | Codul intern al adresei in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci adresa 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, den_adresa) |
den_adresa | varchar(50) | Denumirea adresei (optional daca se specifica id_adresa) |
observatii | varchar(250) | Observatii document |
rezervare | bit | Cu rezervare marfa pe stoc |
aprobare | bit | Comanda aprobata |
validare | bit | Se va valida sau nu documentul dupa salvare |
valoare | money | Valoarea inclusiv TVA pentru control final |
id_ruta | varchar(25) | Codul intern al rutei in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci ruta este considerat implicit 1 (optional daca se specifica den_ruta) |
den_ruta | varchar(100) | Denumirea rutei (optional daca se specifica id_ruta) |
id_program | varchar(25) | Codul intern al programului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci programul este considerat implicit 1 (optional daca se specifica den_program) |
den_program | varchar(250) | Denumirea programului (optional daca se specifica id_program) |
discount | money | Discount |
discount_proc | decimal(5,2) | Discount procentual |
id_cursa | varchar(25) | Codul intern al cursei in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional, daca se specifica den_cursa) |
den_cursa | varchar(100) | Denumirea cursei (optional, daca se specifica id_cursa) |
taxare_inversa | bit | Comanda cu taxare inversa (optional, implicit 0) |
den_sursa_marketing | varchar(100) | Denumirea sursei de marketinh (optional, daca se specifica id_sursa_marketing) |
id_sursa_marketing | varchar(25) | Codul intern al sursei de marketing in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional, daca se specifica den_cursa) |
ANEXA C. Tabel linii: importex_comenzi_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) |
cod_produs | varchar(20) | Codul de bare al produsului (optional daca se specifica id_produs sau den_produs) |
den_produs | varchar(173) | 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) |
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_vanzare | money | Pretul de vanzare fara TVA in moneda facturii (daca se omite, se calculeaza automat din pretul de vanzare cu TVA) |
pret_vanzare_tva | money | Pretul de vanzare cu TVA in moneda facturii (daca se omite, se calculeaza automat din pretul de vanzare fara TVA) |
cota_tva_ies | numeric(2,0) | Cota TVA iesire (optional, implicit e preluata din nomenclator) |
data_expirare | date | Data expirarii (optional) |
denumire_sup | varchar(250) | Denumire suplimentara (optional) |
discount | money | Discount |
discount_proc | decimal(5,2) | Discount procentual |
pret_furnizor | money | Pretul de achizitie al produsului de la furnizor |
id_linie_document | varchar(25) | Id linie document utilizat pentru relatia cu tabela importex_comenzi_clienti_antecalcul |
cantitate_com | numeric(13,3) | Cantitate initiala |
discount_proc_promo | decimal(5,2) | Discount procentual promotie |
discount_bonus_proc | money | Discount procentual bonus |
discount_bonus_proc_promo | decimal(5,2) | Discount procentual bonus promotie |
id_promo | varchar(100) | Codul intern al promotiei in formatul ID(PCT_LCR). |
ANEXA D. Tabel erori posibile la importul comenzilor interne:
Coloana | Descriere |
---|---|
CCL001 | Lipsa date |
CCL002 | client nespecificat |
CCL003 | Gestiune nespecificata |
CCL004 | Moneda nespecificata |
CCL005 | Produs nespecificat |
CCL006 | Cont produs nespecificat |
CCL007 | Lipsa antet |
CCL008 | Urmatoarele valori nu identifica unic moneda |
CCL009 | Lipsa moneda in nomenclator |
CCL010 | Urmatoarele denumiri nu identifica unic gestiunea |
CCL011 | Lipsa gestiune in nomenclator |
CCL012 | Urmatoarele coduri fiscale nu identifica unic partenerul |
CCL013 | Urmatoarele denumiri nu identifica unic partenerul |
CCL014 | Lipsa partener in nomenclator |
CCL015 | Urmatoarele denumiri nu identifica unic agentul |
CCL016 | Lipsa agent in nomenclator |
CCL017 | Document deja existent |
CCL018 | Urmatoarele conturi sunt invalide |
CCL019 | Urmatoarele conturi nu identifica unic tipul in nomenclatorul de bunuri si servicii |
CCL020 | Lipsa pozitie in nomenclator bunuri si servicii |
CCL021 | Urmatoarele coduri nu identifica unic produsul |
CCL022 | Urmatoarele denumiri nu identifica unic produsul |
CCL023 | Lipsa produs in nomenclator |
CCL024 | Lipsa produs discount in nomenclator |
CCL025 | Procent discount invalid |
CCL026 | Urmatoarele denumiri nu identifica unic o ruta |
CCL027 | Lipsa ruta in nomenclator |
CCL028 | Urmatoarele denumiri nu identifica unic un program de target |
CCL029 | Lipsa program target in nomenclator |
CCL030 | Urmatoarele denumiri nu identifica unic adresa |
CCL031 | Lipsa adresa in nomenclator |
CCL032 | Tip document invalid |
CCL033 | Gestiune intrare nespecificata pentru comanda interna |
CCL034 | Urmatoarele denumiri nu identifica unic gestiunea de intrare |
CCL035 | Lipsa gestiune intrare in nomenclator |
CCL036 | Urmatoarele denumiri nu identifica unic o cursa |
CCL037 | Lipsa cursa in nomenclator |
CCL038 | Urmatoarele conturi sunt invalide |
CCL039 | Urmatoarele conturi nu identifica unic tipul in nomenclatorul de bunuri si servicii |
CCL040 | Lipsa pozitie in nomenclator bunuri si servicii |
CCL041 | Urmatoarele coduri nu identifica unic produsul |
CCL042 | Urmatoarele denumiri nu identifica unic produsul |
CCL043 | Lipsa produs in nomenclator |
CCL044 | Urmatoarele denumiri nu identifica unic manopera |
CCL045 | Lipsa manopera in nomenclator |
CCL046 | Urmatoarele denumiri nu identifica unic o sursa marketing |
CCL047 | Lipsa sursa marketing in nomenclator |
CCL048 | Urmatoarele coduri fiscale nu identifica unic distribuitorul |
CCL049 | Urmatoarele denumiri nu identifica unic distribuitorul |
CCL050 | Lipsa distribuitor in nomenclator |
CCL051 | Urmatoarele denumiri nu identifica unic delegatul |
CCL052 | Lipsa delegat in nomenclator |
CCL053 | Urmatoarele id-uri externe nu identifica unic partenerul |
CCL054 | Urmatoarele id-uri externe nu identifica unic agentul |
CCL055 | Urmatoarele id-uri externe nu identifica unic delegatul |
CCL056 | Urmatoarele id-uri externe nu identifica unic salariatul |
CCL057 | Urmatoarele id-uri externe nu identifica unic o adresa de livrare |
CCL058 | Urmatoarele id-uri externe nu identifica unic produsul |
CCL059 | Urmatoarele id-uri externe nu identifica unic produsul |
CCL060 | Urmatoarele coduri nu identifica unic produsul dupa cod selectie |
CCL061 | Comanda cu id-ul ... nu a fost gasita! |
CCL062 | Calcul eronat pret vanzare pentru produsul |
CCL063 | Unitatea de masura pentru articolul ... nu permite cantitati fractionare. |
CCL064 | Nu am găsit produsul ... in lista de pret! |
CCL065 | Urmatoarele denumiri nu identifica unic curierul |
CCL066 | Lipsa curier in nomenclator |
CCL067 | Urmatoarele id-uri externe nu identifica unic centrul de profit |
CCL068 | Urmatoarele denumiri nu identifica unic centrul de profit |
CCL069 | Lipsa centru de profit in nomenclator |
CCL070 | Urmatoarele denumiri nu identifica unic promotia dorita |
CCL071 | Lipsa promotie dorita in nomenclator |
CCL072 | Urmatoarele denumiri nu identifica unic modul de livrare |
CCL073 | Lipsa mod livrare in nomenclator |