Import retete productie
Importul retetelor de productie 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_retete_productie_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_retete_productie_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: catret. Cheia primara a tabelului: pct_lcr + id.
- Linii de documente pentru produse: catret_lin . Legatura cu antetul anluna + pl_ret + id_ret.
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 |
manage_existing | tinyint | 0 - Blochează - procedura se oprește, returnând o eroare (valoare implicită) 1 - Suprascrie - se actualizează datele retetei existente 2 - Ignoră - se ignoră importul înregistrării curente, lăsând datele retetei 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 |
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_retete_productie 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 |
numar_document | varchar(30) | Numarul documentului |
data_document | date | Data documentului |
id_produs | varchar(30) | 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 speicifica id_produs, cod_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(110) | 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) |
cantitate | numeric(13,3) | Cantitatea |
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) |
pret_pres | money | Pret prestabilit |
validare | bit | Se va valida sau nu documentul dupa salvare |
id_linie_productie | varchar(25) | Codul intern al liniei de productie in formatul ID(PCT_LCR). Optional, daca se specifica den_linie_productie. |
den_linie_productie | nvarchar(100) | Denumirea liniei de productie (optional daca se specifica id_linie_productie). |
prioritate | tinyint | Prioritate |
ANEXA C. Tabel linii retete productie: importex_retete_productie_lin avand structura:
Coloana | Tip | Descriere |
---|---|---|
id_document | varchar(25) | ID unic pentru identificarea documentului |
id_produs_mp | 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_mp | varchar(25) | Id-ul extern al produsului (optional daca se specifica id_produs, cod_produs sau den_produs) |
cod_produs_mp | varchar(20) | Codul de bare al produsului (optional daca se specifica id_produs sau den_produs) |
den_produs_mp | varchar(231) | Denumirea produsului (optional daca se specifica id_produs sau cod_produs) |
tip_produs_mp | 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_mp | varchar(17) | Contul produsului (optional daca se specifica tip_produs) |
cantitate_mp | numeric(13,3) | Cantitatea |
id_manopera | varchar(25) | Codul intern al manoperei in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_manopera) |
den_manopera | varchar(70) | Denumirea manoperei (optional daca se specifica id_manopera) |
faza | smallint/td> | Numarul fazei (se autoincrementeaza in functie de numarul ultimei faze adaugate) |
den_faza | varchar(50) | Denumirea fazei |
den_suplimentara | varchar(500) | Denumire suplimentara |
tip_materie_prima | int | Tipul materiei prime: 1 - De baza, 2 - Secundara, 3 - Optionala |
ANEXA D. Tabel erori posibile la importul retetelor de productie:
Coloana | Descriere |
---|---|
RPR001 | Lipsa date (tabelul de import nu are nicio inregistrare) |
RPR002 | Produs nespecificat |
RPR003 | Cont produs nespecificat |
RPR004 | Cantitate produs nespecificata |
RPR005 | Produs/Manopera nespecificat |
RPR006 | Nu e permisa specificarea pe aceeasi linie atat a produsului cat si a manoperei |
RPR008 | Lipsa antet |
RPR009 | Urmatoarele conturi sunt invalide |
RPR010 | Urmatoarele conturi nu identifica unic tipul in nomenclatorul de bunuri si servicii |
RPR011 | Lipsa pozitie in nomenclator bunuri si servicii |
RPR012 | Urmatoarele coduri nu identifica unic produsul |
RPR013 | Urmatoarele denumiri nu identifica unic produsul |
RPR014 | Lipsa produs in nomenclator |
RPR015 | Document deja existent |
RPR016 | Urmatoarele id-uri externe nu identifica unic gestiunea |
RPR017 | Urmatoarele denumiri nu identifica unic gestiunea |
RPR018 | Lipsa gestiune in nomenclator |
RPR019 | Urmatoarele conturi sunt invalide |
RPR020 | Urmatoarele conturi nu identifica unic tipul in nomenclatorul de bunuri si servicii |
RPR021 | Lipsa pozitie in nomenclator bunuri si servicii |
RPR022 | Urmatoarele coduri nu identifica unic produsul |
RPR023 | Urmatoarele denumiri nu identifica unic produsul |
RPR024 | Lipsa produs in nomenclator |
RPR025 | Urmatoarele denumiri nu identifica unic manopera |
RPR026 | Lipsa manopera in nomenclator |
RPR027 | Reteta deja existenta |
RPR028 | Urmatoarele id-uri externe nu identifica unic produsul |
RPR029 | Urmatoarele id-uri externe nu identifica unic produsul |
RPR030 | Urmatoarele denumiri nu identifica unic linia de productie |
RPR031 | Lipsa linie productie in nomenclator |
RPR032 | Tipul de materie prima nu este valid! Acesta trebuie sa aiba valoarea 0, 1, 2 sau 3. |