Import produse
Importul nomenclatorului de bunuri si servicii se realizeaza in doua etape:
- Inserarea in tabelul buffer a informatiilor corecte si complete. Structura tabelului este prezentata in anexa B.
- Apelarea procedurii stocate importex_produse_exec care valideaza, importa datele si goleste tabelul-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 C.
Pentru importul nomenclatorului de bunuri si servicii recomandam a se utiliza campul de legatura cod_extern, mai exact codul de bare al produsului.
Anularea unui import se face prin apelarea procedurii stocate importex_produse_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:
- Nomenclator bunuri si servicii: nomen3.
- Cheia primara a tabelului: pct_lcr + id
- Legatura cu tabelul de clase nomen1 este: pl_clasa + id_clasa
- Legatura cu tabelul de sub-clase nomen2 este: pl_subcl + id_subcl
- Nomenclator clase bunuri si servicii: nomen1.
- Cheia primara a tabelului: pct_lcr + id.
- Nomenclator sub-clase bunuri si servicii: nomen2.
- Cheia primara a tabelului: pct_lcr + id.
- Nomenclator coduri echivalente bunuri si servicii: nomen4.
- Cheia primara a tabelului: pct_lcr + id.
- Legatura cu tabelul nomen3 este: pl_pr + id_pr
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 |
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 |
manage_existing | tinyint | 0 - Blochează - procedura se oprește, returnând o eroare (valoare implicită) 1 - Suprascrie - se actualizează datele produsului existent 2 - Ignoră - se ignoră importul înregistrării curente, lăsând datele produsului neschimbate |
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 |
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 |
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 |
search_mode | tinyint | 0 - Caută după primul câmp completat, în ordinea implicită (id_intern > id_extern > cod_ext > denumire) - valoare implicită 1 - Caută după oricare dintre câmpurile completate, în ordinea implicită: id_intern > id_extern > cod_ext > denumire 2 - Caută după oricare dintre câmpurile completate, în următoarea ordine: cod_origine > cod_emag > id_extern > cod_ext > cod_selectie > denumire 3 - Caută după oricare dintre câmpurile completate, în ordinea implicită: id_intern > id_extern > cod_ext > denumire. Denumirea există deja în nomenclator, dar cu alt cod. Noul cod extern va fi adăugat la coduri echivalente 4 - Caută după oricare dintre câmpurile completate, în următoarea ordine: cod_emag > id_extern > cod_ext > cod_selectie > denumire |
ANEXA B. Tabel nomenclator: importex_produse 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) |
id_produs | varchar(25) | ID-ul extern al produsului (din aplicatia terta). (optional daca se specifica cod_ext sau denumire) |
tip | char(1) | Pentru tip produs utilizati una din variantele: N = Produs obisnuit (marfa cu amanuntul, marfa cu ridicata ... etc) P = Cheltuieli (achizitii de servicii, produse inregistrate direct pe cheltuieli ... etc) S = Servicii oferite (servicii proprii vandute catre clienti) W = Discounturi oferite X = Discounturi primite M = Imobilizari |
cod_extern | varchar(20) | Codul extern al produsului sau codul de bare al produsului (optional daca se specifica id_produs sau denumire) |
denumire | nvarchar(110) | Denumirea produsului (optional daca se specifica id_produs sau cod_ext) |
descriere | varchar(120) | Descriere produs sau o continuare a denumirii (optional) |
um | varchar(8) | Unitatea de masura a produsului. Trebuie sa existe unitatea de masura in tabelul um. |
um2 | varchar(8) | Unitatea de masura 2 a produsului. |
conv_um2 | numeric(18,8) | Conversie UM2 |
cota_tva_int | numeric(2) | Cota de TVA utilizata la receptia produsului. Trebuie sa existe cota de TVA in tabelul cote_tva. |
cota_tva_ies | numeric(2) | Cota de TVA utilizata la vanzarea produsului. Trebuie sa existe cota de TVA in tabelul cote_tva. |
id_clasa | varchar(25) | Id-ul clasei de produse, din tabelul nomen1 in formatul ID(PCT_LCR) sau doar ID. Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1. (optional daca se specifica den_clasa) |
den_clasa | varchar(30) | Denumirea clasei de produse (optional daca se specifica id_clasa). |
id_subclasa | varchar(25) | Id-ul sub-clasei de produse, din tabelul nomen2 in formatul ID(PCT_LCR) sau doar ID. Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1. (optional) |
den_subclasa | varchar(30) | Denumirea sub-clasei de produse (optional daca se specifica id_subclasa). |
id_brand | varchar(25) | Id-ul brandu-lui de produse, din tabelul brand in formatul ID(PCT_LCR) sau doar ID. Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1. (optional) |
den_ brand | varchar(30) | Denumirea brandu-lui de produse (optional optional daca se specifica id_brand). |
volum | numeric(7,3) | Volumul per unitatea de masura exprimat in metri cubi (optional). Informatie utila, de ex., pentru modulul de logistica livrari. |
ambalare | numeric(10,2) | Cantitatea de produs per unitate de ambalare (optional). Informatie utila, de ex., pentru modulul de comenzi la furnizori. |
garantie | smallint | Numarul de luni de garantie (optional). |
densitate | numeric(7,4) | Densitatea specifica (optional). |
latime | numeric(15,3) | Latimea produsului in mm (optional). |
valoric | bit | Daca se doreste doar evidenta valorica (nu si cantitativa) a unui produs = 1, iar in mod normal = 0. |
cod_echiv_furnizor | varchar(max) | Coduri echivalente separate prin spatiu. |
observatii | varchar(1000) | Observatii diverse atasate produsului (optional). Informatie utila, de ex., pentru afisarea unei descrieri mai ample pe un site de vanzari. |
id_intern | 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_ext sau denumire) |
cod_emag | varchar(100) | Cod emag |
greutate | decimal(15,5) | Masa produsului |
spec_tip | char(3) | Specificatii - Tip |
spec_descriere | nvarchar(max) | Specificatii - Descriere |
spec_instalare | nvarchar(max) | Specificatii - Instalare |
spec_utilizare | nvarchar(max) | Specificatii - Utilizare |
locatie | nvarchar(max) | Locatie |
cod_tara_origine | varchar(max) | Cod tara origine produs. |
cod_nc8 | int | Cod NC8 din nomenclatorul de produse. |
id_furn | varchar(25) | Id-ul furnizorului de produse, din tabelul nomen3 in formatul ID(PCT_LCR) sau doar ID. Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1. (optional daca se specifica cif_furn sau den_furn) |
den_furn | varchar(30) | Denumirea furnizorul de produse (optional daca se specifica id_furn sau cif_furn). |
cif_furn | varchar(25) | Codul fiscal / CNP al furnizorului de produse (optional daca se specifica id_furn sau den_furn) |
pret_achizitie | money | Pretul de achiztie |
stas | varchar(50) | S.T.A.S. |
dim | varchar(50) | Dimensiunea produsului |
val_pct_fidelitate | money | Valoare puncte fidelitate |
cod_selectie | varchar(50) | Cod selectie produs |
culoare | varchar(50) | Culoarea produsului |
status | varchar(50) | Statusul produsului |
tip_codbar | tinyint | Pentru tip cod bare utilizati una din variantele: 0 = Fara 1 = Cod nespecificat 2 = Normal Code 39 3 = Full ASCII Code 39 4 = HIBC Code 39 5 = CodaBar 6 = Code 93 7 = Code 128 8 = UCC/EAN 128 9 = Interleaved 2 of 5 10= PostNET 11= UPC-A 12= UPC-E 13= EAN/JAN-8 14= EAN/JAN-13 15= BookLand 16= MSI/Plessey 17= PDF-417 18= Aztec Cod 19= Data Matrix 20= MaxiCode 21= RSS-14 22= RSS-14 Stacked 23= RSS-14 Stacked Omnidirectional 24= RSS Limited |
aproviz_depozit | bit | Permite aprovizionarea din depozit = 1, iar in mod normal = 0. |
errorlist | varchar(max) | Lista a erorilor aparute la validarea importurilor |
timbru_verde | numeric(15,2) | Valoare timbru verde |
norma_timp | numeric(5,2) | Norma timp (ore.minute) |
masa_neta | numeric(15,5) | Masa neta |
cant_min_com | numeric(13,3) | Cantitate minima comanda client |
serieoblig | bit | Specificare serie/ lot obligatorie (1 = obligatoriu) |
url | varchar(max) | Adresa web |
unitati_target | numeric(15,2) | Unitati de target |
cod_origine | varchar(100) | Cod origine |
id_centru_profit | varchar(25) | Codul intern al gestiunii in formatul ID(PCT_LCR). |
den_centru_profit | nvarchar(100) | Denumirea gestiunii |
cod_eee | varchar(10) | Cod eee |
id_extern_centru_profit | varchar(25) | Id-ul extern al centrului de profit (optional daca se specifica id_centru_profit sau den_centru_profit) |
lungime | numeric(15,3) | Lungimea produsului |
inaltime | numeric(15,3) | Inaltimea produsului |
tip_articol | char(1) | Tipul articolului, avand una dintre valorile: (necompletat) = Articol obisnuit C = Serviciu de cazare T = Taxa hoteliera D = Masa inclusa 1 = Bacsis B = Serviciu aferent bunurilor F = Case de marcat fiscale R = Ambalaj returnabil V = Retur avans W = Discount E = Produs electronic (online) M = Constructii noi P = Meniu catering L = Serviciu tranzit vamal I = Serviciu transport international G = Bun/serviciu scutit cu drept de deducere (C.F. art. 294 alin. (5) lit. a) si b)) H = Bun/serviciu scutit cu drept de deducere (C.F. art. 294 alin. (5) lit. c) si d)) |
cod_caen | varchar(5) | Cod CAEN activitati speciale |
valoric_um2 | bit | Daca se doreste doar evidenta valorica pentru um secundara (nu si cantitativa) a unui produs = 1, iar in mod normal = 0. |
mod_vanzare_easy_retail | tinyint | Pentru mod vanzare easy retail utilizati una din variantele: 0 = Se vinde din stoc 1 = Se produce la vanzare 2 = Se produce unde exista reteta |
tip_produs | char(1) | Pentru tip produs utilizati una din variantele: C, A, P sau gol = pentru produse (tip = N) T, R sau gol = pentru servicii oferite (tip = S) |
validare | bit | Se va valida sau nu produsul dupa salvare |
adaos_minim | numeric(9,4) | Procentul adaosului minim permis. Acesta va putea fi utilizat in functiile de avertizare sau pentru blocarea facturarii |
adaos_maxim | numeric(9,4) | Procentul adaosului maxim permis. Acesta va putea fi utilizat in functiile de avertizare sau pentru blocarea facturarii |
garantie_depozitare | smallint | Numarul de luni reprezentand garantia pentru depozitarea bunurilor si serviciilor. |
sgr | bit | Daca produsul contine ambalaj de tip SGR = 1, iar in mod normal = 0 |
ANEXA C. Tabel erori posibile la importul produselor:
Coloana | Descriere |
---|---|
PRD001 | Lipsa date (tabelul de import nu are nicio inregistrare) |
PRD002 | Denumire nespecificata |
PRD003 | Tip nomenclator invalid |
PRD004 | Clasa nespecificata |
PRD005 | Lipsa unitate de masura in nomenclator ... |
PRD006 | Lipsa cota TVA intrare in nomenclator ... |
PRD007 | Lipsa cota TVA iesire in nomenclator ... |
PRD008 | Lipsa clasa in nomenclator ... |
PRD009 | Lipsa subclasa in nomenclator ... |
PRD010 | Lipsa brand in nomenclator ... |
PRD011 | Codul extern al produsului exista deja in nomenclator dar pentru un alt produs |
PRD012 | Denumire existenta deja in nomenclator... |
PRD013 | Codul de bare apare de mai multe ori in nomenclatorul de produse... |
PRD014 | ID extern existent deja in nomenclator ... |
PRD015 | ID-ul extern apare de mai multe ori in nomenclatorul de produse... |
PRD016 | Tara de origine nu exista in nomenclator... |
PRD017 | Codul fiscal pentru furnizor traditional apare de mai multe ori in nomenclatorul de parteneri... |
PRD018 | Denumirea pentru furnizorul traditional apare de mai multe ori in nomenclatorul de parteneri... |
PRD019 | Lipsa partener (furnizor traditional) in nomenclator... |
PRD020 | Denumire produs dublata... |
PRD021 | Cod produs dublat... |
PRD022 | Denumirea produsului exista deja in nomenclator dar pentru un alt produs... |
PRD023 | Cod origine dublat |
PRD024 | Cod extern existent la coduri echivalente |
PRD025 | Codul EEE nu exista in nomenclator |
PRD026 | Urmatoarele denumiri nu identifica unic centrul de profit |
PRD027 | Lipsa centru de profit in nomenclator |
PRD028 | Urmatoarele id-uri externe nu identifica unic centrul de profit |
PRD029 | Tip articol invalid |
PRD030 | Codul de selectie al produsului exista deja in nomenclator, dar pentru un alt produs |
PRD031 | Tip cod bare invalid |
PRD032 | Cod selectie dublat |
PRD033 | Mod vanzare Easy Retail invalid |
PRD034 | Tip produs invalid |
PRD035 | Tip produs invalid |
PRD036 | Tip produs invalid |