157 lines
4.1 KiB
Plaintext
157 lines
4.1 KiB
Plaintext
********
|
|
Procedure sitan
|
|
LPARAMETERS tnFiscala
|
|
|
|
Local lcCursor, lcCursorTemp, lcFiltru, lcSchema, lcSel, llExperimental, llSucces, lnLuna
|
|
PRIVATE pcCond, pdDataF, pdDataI, pdData, pnFiscala
|
|
pdDataI = Date(gnAn, 1, 1)
|
|
pdDataF = Date(gnAn, gnLuna, 1)
|
|
pcCond = [1=1]
|
|
IF EMPTY(m.tnFiscala) OR TYPE('tnFiscala') <> 'N'
|
|
pnFiscala = 0
|
|
ELSE
|
|
pnFiscala = m.tnFiscala
|
|
ENDIF
|
|
lcSchema = [''] &&['ceck n(1),totdebit n(16,gnPa),totcredit n(16,gnPa),id_fact n(10),id_part n(10),nume c(50),dataact D,dataireg D,nract n(14),datascad D,cont c(4),acont c(4)']
|
|
lcCursor = 'crslista'
|
|
|
|
llExperimental = .T. && 25.11.2021 llExperimental = (goApp.nExperimental = 1)
|
|
If m.llExperimental
|
|
* EXPERIMENTAL SELECTIE DIN IMOB_VSITUATIE_LUNARA IN LOC DE PACK_IMOB.CALCUL_SITUATIE_LUNARA()
|
|
* Setez luna pentru view
|
|
lcFiltru = [id_tip_imobilizare in (1,2)] + m.gcCondSucursala
|
|
|
|
For lnLuna = 1 To m.gnLuna
|
|
pdData = DATE(m.gnAn, m.lnLuna, 1)
|
|
WAIT WINDOW 'Luna ' + PADL(m.lnLuna,2,'0') + '/' + ALLTRIM(STR(m.gnAn)) NOWAIT
|
|
llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdData); end;')
|
|
If m.llSucces
|
|
lcSel = [SELECT * FROM ] + Iif(m.pnFiscala = 0, [imob_vsituatie_lunara], [imobf_vsituatie_lunara]) + [ WHERE ] + m.lcFiltru
|
|
lcCursorTemp = Sys(2015)
|
|
llSucces = goExecutor.oExecuta(m.lcSel, m.lcCursorTemp)
|
|
If !Used(m.lcCursor)
|
|
Select * From (m.lcCursorTemp) Into Cursor (m.lcCursor) Readwrite
|
|
Else
|
|
Select (m.lcCursor)
|
|
Append From Dbf(m.lcCursorTemp)
|
|
Endif
|
|
Use In (Select(m.lcCursorTemp))
|
|
Endif
|
|
Endfor
|
|
Else
|
|
lcSel = [{call pack_imob.CALCUL_SITUATIE_LUNARA(?pdDataI,?pdDataF,?pcCond,?pnFiscala,?gnIdSucursala)}]
|
|
llSucces = goExecutor.oExecuta(lcSel, lcCursor)
|
|
Endif
|
|
|
|
If !m.llSucces
|
|
Return
|
|
Endif
|
|
|
|
Select Sum(rata) As amortizare_lunara, Sum(rata + amort_prec) As amortizare_totala, data_test As ddata, Cont ;
|
|
FROM &lcCursor ;
|
|
WITH (Buffering = .T.) ;
|
|
WHERE Inlist(id_tip_imobilizare, 1, 2) ;
|
|
INTO Cursor sitmf ;
|
|
GROUP By ddata, Cont
|
|
|
|
Use In (SELECT(m.lcCursor))
|
|
|
|
Return [sitmf]
|
|
Endproc && sitan
|
|
|
|
*---------------------------------------------------------------------------
|
|
Procedure rulaje
|
|
Parameters tcCamp, tcAlias
|
|
|
|
|
|
datain = Ctod('01/' + Alltrim(Str(v_luni.nrluna)) + '/' + Alltrim(v_luni.an))
|
|
|
|
lcCamp = Alltrim(tcCamp)
|
|
|
|
If Empty(tcAlias)
|
|
lcAlias = [sitmf]
|
|
Else
|
|
lcAlias = Alltrim(tcAlias)
|
|
Endif
|
|
|
|
Select Distinct Cont From (lcAlias) Into Cursor conturi
|
|
*!* SELECT distinct ddata as luna FROM (lcAlias) INTO CURSOR luni
|
|
|
|
Select Distinct ddata As luna From (lcAlias) Into Cursor crsluni
|
|
Create Cursor luni (luna c(8))
|
|
|
|
Select crsluni
|
|
Scan
|
|
Scatter Name aaa
|
|
Select luni
|
|
Append Blank
|
|
Replace luna With Alltrim(Str(Month(aaa.luna))) + "/" + Alltrim(Str(Year(aaa.luna)))
|
|
Select crsluni
|
|
Endscan
|
|
|
|
|
|
*!* tt='create cursor rulaje (total c(6),luna d(8)'
|
|
tt = 'create cursor rulaje ( _ c(6),luna c(8)'
|
|
Select conturi
|
|
Scan
|
|
* SCAT MEMV
|
|
tt = tt + ',c' + Alltrim(Nvl(Cont, '')) + ' n(14,gnpa)'
|
|
* SELECT conturi
|
|
Endscan
|
|
|
|
|
|
tt = tt + ')'
|
|
&tt
|
|
Select rulaje
|
|
Append From Dbf('luni')
|
|
Use In luni
|
|
|
|
|
|
*sume---
|
|
Select (lcAlias)
|
|
Scan
|
|
Scatter Memv
|
|
Select rulaje
|
|
Locate For Alltrim(luna) = Alltrim(Str(Month(m.ddata))) + "/" + Alltrim(Str(Year(m.ddata)))
|
|
*!* LOCATE FOR luna=m.ddata
|
|
tt = 'REPLACE c' + Alltrim(Nvl(m.cont, '')) + ' with ' + lcCamp
|
|
&tt
|
|
Select (lcAlias)
|
|
Endscan
|
|
|
|
*totaluri---
|
|
If Lower(Alltrim(tcCamp)) = [amortizare_lunara]
|
|
Local m.c
|
|
m.c = 0
|
|
Select rulaje
|
|
Append Blank
|
|
Replace _ With 'TOTAL'
|
|
Select conturi
|
|
Scan
|
|
Scatter Memv
|
|
Select rulaje
|
|
tt = 'sum c' + Alltrim(Nvl(m.cont, '')) + ' to m.c FOR ddata<=datain'
|
|
&tt
|
|
|
|
Select rulaje
|
|
Go Bott
|
|
tt = 'REPLACE c' + Alltrim(Nvl(Cont, '')) + ' with m.c'
|
|
&tt
|
|
Select conturi
|
|
Endscan
|
|
Endif
|
|
|
|
|
|
If Used('conturi')
|
|
Use In conturi
|
|
Endif
|
|
If Used('luni')
|
|
Use In conturi
|
|
Endif
|
|
|
|
|
|
If Used(lcAlias)
|
|
Use In (lcAlias)
|
|
Endif
|
|
*------------------------------------------------------------------------------------------------
|