#13: formular de facturare unificat - etapa curenta
Squash al branch-ului de lucru plan13-s2. Clase: ofacturare (nucleul formularului unificat), ofacturare_comun, ferestre_cere_date, ocomenzi, caut_ora (lista de preturi in combo-urile de cautare), omodificari. Programe: ofacturare impartit - ofacturare_antet, ofacturare_rutare_scriere si ogrid_latimi sunt fisiere noi; oproceduri_facturare primeste discountul pe linie si cota standard de TVA cand articolul nu are cota pe politica. Documentatie: capcana SQLExec no_data_found, conventia de encoding, depanarea testelor VFP si regulile de lucru - conflictele cu modificarile venite din alte proiecte sunt rezolvate pastrand ambele parti. Loguri de rulare a testelor scoase din versionare; testele raman. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PkyjGyrV2S7932om4kfSiK
This commit is contained in:
@@ -117,7 +117,7 @@ Endproc && facturare_lista_de_preturi
|
||||
************************************ SFARSIT: facturare_lista_de_preturi ***********************************
|
||||
************************************ INCEPUT: facturare_contracte ******************************************
|
||||
Procedure facturare_contracte
|
||||
LPARAMETERS tcTip
|
||||
LPARAMETERS tcTip, toSursa
|
||||
|
||||
LOCAL lcTip
|
||||
lcTip = UPPER(ALLTRIM(TRANSFORM(m.tcTip)))
|
||||
@@ -127,17 +127,18 @@ Procedure facturare_contracte
|
||||
ENDIF
|
||||
DO CASE
|
||||
CASE m.lcTip = 'FACTURA LEI'
|
||||
factureaza(2)
|
||||
factureaza(2, NULL, toSursa)
|
||||
CASE m.lcTip = 'INVOICE'
|
||||
factureaza(6)
|
||||
factureaza(6, NULL, toSursa)
|
||||
CASE m.lcTip = 'FACTURA VALUTA'
|
||||
factureaza(52)
|
||||
factureaza(52, NULL, toSursa)
|
||||
ENDCASE
|
||||
Endproc && facturare_contracte
|
||||
************************************ SFARSIT: facturare_contracte ******************************************
|
||||
************************************ INCEPUT: facturare_comenzi ********************************************
|
||||
Procedure facturare_comenzi
|
||||
factureaza(3)
|
||||
LPARAMETERS toSursa
|
||||
factureaza(3, NULL, toSursa)
|
||||
Endproc && facturare_comenzi
|
||||
************************************ SFARSIT: facturare_comenzi ********************************************
|
||||
************************************ INCEPUT: facturare_avize ***********************************************
|
||||
@@ -338,7 +339,7 @@ Procedure vizualizare_facturi
|
||||
|
||||
lcSchema = ['ales n(1),id_vanzare n(20),id_comanda n(20),dataora t,dataora_exp t,data_act d,data_scad d,sters n(1),dataoras t,numar_act n(14),serie_act c(10),'+] + ;
|
||||
['tip n(5),id_part n(10),discount n(17,4),disc_fara_tva n(17,4),discount_evidentiat n(1),text_aditional M,facturat n(1),data_facturat t,'+] + ;
|
||||
['explicatie c(240),altele c(200),client c(100),cod n(20),id_util I,utilizator c(30),utils c(30),utilfact c(30),delegat c(70),'+] + ;
|
||||
['explicatie c(240),altele c(200),client c(100),cod n(20),id_util I,utilizator c(30),utils c(30),utilfact c(30),id_utilm I,utilm c(30),dataoram t,delegat c(70),'+] + ;
|
||||
['bidelegat c(30),cnpdelegat c(15),nume_agent c(70),nrinmat c(10),total_fara_tva n(20,4),total_tva n(20,4),total_cu_tva n(20,4),id_gestiune n(10),'+] + ;
|
||||
['serie_chit c(20),nr_incasare n(10),incasat n(17,4),in_valuta n(1),sucursala c(100),id_ruta n(10),ruta c(100),curs n(20,4),multiplicator n(10),nume_val c(50),'+] + ;
|
||||
['valuta c(50), id_valuta n(5), valval n(20,4), tvaval n(20,4), totval n(20,4),'+] + ;
|
||||
@@ -350,7 +351,7 @@ Procedure vizualizare_facturi
|
||||
|
||||
lcSelect = ['select 0 as ales,id_vanzare,id_comanda,dataora,dataora_exp,data_act,data_scad,sters,dataoras,numar_act,serie_act,'+] + ;
|
||||
['tip,id_part,discount,disc_fara_tva,discount_evidentiat,text_aditional,facturat,data_facturat,'+] + ;
|
||||
['explicatie,altele,client,cod,id_util,utilizator,utils,utilfact,delegat,bidelegat,cnpdelegat,'+] + ;
|
||||
['explicatie,altele,client,cod,id_util,utilizator,utils,utilfact,id_utilm,utilm,dataoram,delegat,bidelegat,cnpdelegat,'+] + ;
|
||||
['nume_agent,nrinmat,total_fara_tva,total_tva,total_cu_tva,id_gestiune,serie_chit,nr_incasare,incasat,'+] + ;
|
||||
['in_valuta,sucursala,id_ruta,ruta,curs,multiplicator,nume_val,'+] + ;
|
||||
['valuta,id_valuta,valval,tvaval,totval,'+] + ;
|
||||
@@ -2391,4 +2392,56 @@ Function calculeaza_totaluri
|
||||
Release lnProcTvav_19_119
|
||||
Return toArticol
|
||||
Endfunc
|
||||
******************************************* SFARSIT: calculeaza_totaluri *******************************************
|
||||
******************************************* SFARSIT: calculeaza_totaluri *******************************************
|
||||
|
||||
******************************************* INCEPUT: recalc_discount_linie *******************************************
|
||||
Function recalc_discount_linie
|
||||
Lparameters toArticol, tnValoare, tnTip
|
||||
Local lnProcent, lnDiscountTva, lnDiscountTva_val
|
||||
If toArticol.cu_tva = 0
|
||||
Do Case
|
||||
Case tnTip = 1
|
||||
lnProcent = tnValoare
|
||||
If toArticol.tip_valuta = 0
|
||||
toArticol.discountftva = Round(toArticol.pretftva * lnProcent / 100, gnPPretV)
|
||||
Else
|
||||
toArticol.vdiscountftva = Round(toArticol.vpretftva * lnProcent / 100, gnPVal)
|
||||
toArticol.discountftva = Round(toArticol.vdiscountftva * toArticol.Curs / toArticol.multiplicator, gnPPretV)
|
||||
Endif
|
||||
Case tnTip = 2
|
||||
toArticol.discountftva = tnValoare
|
||||
Case tnTip = 3
|
||||
toArticol.vdiscountftva = tnValoare
|
||||
toArticol.discountftva = Round(toArticol.vdiscountftva * toArticol.Curs / toArticol.multiplicator, gnPPretV)
|
||||
Endcase
|
||||
lnDiscountTva = Round(toArticol.discountftva * (toArticol.proc_tvav-1), gnPPretV)
|
||||
toArticol.discountctva = lnDiscountTva + toArticol.discountftva
|
||||
If toArticol.tip_valuta = 1
|
||||
lnDiscountTva_val = Round(toArticol.vdiscountftva * (toArticol.proc_tvav-1), gnPVal)
|
||||
toArticol.vdiscountctva = lnDiscountTva_val + toArticol.vdiscountftva
|
||||
Endif
|
||||
Else
|
||||
Do Case
|
||||
Case tnTip = 1
|
||||
lnProcent = tnValoare
|
||||
If toArticol.tip_valuta = 0
|
||||
toArticol.discountctva = Round(toArticol.pretctva * lnProcent / 100, gnPPretV)
|
||||
Else
|
||||
toArticol.vdiscountctva = Round(toArticol.vpretctva * lnProcent / 100, gnPVal)
|
||||
toArticol.discountctva = Round(toArticol.vdiscountctva * toArticol.Curs / toArticol.multiplicator, gnPPretV)
|
||||
Endif
|
||||
Case tnTip = 2
|
||||
toArticol.discountctva = tnValoare
|
||||
Case tnTip = 3
|
||||
toArticol.vdiscountctva = tnValoare
|
||||
toArticol.discountctva = Round(toArticol.vdiscountctva * toArticol.Curs / toArticol.multiplicator, gnPPretV)
|
||||
Endcase
|
||||
toArticol.discountftva = IIF(toArticol.proc_tvav<>0,Round(toArticol.discountctva / toArticol.proc_tvav , gnPPretV),0)
|
||||
If toArticol.tip_valuta = 1
|
||||
toArticol.vdiscountftva = IIF(toArticol.proc_tvav<>0,Round(toArticol.vdiscountctva / toArticol.proc_tvav , gnPVal),0)
|
||||
Endif
|
||||
Endif
|
||||
toArticol.procdisc = IIF(toArticol.pretftva <> 0, Round(toArticol.discountftva / toArticol.pretftva * 100, 2), 0)
|
||||
Return toArticol
|
||||
Endfunc
|
||||
******************************************* SFARSIT: recalc_discount_linie *******************************************
|
||||
Reference in New Issue
Block a user