Comenzile generice livrate conţin pachetele de comenzi:
IFAC_1 - Preluare ieşiri înregistrate prin Optimall IINC_1 - Preluare încasări înregistrate prin Optimall
Pachetele de comenzi generice livrate implementează o procedură de import bine definită. Dacă este necesar, pachetele pot fi modificate de către distribuitor, astfel procedura de import poate fi schimbată în funcţie de specificul firmei beneficiare.
Facturile/comenzile se importă din fişierul de transfer definit de poziţia „ext1“ din catalogul fişierelor.
Încasările se importă din fişierul de transfer definit de poziţia „ext2“ din catalogul fişierelor.
În continuare prezentăm câteva situaţii specifice ce pot să apară şi modul în care acestea se rezolvă:
gestiunea din care se operează ieşirile
În mod prestabilit gestiunea din care se operează ieşirile este MR - Depozit mărfuri cu ridicata. Dacă este necesar gestiunea poate fi modificată astfel:
jurnalizare la nivel de pachet/document
Operaţia de import este jurnalizată, prin urmare în caz de incident operaţia care era în curs de execuţie în momentul întreruperii, poate fi refăcută.
În funcţie de parametrizare se poate reveni la ultimul document validat sau la situaţia existentă înainte de lansarea operaţiei de import.
Jurnalizarea poate avea loc la nivel de document sau la nivel de pachet.
La livrare pachetul este parametrizat pentru jurnalizare la nivel de document.
Pentru jurnalizare la nivel de pachet în secţiunea #PAC_INCEPUT în pachetul IFAC_1 se modifică rândul:
pac_writefld(„PAC_JURNALIZARE“, „D“)
în care se schimbă „D“ în „P“.
acceptarea stocului negativ
În documentele de ieşire generate pot să apară stocuri negative.
Acceptarea/tratarea stocurilor negative este o opţiune.
În mod prestabilit stocurile negative sunt acceptate şi nu sunt semnalate.
acceptarea stocului negativ şi marcarea documentului de ieşire.
O altă posibilitate este ca stocurile negative să fie acceptate însă documentele de ieşire pe care apar să fie marcate în câmpul Stare prin semnul „!“.
După desfăşurarea operaţiei de import, stocurile negative vor putea fi rezolvate prin anularea, modificarea şi revalidarea documentului.
Pentru activarea acestei opţiuni se fac următoarele modificări:
#DACA ROUND(lotm->STOCI-lotm->IESIRI-xF_Cantit, 2) < 0
# pac_stocN := .T.
#IF pac_stocN .AND. ! ("!" $ fac->STARE)
fac->STARE := RTRIM(fac->STARE)+"!"
#ENDIF
oprirea operatiei de import la primul stoc negativ.
La validarea documentului generat se sesizează stocurile negative.
Documentul se anuleaza şi operaţia de import se suspendă.
Utilizatorul poate rezolva problema, după care se reia operaţia de import.
Pentru implementare se procedeaza în felul următor:
#IF pac_stocN
fac_nb_upd := fac->NB_UPD
fac_stare := fac->STARE
fac_valid(" ")
h_meserr("Stoc negativ ! Factura: "+fac_nrfac, 1)
h_PutLine("Stoc negativ ! Factura: "+fac_nrfac)
Abandon(,"R")
#ENDIF
executarea operaţiilor de transfer din linia de comandă.
În unele situaţii este avantajoasă executarea operaţiilor de transfer din linia de comandă. De exemplu dacă agenţii transmit raportul vânzarilor/încasărilor în timp real de pe teren, acestea se depun în fişierele de transfer din calculator. În astfel de situaţii este recomandabil ca după actualizarea fişierului de transfer să se lanseze automat şi operaţia de preluare a datelor depuse. În paralel cu preluarea datelor din fişierele de transfer, baza de date poate fi operată de la o alta staţie de lucru dacă este disponibilă opţiunea de reţea.
Lansarea transferului din linia de comanda:
hMARFI dbf IFAC_1 --> import facturi pt. baza de date dbf
hMARFI dbf IINC_1 --> import încasări pt. baza de date dbf
Formatul fişierelor este dBASE III
Va exista un fişier pentru facturi şi un alt fişier pentru încasări.
Fişierele de transfer se găsesc în catalogul <dbf>\IMPEX şi sunt următoarele:
- FACTURI.DBF - identificat prin poziţia „ext1“ din Catalogul fişierelor
În fişier documentele de ieşire se transmit pe rânduri: pentru fiecare document de ieşire se completează un număr de articole egal cu numărul de rânduri de pe document.
O parte din câmpurile fişierului descriu informaţii de identificare ale documentului (ex.DOC_DATA, PART_COD), iar o altă parte descriu rândurile documentului (ex.CANT, PULIV). Câmpurile ce aparţin de partea de identificare a documentului vor avea acelaşi conţinut pentru toate rândurile documentului.
Ex. PART_COD va avea acelaşi conţinut pentru toate rândurile de pe factura cu numărul 030123.
Fişierul de interfaţă va trebui să conţină articolele grupate pe documente.
Adică articolele care descriu acelaşi document trebuie să urmeze unul după celălalt.
Structura fişierului de interfaţă:
COD_AGENT C, 3 - agentID (A01, A02, ...)
DOC_NR C, 6 - număr document
Se completează cu numărul intern al facturii/comenzii.
Se completează:
-factura - numărul intern din firmă folosit pentru
identificarea facturii emise (vansales). Va fi
înscris în câmpul NRFAC din fişierul FACT\FACTURI.DBF.
-comanda - numărul comenzii pe baza căreia se va genera
factura (presales),
DOC_NRRS C,15 - număr regim special (opţional)
Primele 3 caractere sunt considerate seria, restul
de 12 caractere reprezintă numărul. Nu este
obligatoriu ca toate caracterele din serie şi
număr să fie ocupate.
Exemplu: Seria: ACA nr: 6298299
DOC_DATA D - data facturii/comenzii
DOC_DSCAD D - data scadenţei facturii emise
Data la care documentul devine scadent.
Trebuie să existe următoarea relaţie:
DOC_DATA <= DOC_DSCAD.
PART_COD C, 7 - cod partener (ClientID)
Codul unei firme existenta din PART\FIRM.DBF, identificat
prin câmpul COD.
DOC_VAL N,15,2 - total factură cu TVA inclus (pentru comandă nu
se completeaza)
Total de plată de pe factură.
DOC_VALTVA N,15,2 - din care valoare TVA
DOC_VALTVA = suma valoare TVA din rândurile
documentului.
DOC_VALTVA = suma din rînduri
(CANT * PULIV * CotaTVA / 100 rotunjit la zero).
CotaTVA = cota TVA din ListaArticoleNomenclator.
CODMAT C,15 - cod material (articolID)
CANT N,12,3 - cantitate (coloana 3 de pe factura)
PULIV N,15,2 - preţ livrare (coloana 4 de pe factura)
REZOLVAT L, 1 - se completează cu false
După preluarea completă a unui document programul de
transfer va înscrie true.
- INCASARI.DBF - identificat prin poziţia „ext2“ din Catalogul fişierelor.
Structura fişierului de interfaţă:
COD_AGENT C, 3 - agentID (A01, A02, ...)
DOC_NR C,20 - număr document
Număr chitanţă. Este un număr unic în baza de date.
DOC_DATA D - data document
Data chitanţei.
NRFAC C, 6 - număr factură client.
NrFactura din ListaFacturiRestante, sau
o factură curentă.
PART_COD C, 7 - cod partener
Codul unei firme existenta din PART\FIRM.DBF,
identificat prin câmpul COD.
DOC_VAL N,15,2 - suma încasată
REZOLVAT L, 1 - se completează cu false
După preluarea unei chitanţe programul de transfer va
înscrie true.