413 lines
19 KiB
Plaintext
413 lines
19 KiB
Plaintext
*** AVIZ TRANSFER (apelat din ointroduceri.prg dupa scrierea NIR-ului pret de lista id_set 231, 247, 266)
|
|
|
|
*!* 30.03.2010
|
|
*!* marius.mutu
|
|
*!* completare parametrii V_SERIE_ACT_INCASARE, V_DATAORA_EXP la apelul pack_facturare.scrie_factura2
|
|
|
|
*!* 19.05.2010
|
|
*!* marius.mutu
|
|
*!* finalizeaza_scriere_verificare - apel parametru aditional
|
|
|
|
|
|
*!* 05.11.2010
|
|
*!* marius.mutu
|
|
*!* adauga_articol_factura + parametru multiplicator_curs = 1
|
|
|
|
*!* 13.06.2017
|
|
*!* marius.mutu
|
|
*!* scatter name poArt memo - nu exporta campul "explicatia" MEMO
|
|
|
|
Private ptDataOra
|
|
Local lnIdSet,lnIdTipDoc,lcCursorVerificare,lcCursorFinal,pcSirDifAcont ,pcSirDifPart,lnSucces
|
|
lnSucces = 1
|
|
lcCursorVerificare = [crsactverif]
|
|
lcCursorFinal = [tmpactactan]
|
|
pcSirDifAcont = []
|
|
pcSirDifPart = []
|
|
|
|
|
|
|
|
lnIdSet = 25000 + 30 - 1 + gnScadereStoc * 10
|
|
*!* lcObiect = [frm_date_aviz_lucrare]
|
|
lnIdTipDoc = 6
|
|
If Type('poDate') <> 'O'
|
|
poDate=Createobject("oDateFactura",lnIdSet,30)
|
|
Private poGeneratorNumere
|
|
poGeneratorNumere = Createobject("oGeneratorNumere")
|
|
Else
|
|
If Type('poGeneratorNumere') <> 'U'
|
|
poGeneratorNumere.ResetNumere()
|
|
Endif
|
|
Endif
|
|
|
|
poDate.rezultat_serii=poGeneratorNumere.creeaza_cursor_serii(lnIdTipDoc)
|
|
|
|
If Type('poDateGestiuneDest') <> 'O'
|
|
poDateGestiuneDest = Createobject("oDateGestiune")
|
|
Endif
|
|
Select actactan
|
|
*!* SCATTER NAME poclient FIELDS nract
|
|
*!* ADDPROPERTY(poclient,'denumire','')
|
|
poDate.id_client = actactan.id_gestin
|
|
poDate.nume_client = actactan.GESTIN
|
|
poDate.DATAACT = actactan.DATAACT
|
|
poDate.tip = 30
|
|
*!* poClient.denumire = poDate.descriere
|
|
pnButon=1
|
|
ofrmceredate=Createobject('frm_date_aviz')
|
|
ofrmceredate.Show(1)
|
|
Release ofrmceredate
|
|
If pnButon=2
|
|
poGeneratorNumere.dezaloca_numar(lnIdTipDoc)
|
|
Release poDate,poGeneratorNumere
|
|
Return
|
|
Else
|
|
poGeneratorNumere.verifica_numar(lnIdTipDoc,poDate.nract)
|
|
Endif
|
|
|
|
*!* Select 0 As id_c,id_articol,serie,id_gestiune,id_valuta,discunitar As discount_unitar ,codmat,denumire,um,1 As gestionabil,;
|
|
*!* cant As cantitate,proc_tvav,0 As preturi_cu_tva,Curs,Pret As preta,pretv As Pret,tvav,0 As pret_val,nume_val,;
|
|
*!* 0 As discount_unitar_val,0 As tip_valuta,Cont,acont From rul_temp ;
|
|
*!* into Cursor crs_artTemp
|
|
|
|
*!* modificare v 2.0.77
|
|
*!* Create Cursor crsfactura(id_c N(20),id_temp N(20),id_articol N(20),id_pol N(20) Null,id_gestiune N(20),Cont c(4),um c(10), ;
|
|
*!* id_valuta N(10),gestionabil N(1),tip_valuta N(1),Curs N(20,4),id_jtva_coloana N(20) Null,codmat c(100),codbare c(50),codmatf c(100),;
|
|
*!* pret_achizitie N(20,4),denumire c(100),pretftva N(20,4),pretctva N(20,4),valftva N(20,4), valtva N(20,4),valctva N(20,4),;
|
|
*!* cantitate N(20,4),discountftva N(20,4), discountctva N(20,4), valdiscountftva N(20,4),valdiscounttva N(20,4),;
|
|
*!* valdiscountctva N(20,4),valdiminuatftva N(20,4),valdiminuattva N(20,4), valdiminuatctva N(20,4),proc_tvav N(20,4),cu_tva N(1),serie c(100),;
|
|
*!* vpretftva N(20,4),vpretctva N(20,4),vvalftva N(20,4),vvaltva N(20,4),vvalctva N(20,4),;
|
|
*!* vdiscountftva N(20,4),vdiscountctva N(20,4),vvaldiscountftva N(20,4),vvaldiscounttva N(20,4),;
|
|
*!* vvaldiscountctva N(20,4),vvaldiminuatftva N(20,4),vvaldiminuattva N(20,4),vvaldiminuatctva N(20,4),id_set_fact N(20) Null,explicatie c(100),;
|
|
*!* id_part_rez N(10) Null,id_lucrare_rez N(10) Null,pretv_orig N(20,4),pretd N(20,4),id_valuta_d N(20))
|
|
*!* modificare v 2.0.142
|
|
*!* creeaza_crsfactura()
|
|
creeaza_facturacrs([crsfactura])
|
|
*!* modificare v 2.0.142 ^
|
|
*!* modificare v 2.0.77 ^
|
|
|
|
*!* modificare roagest2.0.46
|
|
*!* Local lcIdJtva
|
|
*!* Select crs_artTemp
|
|
*!* Local lni
|
|
*!* Store 0 To lni
|
|
*!* Scan
|
|
*!* Scatter Name loArticole
|
|
*!* lni = lni +1
|
|
*!* Select crsfactura
|
|
*!* update_jtva_coloane([JV],'CrsCotaTva',0)
|
|
*!* Select CrsCotaTva
|
|
*!* Locate For cota_tva = (loArticole.proc_tvav*100-100)
|
|
*!* If Found()
|
|
*!* lcIdJtva = id_jtva_coloana
|
|
*!* Else
|
|
*!* lcIdJtva = Null
|
|
*!* Endif
|
|
*!* Use In CrsCotaTva
|
|
*!* Insert Into crsfactura ;
|
|
*!* (id_c,id_temp,id_articol,id_gestiune,Cont,um,;
|
|
*!* id_valuta,gestionabil ,tip_valuta ,Curs ,id_jtva_coloana ,codmat ,;
|
|
*!* pret_achizitie,denumire ,pretftva ,pretctva ,valftva , valtva ,valctva ,;
|
|
*!* cantitate ,discountftva , discountctva , valdiscountftva ,valdiscounttva ,;
|
|
*!* valdiscountctva ,valdiminuatftva ,valdiminuattva , valdiminuatctva ,proc_tvav ,cu_tva ,serie ,;
|
|
*!* id_set_fact ,explicatie,id_pol ) ;
|
|
*!* values (;
|
|
*!* lni,loArticole.id_c,loArticole.id_articol,loArticole.id_gestiune,loArticole.Cont,loArticole.um,;
|
|
*!* loArticole.id_valuta,loArticole.gestionabil,loArticole.tip_valuta,loArticole.Curs,lcIdJtva ,loArticole.codmat,;
|
|
*!* loArticole.preta,loArticole.denumire,loArticole.Pret,loArticole.Pret+loArticole.tvav,Round(loArticole.cantitate*loArticole.Pret,gnpa),Round(loArticole.cantitate*loArticole.tvav,gnpa),Round((loArticole.cantitate*loArticole.Pret)+(loArticole.cantitate*loArticole.tvav),gnpa),;
|
|
*!* loArticole.cantitate,0,0,0,0,;
|
|
*!* 0,Round(loArticole.cantitate*loArticole.Pret,gnpa),Round(loArticole.cantitate*loArticole.tvav,gnpa),Round((loArticole.cantitate*loArticole.Pret)+(loArticole.cantitate*loArticole.tvav),gnpa),loArticole.proc_tvav,loArticole.preturi_cu_tva,'',;
|
|
*!* null,'',Null)
|
|
*!* &&25039
|
|
|
|
*!* Select crs_artTemp
|
|
*!* Endscan
|
|
|
|
*!* ar trebui comasat if-ul de mai jos cu completeaza_facturacrs din ofacturare_stoc.prg
|
|
Local lnPretCuTva
|
|
lnPretCuTva = Iif(INLIST(gnTipGest,6,7), 1, 0)
|
|
If !INLIST(gnTipGest,6,7)
|
|
Insert Into crsfactura (id_gestiune,id_articol,Cont,gestionabil,denumire,serie,cantitate,cu_tva,pretftva,pretctva,;
|
|
valftva,valtva,valctva,discountftva,discountctva,valdiscountftva,;
|
|
valdiscounttva, valdiscountctva, valdiminuatftva, valdiminuattva, valdiminuatctva, proc_tvav,um,codmat,codbare,codmatf,;
|
|
vpretftva,vvalftva,vvaltva,vdiscountftva,vvaldiscountftva,vvaldiscounttva,;
|
|
vvaldiminuatftva,vvaldiminuattva,vvaldiminuatctva,pretd,id_valuta_d,pret_achizitie) ;
|
|
Select id_gestiune,id_articol,Cont,;
|
|
1 as gestionabil,denumire, Nvl(serie,' ') As serie, cant As cantitate,m.lnPretCuTva As cu_tva,;
|
|
Round(pretv,gnPPretV) As pretftva,;
|
|
Round(pretv,gnPPretV) + Round(Round(pretv,gnPPretV) * (proc_tvav-1),gnPPretV) As pretctva,;
|
|
Round(Round(pretv,gnPPretV)*cant,gnPc) As valftva,;
|
|
ROUND(Round(pretv*cant,gnPc)*(proc_tvav-1),gnPc) As valtva, ;
|
|
Round(Round(pretv,gnPPretV)*cant,gnPc) + Round(Round(pretv*cant,gnPc)*(proc_tvav-1),gnPc) As valctva, ;
|
|
ROUND(discunitar,gnPPretV) As discountftva,;
|
|
ROUND(discunitar,gnPPretV)+Round(Round(discunitar,gnPPretV)*(proc_tvav-1),gnPPretV) As discountctva,;
|
|
Round(Round(discunitar,gnPPretV)*cant,gnPc) As valdiscountftva, ;
|
|
ROUND(Round(discunitar*cant,gnPc)*(proc_tvav-1),gnPc) As valdiscounttva, ;
|
|
Round(Round(discunitar,gnPPretV)*cant,gnPc) + Round(Round(discunitar*cant,gnPc)*(proc_tvav-1),gnPc) As valdiscountctva,;
|
|
Round(Round(pretv-discunitar,gnPPretV)*cant,gnPc) As valdiminuatftva,;
|
|
ROUND(Round((pretv-discunitar)*cant,gnPc)*(proc_tvav-1),gnPc) As valdiminuattva,;
|
|
ROUND(Round(Round(pretv-discunitar,gnPPretV)*cant,gnPc)*proc_tvav,gnPc) As valdiminuatctva,;
|
|
proc_tvav, Nvl(um,Space(50)) As um, Nvl(codmat,Space(50)) As codmat, Nvl(codbare,Space(50)) As codbare,Nvl(codmatf,Space(50)) As codmatf,;
|
|
Round(pretvval,gnPVal) As vpretftva,;
|
|
ROUND(Round(pretvval,gnPVal)*cant,gnPVal) As vvalftva,;
|
|
ROUND(Round(Round(pretvval,gnPVal)*cant,gnPVal)*(proc_tvav-1),gnPVal) As vvaltva,;
|
|
0 As vdiscountftva,0 As vvaldiscountftva,0 As vvaldiscounttva,;
|
|
Round(Round(pretvval-0,gnPVal)*cant,gnPVal) As vvaldiminuatftva,;
|
|
ROUND(Round((pretvval-0)*cant,gnPVal)*(proc_tvav-1),gnPVal) As vvaldiminuattva,;
|
|
ROUND(Round(Round(pretvval-0,gnPVal)*cant,gnPVal)*proc_tvav,gnPVal) As vvaldiminuatctva,;
|
|
pretd,id_valuta,pret From rul_temp
|
|
*!* modificare v 2.0.77 : am adaugat pretd,id_valuta
|
|
*!* modificare v 2.0.142 : am completat vvaldiminuatftva, vvaldiminuattva, vvaldiminuatctva
|
|
Else
|
|
Insert Into crsfactura (id_gestiune,id_articol,Cont,gestionabil,denumire,serie,cantitate,cu_tva,pretftva,pretctva,;
|
|
valftva,valtva,valctva,discountftva,discountctva,valdiscountftva,;
|
|
valdiscounttva, valdiscountctva, valdiminuatftva, valdiminuattva, valdiminuatctva, proc_tvav,um,codmat,codbare,codmatf,;
|
|
vpretftva,vvalftva,vvaltva,vdiscountftva,vvaldiscountftva,vvaldiscounttva,;
|
|
vvaldiminuatftva,vvaldiminuattva,vvaldiminuatctva,pretd,id_valuta_d,pret_achizitie) ;
|
|
Select id_gestiune,id_articol,Cont,;
|
|
1 as gestionabil,denumire, Nvl(serie,' ') As serie, cant As cantitate,m.lnPretCuTva As cu_tva,Round(pretv,gnPPretV) As pretftva, ;
|
|
Round(pretv+tvav,gnPPretV) As pretctva,;
|
|
Round(Round((pretv+tvav),gnPPretV)*cant,gnPc) - Round(Round((pretv+tvav)*cant,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) As valftva, ;
|
|
Round(Round((pretv+tvav)*cant,gnPc)*(proc_tvav-1)/proc_tvav,gnPc) As valtva, ;
|
|
Round(Round((pretv+tvav),gnPPretV)*cant,gnPc) As valctva, ;
|
|
ROUND(discunitar,gnPPretV) As discountftva, ;
|
|
ROUND(discunitar,gnPPretV)+Round(Round(discunitar,gnPPretV)*(proc_tvav-1),gnPPretV) As discountctva,;
|
|
Round(Round(discunitar,gnPPretV)*cant,gnPc) As valdiscountftva, ;
|
|
Round(Round(discunitar*cant,gnPc)*(proc_tvav-1),gnPc) As valdiscounttva, ;
|
|
Round(Round(discunitar,gnPPretV)*cant,gnPc) + Round(Round(discunitar*cant,gnPc)*(proc_tvav-1),gnPc) As valdiscountctva, ;
|
|
Round(Round(pretv-discunitar,gnPPretV)*cant,gnPc) As valdiminuatftva,;
|
|
ROUND(Round((pretv-discunitar)*cant,gnPc)*(proc_tvav-1),gnPc) As valdiminuattva,;
|
|
ROUND(Round(Round(pretv-discunitar,gnPPretV)*cant,gnPc)*proc_tvav,gnPc) As valdiminuatctva,;
|
|
proc_tvav, Nvl(um,Space(50)) As um,Nvl(codmat,Space(50)) As codmat, Nvl(codbare,Space(50)) As codbare,Nvl(codmatf,Space(50)) As codmatf,;
|
|
Round(pretvval,gnPVal) As vpretftva,;
|
|
ROUND(Round(pretvval,gnPVal)*cant,gnPVal) As vvalftva,;
|
|
ROUND(Round(Round(pretvval,gnPVal)*cant,gnPVal)*(proc_tvav-1),gnPVal) As vvaltva,;
|
|
0 As vdiscountftva,0 As vvaldiscountftva,0 As vvaldiscounttva,;
|
|
Round(Round(pretvval-0,gnPVal)*cant,gnPVal) As vvaldiminuatftva,;
|
|
ROUND(Round((pretvval-0)*cant,gnPVal)*(proc_tvav-1),gnPVal) As vvaldiminuattva,;
|
|
ROUND(Round(Round(pretvval-0,gnPVal)*cant,gnPVal)*proc_tvav,gnPVal) As vvaldiminuatctva,;
|
|
pretd,id_valuta,pret From rul_temp
|
|
*!* modificare v 2.0.77 : am adaugat pretd,id_valuta
|
|
*!* modificare v 2.0.142 : am completat vvaldiminuatftva, vvaldiminuattva, vvaldiminuatctva
|
|
Endif
|
|
|
|
update_jtva_coloane([JV],'CrsCotaTva',0)
|
|
Select crsFactura
|
|
Scan
|
|
Scatter Name loArticole
|
|
Select CrsCotaTva
|
|
Locate For cota_tva = (loArticole.proc_tvav*100-100)
|
|
If Found()
|
|
lcIdJtva = id_jtva_coloana
|
|
Else
|
|
lcIdJtva = Null
|
|
Endif
|
|
Select crsFactura
|
|
Replace id_jtva_coloana With lcIdJtva
|
|
Endscan
|
|
|
|
|
|
Use In CrsCotaTva
|
|
*!*\ modificare roagest2.0.46
|
|
*!* DEBUG
|
|
*!* SUSPEND
|
|
lnSucces = SQLSetprop(gnHandle,"Transactions", 2)
|
|
If lnSucces < 0
|
|
aMESSAGEBOX('Programul nu a reusit trecerea pe tranzactie manuala',0+16,'Eroare')
|
|
Else
|
|
|
|
Select actactan
|
|
Locate For Alltrim(scd) = '371' And INLIST(Alltrim(scc), '401', '408')
|
|
Select actactan
|
|
ptDataOra = dataora
|
|
poDate.DATAACT = DATAACT
|
|
lcSql = [pack_facturare.initializeaza_date_factura(] + ;
|
|
[to_date('] + Dtoc(actactan.dataireg,2) + [','YYYYMMDD'),] + ;
|
|
Nvl(Alltrim(Str(poDate.id_fdoc)),[NULL]) + [,to_date('] + Dtoc(actactan.DATAACT,2) + [','YYYYMMDD'),] + ;
|
|
[to_date('] + Alltrim(Dtoc(actactan.datascad,2)) + [','YYYYMMDD'),'] + Nvl(poDate.serie_act,[]) + [',] + ;
|
|
Alltrim(Str(poDate.nract)) + [,] + ;
|
|
Iif(Isnull(actactan.id_gestin),[NULL],Alltrim(Str(actactan.id_gestin))) + [,] + ;
|
|
Iif(Isnull(actactan.id_lucrare),[NULL],Alltrim(Str(actactan.id_lucrare))) + [,] + ;
|
|
Iif(Isnull(actactan.id_sectie),[NULL],Alltrim(Str(actactan.id_sectie))) + [,] + ;
|
|
Iif(IsNull(poDate.id_venchelt),[NULL],Alltrim(Str(poDate.id_venchelt))) + [,] + ;
|
|
Iif(Isnull(actactan.id_responsabil),[NULL],Alltrim(Str(actactan.id_responsabil))) + [,] + ;
|
|
IIF(EMPTY(nvl(poDate.explicatia4,[])),[NULL],['] + STRTRAN(ALLTRIM(poDate.explicatia4),['],['']) + [']) + [,] + ; && modificare ROAGEST v 2.1.11
|
|
Iif(Isnull(poDate.listaid),[NULL],['] + Alltrim(Iif(Type('podate.listaid')='C',poDate.listaid,Str(poDate.listaid))) + [']) + [,] + ;
|
|
['] + Alltrim(Nvl('',[])) + [',] + ;
|
|
Alltrim(Str(30)) + [,] + Alltrim(Str(actactan.id_set)) + [,] + ;
|
|
[to_date('] + Dtoc(actactan.DATAACT,2) + [','YYYYMMDD'),] + Alltrim(Str(actactan.id_valuta)) + [,] + ;
|
|
Alltrim(Str(0)) + [,] + ;
|
|
alltrim(str(actactan.tva_incasare)) + [,] + ; && modificare ROAGEST v 2.2.0
|
|
Iif(Isnull(gnIdSucursala),[NULL],Alltrim(Str(gnIdSucursala))) + [,] + ;
|
|
Alltrim(Str(gnIdUtil)) + [);]
|
|
|
|
lcSql = lcSql + [ pack_facturare.initializeaza_date_gestiune(] + Alltrim(Str(poDateGestiuneDest.id_gestiune)) + [,] + ;
|
|
Alltrim(Str(poDateGestiuneDest.id_tipgest)) + [,'] + Alltrim(poDateGestiuneDest.Cont) +[',] + ;
|
|
['] + Alltrim(Nvl(poDateGestiuneDest.acont,[])) + [');]
|
|
|
|
lcSql = [begin ] + lcSql + [ end;]
|
|
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
If lnSucces < 0
|
|
aMESSAGEBOX(goExecutor.oPrelucrareEroare(),0+16,"Eroare")
|
|
llReturn = .F.
|
|
Else
|
|
lcSql = []
|
|
Private poArt
|
|
lcSql = []
|
|
Select crsfactura
|
|
Scan
|
|
Scatter Name poArt MEMO
|
|
*!* modificare v 2.0.77 : am adaugat pretd,id_valuta_d
|
|
*!* modificare v 2.0.121 : am adaugat NULL pentru id_ctr ( in id_set_fact )
|
|
*!* 05.11.2010
|
|
lcSql = lcSql + [pack_facturare.adauga_articol_factura(] + Alltrim(Str(poArt.id_temp)) + [,] + ;
|
|
Alltrim(Str(poArt.id_articol)) + [,'] + Alltrim(Nvl(poArt.serie,[])) + [',] + ;
|
|
['] + Alltrim(Nvl(poArt.explicatie,'')) + [',] + Nvl(Alltrim(Str(poact.id_pol)),[NULL]) + [,] + ;
|
|
Nvl(Alltrim(Str(poArt.id_gestiune)),[NULL]) + [,] + Alltrim(Str(poArt.pret_achizitie,18,gnPPret)) + [,] + ;
|
|
Alltrim(Str(poArt.pretd,18,gnPPretVal)) + [,] + ;
|
|
Iif(IsNull(poArt.id_valuta_d),[NULL],Alltrim(Str(poArt.id_valuta_d))) + [,] + ;
|
|
IIF(poArt.cu_tva=0,;
|
|
IIF(poArt.tip_valuta = 0,Alltrim(Str(poArt.pretftva,18,gnPPretV)),Alltrim(Str(poArt.vpretftva,18,gnPVal))),;
|
|
IIF(poArt.tip_valuta = 0,Alltrim(Str(poArt.pretctva,18,gnPPretV)),Alltrim(Str(poArt.vpretctva,18,gnPVal)))) + [,] + ;
|
|
Alltrim(Str(poArt.id_valuta)) + [,] + Alltrim(Str(poArt.cu_tva)) + [,] + Alltrim(Str(poArt.gestionabil)) + [,] + ;
|
|
Alltrim(Str(poArt.cantitate,18,gnPCant)) + [,] + ;
|
|
IIF(poArt.cu_tva = 0,;
|
|
Iif(poArt.tip_valuta = 0,Alltrim(Str(poArt.discountftva,18,gnPPretV)),Alltrim(Str(poArt.vdiscountftva,18,gnPVal))), ;
|
|
IIF(poArt.tip_valuta = 0,Alltrim(Str(poArt.discountctva,18,gnPPretV)),Alltrim(Str(poArt.vdiscountctva,18,gnPVal)))) + [,] + ;
|
|
['] + Alltrim(Nvl(poArt.Cont,'')) + [',] + Alltrim(Str(poArt.Curs,18,4)) + [,1,] + Alltrim(Str(poArt.id_jtva_coloana)) + [,] + ;
|
|
Nvl(Alltrim(Str(poArt.id_part_rez)),[NULL]) + [,] + Nvl(Alltrim(Str(poArt.id_lucrare_rez)),[NULL]) + [,] + ;
|
|
Alltrim(Str(poArt.pretv_orig,18,gnPPretV)) + [,] + ;
|
|
Nvl(Alltrim(Str(poArt.id_set_fact)),[NULL]) + [,NULL,] + Alltrim(Str(gnIdUtil)) + [);]
|
|
*!* 05.11.2010 ^
|
|
lcSql = [begin ] + lcSql + [ end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
If lnSucces < 0
|
|
aMESSAGEBOX(goExecutor.oPrelucrareEroare(),0+16,"Eroare")
|
|
llReturn = .F.
|
|
Exit
|
|
Else
|
|
lcSql = []
|
|
Endif
|
|
Endscan
|
|
Endif
|
|
|
|
If lnSucces > 0
|
|
*!* modificare v 2.0.79 : am adaugat poDate.nid_vanzare
|
|
*!* modificare v 2.0.142
|
|
*!* lcSql = [{call pack_facturare.scrie_factura(0,0,] + ;
|
|
*!* ALLTRIM(Str(0,18,gnPc)) + [,0,] + ;
|
|
*!* [NULL,] + ;
|
|
*!* [0,] + ;
|
|
*!* [NULL,] + ;
|
|
*!* [NULL,] + ;
|
|
*!* [NULL,] + ;
|
|
*!* [null,0,0,?poDate.nid_vanzare)}]
|
|
*!* 30.03.2010
|
|
lcSql = [{call pack_facturare.scrie_factura2(0,0,] + ;
|
|
ALLTRIM(Str(0,18,gnPc)) + [,'',0,] + ;
|
|
[NULL,] + ;
|
|
[NULL,] + ;
|
|
[NULL,] + ;
|
|
[NULL,] + ;
|
|
[0,] + ;
|
|
[SYSDATE,] + ;
|
|
[NULL,] + ;
|
|
[null,0,0,?poDate.nid_vanzare)}]
|
|
*!* 30.03.2010 ^
|
|
*!* modificare v 2.0.142 ^
|
|
lnSucces = goExecutor.oExecute(lcSql,lcCursorVerificare)
|
|
If lnSucces < 0
|
|
aMESSAGEBOX(goExecutor.oPrelucrareEroare(),0+16,"Eroare")
|
|
llReturn = .F.
|
|
Endif
|
|
Endif
|
|
If lnSucces > 0
|
|
If Reccount(lcCursorVerificare)>0
|
|
gnButon = 1
|
|
Select a.*,a.suma As totftva, a.suma As tottva, Ttod(a.dataactt) As DATAACT, ;
|
|
Ttod(a.datairegt) As dataireg, Ttod(a.datascadt) As datascad, ;
|
|
0 As pozitie_1, 0 As pozitie_2 From (lcCursorVerificare) a Into Cursor (lcCursorFinal) Readwrite
|
|
Use In (lcCursorVerificare)
|
|
Select (lcCursorFinal)
|
|
Do Form verificare With .T.,.T.
|
|
If gnButon = 1
|
|
Select (lcCursorFinal)
|
|
Scan For Nvl(ascd,'') <> Nvl(ascd1,'') Or Nvl(ascc,'') <> Nvl(ascc1,'') Or ;
|
|
NVL(id_partd,0) <> Nvl(id_partd1,0) Or Nvl(id_partc,0) <> Nvl(id_partc1,0)
|
|
If Nvl(ascd,'') <> Nvl(ascd1,'') Or Nvl(ascc,'') <> Nvl(ascc1,'')
|
|
pcSirDifAcont = pcSirDifAcont + Alltrim(Str(id_act)) + [|] + Alltrim(Nvl(ascd,'')) + [|] + Alltrim(Nvl(ascc,'')) + [;]
|
|
Endif
|
|
If Nvl(id_partd,0) <> Nvl(id_partd1,0) Or Nvl(id_partc,0) <> Nvl(id_partc1,0)
|
|
If (Like([41*],scd) And Nvl(id_partd,0) <> Nvl(id_partd1,0)) ;
|
|
Or (Like([41*],scc) And Nvl(id_partc,0) <> Nvl(id_partc1,0))
|
|
aMESSAGEBOX("Nu puteti modifica clientul!",48,"Atentie")
|
|
Return .F.
|
|
Else
|
|
pcSirDifPart = pcSirDifPart + Alltrim(Str(id_act)) + [|] + Alltrim(Str(Nvl(id_partd,0))) + [|] + Alltrim(Str(Nvl(id_partc,0))) + [;]
|
|
Endif
|
|
Endif
|
|
Endscan
|
|
lnReturn = 1
|
|
gnButon = 2
|
|
llReturn = .F.
|
|
*!* modificare v 2.0.79 : am adaugat poDate.nid_vanzare
|
|
*!* 19.05.2010
|
|
lcSql = [begin pack_facturare.finalizeaza_scriere_verificare(0,] + ;
|
|
[NULL]+ [,] + ;
|
|
[NULL]+ [,] + ;
|
|
[NULL]+ [,] + ;
|
|
[0]+ [,] + ;
|
|
[SYSDATE]+ [,] + ;
|
|
[NULL]+ [,] + ;
|
|
[null,'] + Alltrim(Nvl(pcSirDifAcont,[])) + [','] + ;
|
|
ALLTRIM(Nvl(pcSirDifPart,[])) + [',0,?poDate.nid_vanzare); end;]
|
|
lnSucces = goExecutor.oExecute(lcSql)
|
|
Endif
|
|
If lnSucces<0
|
|
aMESSAGEBOX(goExecutor.oPrelucrareEroare(),16,"Eroare")
|
|
gnButon = 2
|
|
llReturn = .F.
|
|
Endif
|
|
Use In (lcCursorFinal)
|
|
Endif
|
|
Endif
|
|
Use In (Select(lcCursorVerificare))
|
|
|
|
If lnSucces > 0
|
|
Private PNTIPFACTURARE
|
|
Store 0 To PNTIPFACTURARE
|
|
listeaza_ofacturare_stoc()
|
|
Endif
|
|
Endif &&SQLSETPROP
|
|
|
|
USE IN crsfactura
|
|
|
|
IF lnSucces > 0
|
|
lnSucces = goexecutor.oexecute('COMMIT')
|
|
ELSE
|
|
poGeneratorNumere.dezaloca_numar(lnIdTipDoc)
|
|
Release poDate,poGeneratorNumere
|
|
lnSucces = goexecutor.oexecute('ROLLBACK')
|
|
ENDIF
|
|
If lnSucces < 0
|
|
aMESSAGEBOX(goexecutor.ceroare,0+16,'Eroare')
|
|
ENDIF
|
|
|
|
lnSucces = SQLSetprop(gnHandle,"Transactions", 1)
|
|
If lnSucces < 0
|
|
aMESSAGEBOX('Programul nu a reusit trecerea pe tranzactie automata',0+16,'Eroare')
|
|
ENDIF
|
|
*!* DEBUG
|
|
*!* SUSPEND
|
|
*!* prelucreaza_factura(0,0,0,;
|
|
*!* Iif(InList(poDate.tip,23,25,27,28,29,30,41) and Nvl(gnPretListSubunitati,2)=1,1,2)) && ofacturare_comun.prg
|
|
|
|
*!* lcRaport = [AVIZ_TRANSFER]
|
|
*!* lnVizualizare = Iif(Type('gnVizualAviz')='N',gnVizualAviz,1)
|
|
*!* lcSetare = [AVIZ]
|
|
*!* Local loExport
|
|
*!* loExport = Createobject("oExportConfig")
|
|
*!* loExport.listareUserReport('crsfacturafinala','FRX',lcRaport,lnVizualizare,lcSetare)
|
|
|