1326 lines
48 KiB
Plaintext
1326 lines
48 KiB
Plaintext
*!* 16.11.2009
|
|
*!* marius.mutu
|
|
*!* RegistruNrInventar, RegNrInvInCurs - export xls
|
|
*!* RegNrInvInCurs - conditie sucursala
|
|
*!* ListaImobInCurs - am mutat codul din meniu in procedura
|
|
|
|
*!* 16.05.2024
|
|
*!* marius.mutu
|
|
*!* list_inchid_amortizari - corectie apel inchidere amortizari - defalcare dupa lucrari
|
|
|
|
*--------------------------------------------------------------------------------------------------------------
|
|
Procedure _old_listare_amortizari_lunare()
|
|
Parameters Tip
|
|
*!* datain=CTOD('01/'+ALLTRIM(STR(v_luni.nrluna))+'/'+ALLTRIM(v_luni.an))
|
|
*!* datadela=CTOD("01/"+loluna.nl+"/"+loluna.an)
|
|
|
|
*!* IF Tip=1
|
|
*!* lcsql = "select * from "+gcS+".imob_vamortizarilunare_mf_c"
|
|
*!* ELSE
|
|
*!* lcsql = "select * from "+gcS+".imob_vamortizarilunare_mf_n"
|
|
*!* ENDIF
|
|
*!* lnSucces=goExecutor.oExecute(lcsql,'crsamortizarelunara1')
|
|
*!* *SELECT distinct * FROM crsamortizarelunara1 WHERE ;
|
|
*!* CTOD('01/'+ALLTRIM(STR(luna))+'/'+ALLTRIM(STR(an)))>=datadela AND ;
|
|
*!* CTOD('01/'+ALLTRIM(STR(luna))+'/'+ALLTRIM(STR(an)))<=datain INTO CURSOR crsamortizarelunara
|
|
*!* SELECT DISTINCT * FROM crsamortizarelunara1 WHERE;
|
|
*!* luna_rata >= datadela AND luna_rata <= datain INTO CURSOR crsamortizarelunara READWRITE
|
|
|
|
*!* SELECT crsamortizarelunara
|
|
*!* REPLACE ALL data_exp WITH CTOD('01/'+STR((MONTH(data_pif)+dns_ramas%12)%12)+'/'+STR(( YEAR(data_pif)+ INT( dns_ramas/12 )+INT((MONTH(data_pif)+dns_ramas%12 )/12) )))
|
|
*!* *brow
|
|
*!* REPORT FORM amortanaliz_grup TO PRINTER PROMPT PREVIEW
|
|
*!* goExecutor.oReset()
|
|
Endproc
|
|
*--------------------------------------------------------------------------------------------------------------
|
|
Procedure _old_listare_la_imprimanta()
|
|
Parameters Tip
|
|
*!* IF tip=1
|
|
*!* lcsql = "select * from "+gcS+".IMOB_Vlistimprimanta_MF_C"
|
|
*!* ELSE
|
|
*!* lcsql = "select * from "+gcS+".IMOB_Vlistimprimanta_MF_N"
|
|
*!* ENDIF
|
|
|
|
*!* lnSucces=goExecutor.oExecute(lcSql,'crslistmfcota')
|
|
*!* IF lnSucces<0
|
|
*!* MESSAGEBOX("Nu a mers SQL-ul")
|
|
*!* return
|
|
*!* ENDIF
|
|
|
|
*!* SELECT crslistmfcota
|
|
Select crslista
|
|
Report Form listmfcota To Printer Prompt Preview
|
|
*!* goExecutor.oReset()
|
|
Endproc
|
|
*------------------------------------------------------------------------------------------------------------
|
|
Procedure _old_listare_istoric_amoritizare()
|
|
Parameters Tip
|
|
If Tip = 1
|
|
lcsql = "select * from " + gcS + ".IMOB_VISTAMORTIZARE_MF_c "
|
|
Else
|
|
lcsql = "select * from " + gcS + ".IMOB_VISTAMORTIZARE_MF_N "
|
|
Endif
|
|
|
|
lnSucces = goExecutor.oExecute(lcsql, 'crsamortizare')
|
|
If lnSucces < 0
|
|
aMESSAGEBOX(goExecutor.cEroare, 16, "Eroare")
|
|
Return
|
|
Endif
|
|
Select crsamortizare
|
|
|
|
*REPLACE ALL data_exp WITH CTOD('01/'+STR((MONTH(luna)+dns_ramas%12)%12)+'/'+STR(( YEAR(luna)+ INT( dns_ramas/12 )+INT((MONTH(luna)+dns_ramas%12 )/12) )))
|
|
|
|
Report Form amortizare To Printer Prompt Preview
|
|
|
|
goExecutor.oReset()
|
|
Endproc
|
|
|
|
*------------------------------------------------------------------------------------------------------------
|
|
|
|
Procedure _old_list_corp_general
|
|
list_general(1)
|
|
Endproc
|
|
*------------------------------------------------------------------------
|
|
Procedure _old_list_necorp_general
|
|
list_general(2)
|
|
Endproc
|
|
*------------------------------------------------------------------------
|
|
Procedure _old_list_general && CORPORALE/NECORPORALE 'cu totaluri generale'
|
|
Parameters tnTip
|
|
* tnTip 1) Corp. 2) Necorp
|
|
Private poLista, locauta
|
|
Store '' To poLista
|
|
Store "" To locauta
|
|
Private pnIdGest, pnTip
|
|
pcTitlu = "LISTA IMOBILIZARILOR " + Iif(tnTip = 1, "CORPORALE", "NECORPORALE") + " IN LUNA"
|
|
pnIdGest = 0
|
|
|
|
If Pcount() > 0 And Type('tnTip') = 'N'
|
|
pnTip = tnTip
|
|
Else
|
|
pnTip = 1
|
|
Endif
|
|
|
|
pcselect = ['select nume_gestiune,id_gestiune FROM vnom_gestiuni where inactiv=0']
|
|
pcfiltru = [1=2]
|
|
pcschema = ['']
|
|
pcorder = [nume_gestiune]
|
|
pccoloane = [nume_gestiune]
|
|
pcTitlu = [Alegeti gestiunea]
|
|
pcTitluColoane = [Gestiune]
|
|
locauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "", .T.)
|
|
|
|
If gnButon = 2
|
|
Release locuta
|
|
Return
|
|
Endif
|
|
|
|
pcCond = [id_tip_imobilizare = ] + Alltrim(Str(m.pnTip)) + [ and id_tip_operatie <> 4]
|
|
If !Empty(locauta.nume_gestiune) And locauta.id_gestiune <> 0
|
|
pnIdGest = locauta.id_gestiune
|
|
pcCond = pcCond + [ and id_gestiune = ] + Alltrim(Str(pnIdGest))
|
|
Endif
|
|
|
|
pdDataI = Date(gnAn, gnLuna, 1)
|
|
pdDataF = pdDataI
|
|
pnFiscala = 0
|
|
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 = ] + Alltrim(Str(m.pnTip)) + [ and iesit_din_gest = 0] + Iif(!Empty(m.pnIdGest), [ and id_gestiune = ] + Alltrim(Str(m.pnIdGest)), []) + m.gcCondSucursala
|
|
llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;')
|
|
If m.llSucces
|
|
lcSel = [SELECT * FROM ] + Iif(m.pnFiscala = 0, [imob_vsituatie_lunara], [imobf_vsituatie_lunara]) + [ WHERE ] + m.lcFiltru
|
|
llSucces = goExecutor.oExecuta(m.lcSel, m.lcCursor)
|
|
Endif
|
|
Else
|
|
lcSel = [{call pack_imob.CALCUL_SITUATIE_LUNARA(?pdDataI,?pdDataF,?pcCond,?pnFiscala,?gnIdSucursala)}]
|
|
llSucces = goExecutor.oExecuta(lcSel, lcCursor)
|
|
Endif
|
|
|
|
If m.llSucces
|
|
Select * From crslista Into Cursor crsRap Order By gestiune, data_achizitie
|
|
Report Form listmfcota To Printer Prompt Preview
|
|
Endif
|
|
|
|
|
|
Release poLista
|
|
Release locauta
|
|
Use In (Select('crslista'))
|
|
Use In (Select('crsRap'))
|
|
|
|
Endproc
|
|
*---------------------------------------------------------------------------
|
|
Procedure _old_list_corp_peluni
|
|
list_peluni(1)
|
|
Endproc
|
|
*------------------------------------------------------------------------
|
|
Procedure _old_list_necorp_peluni
|
|
list_peluni(2)
|
|
Endproc
|
|
*------------------------------------------------------------------------
|
|
Procedure _old_list_peluni && CORPORALE/NECORPORALE 'cu totaluri pe luni'
|
|
Parameters tnTip
|
|
* tnTip 1) Corp. 2) Necorp
|
|
Private poLista, locauta
|
|
Store '' To poLista
|
|
Store "" To locauta
|
|
Private pnIdGest, pnTip
|
|
pnIdGest = 0
|
|
|
|
If Pcount() > 0 And Type('tnTip') = 'N'
|
|
pnTip = tnTip
|
|
Else
|
|
pnTip = 1
|
|
Endif
|
|
|
|
pcselect = ['select nume_gestiune,id_gestiune FROM vnom_gestiuni where inactiv=0']
|
|
pcfiltru = [1=2]
|
|
pcschema = ['']
|
|
pcorder = [nume_gestiune]
|
|
pccoloane = [nume_gestiune]
|
|
pcTitlu = [Alegeti gestiunea]
|
|
pcTitluColoane = [Gestiune]
|
|
locauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "", .T.)
|
|
|
|
|
|
If gnButon = 2
|
|
Release locuta
|
|
Return
|
|
Endif
|
|
|
|
|
|
pcCond = [id_tip_imobilizare = ] + Alltrim(Str(pnTip)) + [ and id_tip_operatie <> 4]
|
|
If !Empty(locauta.nume_gestiune) And locauta.id_gestiune <> 0
|
|
pnIdGest = locauta.id_gestiune
|
|
pcCond = pcCond + [ and id_gestiune = ] + Alltrim(Str(pnIdGest ))
|
|
Endif
|
|
|
|
pdDataI = Date(gnAn, gnLuna, 1)
|
|
pdDataF = pdDataI
|
|
pnFiscala = 0
|
|
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 = ] + Alltrim(Str(m.pnTip)) + [ and iesit_din_gest = 0] + Iif(!Empty(m.pnIdGest), [ and id_gestiune = ] + Alltrim(Str(m.pnIdGest)), []) + m.gcCondSucursala
|
|
llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;')
|
|
If m.llSucces
|
|
lcSel = [SELECT * FROM ] + Iif(m.pnFiscala = 0, [imob_vsituatie_lunara], [imobf_vsituatie_lunara]) + [ WHERE ] + m.lcFiltru
|
|
llSucces = goExecutor.oExecuta(m.lcSel, m.lcCursor)
|
|
Endif
|
|
Else
|
|
lcSel = [{call pack_imob.CALCUL_SITUATIE_LUNARA(?pdDataI,?pdDataF,?pcCond,?pnFiscala,?gnIdSucursala)}]
|
|
llSucces = goExecutor.oExecuta(lcSel, lcCursor)
|
|
Endif
|
|
|
|
pcTitlu = "LISTA IMOBILIZARILOR " + Iif(tnTip = 1, "CORPORALE", "NECORPORALE") + " IN LUNA"
|
|
|
|
If m.llSucces
|
|
Select * From crslista Into Cursor crsRap Order By gestiune, data_pif, Cont
|
|
Report Form listmflunicota To Printer Prompt Preview
|
|
Endif
|
|
|
|
Release poLista
|
|
Release locauta
|
|
If Used('crslista')
|
|
Use In crslista
|
|
Endif
|
|
If Used('crsRap')
|
|
Use In crsRap
|
|
Endif
|
|
|
|
Endproc
|
|
*---------------------------------------------------------------------------
|
|
Procedure _old_list_corp_pegrup
|
|
list_pegrup(1)
|
|
Endproc
|
|
*------------------------------------------------------------------------
|
|
Procedure _old_list_necorp_pegrup
|
|
list_pegrup(2)
|
|
Endproc
|
|
*------------------------------------------------------------------------
|
|
Procedure _old_list_pegrup && CORPORALE/NECORPORALE 'cu totaluri pe grupe'
|
|
|
|
Parameters tnTip
|
|
* tnTip 1) Corp. 2) Necorp
|
|
Private poLista, locauta
|
|
Store '' To poLista
|
|
Store "" To locauta
|
|
Private pnIdGest, pnTip
|
|
pnIdGest = 0
|
|
|
|
If Pcount() > 0 And Type('tnTip') = 'N'
|
|
pnTip = tnTip
|
|
Else
|
|
pnTip = 1
|
|
Endif
|
|
|
|
pcselect = ['select nume_gestiune,id_gestiune FROM vnom_gestiuni where inactiv=0']
|
|
pcfiltru = [1=2]
|
|
pcschema = ['']
|
|
pcorder = [nume_gestiune]
|
|
pccoloane = [nume_gestiune]
|
|
pcTitlu = [Alegeti gestiunea]
|
|
pcTitluColoane = [Gestiune]
|
|
locauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "", .T.)
|
|
|
|
If gnButon = 2
|
|
Release locuta
|
|
Return
|
|
Endif
|
|
|
|
pcCond = [id_tip_imobilizare = ] + Alltrim(Str(pnTip)) + [ and id_tip_operatie <> 4]
|
|
If !Empty(locauta.nume_gestiune) And locauta.id_gestiune <> 0
|
|
pnIdGest = locauta.id_gestiune
|
|
pcCond = pcCond + [ and id_gestiune = ] + Alltrim(Str(pnIdGest ))
|
|
Endif
|
|
|
|
pdDataI = Date(gnAn, gnLuna, 1)
|
|
pdDataF = pdDataI
|
|
pnFiscala = 0
|
|
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'
|
|
pcTitlu = "LISTA IMOBILIZARILOR " + Iif(tnTip = 1, "CORPORALE", "NECORPORALE") + " IN LUNA"
|
|
|
|
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 = ] + Alltrim(Str(m.pnTip)) + [ and iesit_din_gest = 0] + Iif(!Empty(m.pnIdGest), [ and id_gestiune = ] + Alltrim(Str(m.pnIdGest)), []) + m.gcCondSucursala
|
|
llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;')
|
|
If m.llSucces
|
|
lcSel = [SELECT * FROM ] + Iif(m.pnFiscala = 0, [imob_vsituatie_lunara], [imobf_vsituatie_lunara]) + [ WHERE ] + m.lcFiltru
|
|
llSucces = goExecutor.oExecuta(m.lcSel, m.lcCursor)
|
|
Endif
|
|
Else
|
|
lcSel = [{call pack_imob.CALCUL_SITUATIE_LUNARA(?pdDataI,?pdDataF,?pcCond,?pnFiscala,?gnIdSucursala)}]
|
|
llSucces = goExecutor.oExecuta(lcSel, lcCursor)
|
|
Endif
|
|
|
|
If m.llSucces
|
|
Select * From crslista Into Cursor crsRap Order By gestiune, Cont
|
|
Report Form listmfscdcota To Printer Prompt Preview
|
|
Endif
|
|
|
|
Release poLista
|
|
Release locauta
|
|
If Used('crslista')
|
|
Use In crslista
|
|
Endif
|
|
If Used('crsRap')
|
|
Use In crsRap
|
|
Endif
|
|
|
|
Endproc
|
|
*---------------------------------------------------------------------------
|
|
Procedure _old_list_corp_pesectii
|
|
list_pesectii(1)
|
|
Endproc
|
|
*------------------------------------------------------------------------
|
|
Procedure _old_list_necorp_pesectii
|
|
list_pesectii(2)
|
|
Endproc
|
|
*------------------------------------------------------------------------
|
|
Procedure _old_list_pesectii && CORPORALE/NECORPORALE 'cu totaluri pe sectii'
|
|
Parameters tnTip
|
|
* tnTip 1) Corp. 2) Necorp
|
|
Private poLista, locauta
|
|
Store '' To poLista
|
|
Store "" To locauta
|
|
Private pnIdSectie, pnTip
|
|
pnIdSectie = 0
|
|
|
|
If Pcount() > 0 And Type('tnTip') = 'N'
|
|
pnTip = tnTip
|
|
Else
|
|
pnTip = 1
|
|
Endif
|
|
|
|
pcselect = ['select sectie, id_sectie FROM vnom_sectii where inactiv=0']
|
|
pcfiltru = [1=2]
|
|
pcschema = ['']
|
|
pcorder = [sectie]
|
|
pccoloane = [sectie]
|
|
pcTitlu = [Alegeti sectie]
|
|
pcTitluColoane = [Sectii]
|
|
locauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "", .T.)
|
|
|
|
|
|
If gnButon = 2
|
|
Release locuta
|
|
Return
|
|
Endif
|
|
|
|
pcCond = [id_tip_imobilizare = ] + Alltrim(Str(pnTip)) + [ and id_tip_operatie <> 4]
|
|
If !Empty(locauta.sectie) And locauta.id_sectie <> 0
|
|
pnIdSectie = locauta.id_sectie
|
|
pcCond = pcCond + [ and id_sectie = ] + Alltrim(Str(pnIdSectie))
|
|
Endif
|
|
|
|
pdDataI = Date(gnAn, gnLuna, 1)
|
|
pdDataF = pdDataI
|
|
pnFiscala = 0
|
|
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'
|
|
pcTitlu = "LISTA IMOBILIZARILOR " + Iif(tnTip = 1, "CORPORALE", "NECORPORALE") + " IN LUNA"
|
|
|
|
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 = ] + Alltrim(Str(m.pnTip)) + [ and iesit_din_gest = 0] + Iif(!Empty(m.pnIdSectie), [ and id_sectie = ] + Alltrim(Str(m.pnIdSectie)), []) + m.gcCondSucursala
|
|
llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;')
|
|
If m.llSucces
|
|
lcSel = [SELECT * FROM ] + Iif(m.pnFiscala = 0, [imob_vsituatie_lunara], [imobf_vsituatie_lunara]) + [ WHERE ] + m.lcFiltru
|
|
llSucces = goExecutor.oExecuta(m.lcSel, m.lcCursor)
|
|
Endif
|
|
Else
|
|
lcSel = [{call pack_imob.CALCUL_SITUATIE_LUNARA(?pdDataI,?pdDataF,?pcCond,?pnFiscala,?gnIdSucursala)}]
|
|
llSucces = goExecutor.oExecuta(lcSel, lcCursor)
|
|
Endif
|
|
|
|
If m.llSucces
|
|
Select * From crslista Into Cursor crsRap Order By gestiune, Cont, data_pif
|
|
If Reccount('crsRap') > 0
|
|
Private pcDataOra
|
|
pcDataOra = get_ora(2)
|
|
Select crsRap
|
|
Report Form listmf_grup To Printer Prompt Preview
|
|
Release pcDataOra
|
|
Else
|
|
aMESSAGEBOX("Nu exista inregistrari pentru listare!", 48, "Atentie")
|
|
Endif
|
|
Endif
|
|
|
|
Release poLista
|
|
Release locauta
|
|
If Used('crslista')
|
|
Use In crslista
|
|
Endif
|
|
If Used('crsRap')
|
|
Use In crsRap
|
|
Endif
|
|
|
|
|
|
Endproc
|
|
*---------------------------------------------------------------------------
|
|
Procedure lista_fiselor_corp && CORPORALE 'lista fiselor'
|
|
LPARAMETERS tlOperatii
|
|
lnTip = 1 && corporale
|
|
lnFiscala = 0 && amortizare contabila
|
|
llOperatii = m.tlOperatii && standard/cu operatii
|
|
|
|
lista_fiselor(m.lnTip, m.lnFiscala, m.llOperatii)
|
|
Endproc
|
|
*---------------------------------------------------------------------------
|
|
Procedure lista_fiselor_necorp && NECORPORALE 'lista fiselor'
|
|
LPARAMETERS tlOperatii
|
|
lnTip = 2 && necorporale
|
|
lnFiscala = 0 && amortizare contabila
|
|
llOperatii = m.tlOperatii && standard/cu operatii
|
|
|
|
lista_fiselor(m.lnTip, m.lnFiscala, m.llOperatii)
|
|
Endproc
|
|
*---------------------------------------------------------------------------
|
|
Procedure lista_fiselor
|
|
Parameters tnTip, tnFiscala, tlOperatii
|
|
****
|
|
* 1) imob.corporale
|
|
* 2) imob.necorporale
|
|
****
|
|
|
|
Local lcCursor, lcFiltru, lcSchema, lcSel, llExperimental, llSucces, lnFiscala, llOperatii
|
|
Private pcCond, pdDataF, pdDataI, pnFiscala
|
|
|
|
lnFiscala = IIF(!EMPTY(m.tnFiscala), m.tnFiscala, 0)
|
|
llOperatii = IIF(!EMPTY(m.tlOperatii), m.tlOperatii, .F.)
|
|
Use In (Select('crslista'))
|
|
|
|
pdDataI = Date(gnAn, gnLuna, 1)
|
|
pdDataF = pdDataI
|
|
pcCond = [1=1]
|
|
pnFiscala = 0
|
|
lcSchema = ['']
|
|
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 = ] + Alltrim(Str(m.tnTip)) + [ and iesit_din_gest = 0] + m.gcCondSucursala
|
|
llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;')
|
|
If m.llSucces
|
|
lcSel = [SELECT * FROM ] + Iif(m.pnFiscala = 0, [imob_vsituatie_lunara], [imobf_vsituatie_lunara]) + [ WHERE ] + m.lcFiltru
|
|
llSucces = goExecutor.oExecuta(m.lcSel, m.lcCursor)
|
|
Endif
|
|
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 crslista
|
|
Set Filter To id_tip_imobilizare = tnTip And iesit_din_gest = 0
|
|
SET STEP ON
|
|
IF m.llOperatii
|
|
* Jurnal operatii-rate
|
|
lcSql = [select * from ] + Iif(m.lnFiscala = 0, [imob_vjurnal_rate],[imobf_vjurnal_rate]) + [ where id_tip_imobilizare = ] + ALLTRIM(STR(m.tnTip)) + [ order by data_operatie]
|
|
llSucces = goExecutor.oExecuta(m.lcSql, "crsLista2")
|
|
|
|
SELECT crsLista
|
|
INDEX on id_mf TAG id_mf
|
|
|
|
SELECT crsLista2
|
|
INDEX on id_mf TAG id_mf
|
|
SET RELATION TO crsLista.id_mf INTO crsLista2
|
|
ENDIF
|
|
|
|
lcRaport = IIF(m.llOperatii, IIF(m.tnTip = 1, "fisa_mf_istoric_rate", "fisa_mf2"), IIF(m.tnTip = 1, "fisa_mf_istoric", "fisa_mf2"))
|
|
goExport.export2frx([crslista], "fisa_mf_istoric", , , , , , .T.)
|
|
|
|
Use In (SELECT('crsLista'))
|
|
USE IN (SELECT('crsLista2'))
|
|
Endproc
|
|
*---------------------------------------------------------------------------
|
|
|
|
*!* Lista de inventar imobilizari corporale model 1
|
|
*!* am inlocuit-o cu DO list_inventar WITH 1,0 IN oproceduri_listari.prg
|
|
Procedure lista_inv_m1_c
|
|
lista_inv_m1(1)
|
|
Endproc
|
|
*---------------------------------------------------------------------------
|
|
*!* Lista de inventar imobilizari necorporale model 1
|
|
*!* am inlocuit-o cu DO list_inventar WITH 2,0 IN oproceduri_listari.prg
|
|
Procedure lista_inv_m1_n
|
|
lista_inv_m1(2)
|
|
Endproc
|
|
*---------------------------------------------------------------------------
|
|
Procedure lista_inv_m1
|
|
Parameters tnTip
|
|
* tnTip 1) Corp. 2) Necorp
|
|
Private poLista, locauta
|
|
Store '' To poLista
|
|
Store "" To locauta
|
|
Private pnIdGest
|
|
pnIdGest = 0
|
|
|
|
pcselect = ['select nume_gestiune,id_gestiune FROM ] + gcS + [.vnom_gestiuni where inactiv=0']
|
|
pcfiltru = [1=2]
|
|
pcschema = ['']
|
|
pcorder = [nume_gestiune]
|
|
pccoloane = [nume_gestiune]
|
|
pcTitlu = [Alegeti gestiunea]
|
|
pcTitluColoane = [Gestiune]
|
|
locauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "", .T.)
|
|
If !Empty(locauta.nume_gestiune)
|
|
lcCondGestiune = [1=1]
|
|
If Alltrim(locauta.nume_gestiune) # [<TOATE INREGISTRARILE>]
|
|
pnIdGest = locauta.id_gestiune
|
|
lcCondGestiune = lcCondGestiune + [ and id_gestiune = ?pnIdGest]
|
|
Endif
|
|
|
|
Use In (Select('crslista'))
|
|
|
|
pdDataI = Date(gnAn, gnLuna, 1)
|
|
pdDataF = pdDataI
|
|
pcCond = [1=1]
|
|
pnFiscala = 0
|
|
lcSchema = ['']
|
|
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 = ] + Alltrim(Str(m.pnTip)) + [ and iesit_din_gest = 0] + Iif(!Empty(m.pnIdGest), [ and id_gestiune = ] + Alltrim(Str(m.pnIdGest)), []) + m.gcCondSucursala
|
|
llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;')
|
|
If m.llSucces
|
|
lcSel = [SELECT * FROM ] + Iif(m.pnFiscala = 0, [imob_vsituatie_lunara], [imobf_vsituatie_lunara]) + [ WHERE ] + m.lcFiltru
|
|
llSucces = goExecutor.oExecuta(m.lcSel, m.lcCursor)
|
|
Endif
|
|
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 * From crslista With (Buffering = .T.) Where id_tip_imobilizare = tnTip And iesit_din_gest = 0 And &lcCondGestiune Into Cursor crs_rap Order By gestiune, Cont
|
|
If Used('crsLista')
|
|
Use In crslista
|
|
Endif
|
|
|
|
If Reccount('crs_rap') > 0
|
|
Private pcDataOra
|
|
pcDataOra = get_ora(2)
|
|
Select crs_rap
|
|
* thisform.AlwaysOnTop = .F.
|
|
Report Form listmf_inv To Printer Prompt Preview
|
|
* thisform.AlwaysOnTop = .T.
|
|
Release pcDataOra
|
|
Else
|
|
aMESSAGEBOX("Nu exista inregistari pentru listare!", 48, "Atentie")
|
|
Endif
|
|
If Used('crslista')
|
|
Use In crslista
|
|
Endif
|
|
If Used('crs_rap')
|
|
Use In crs_rap
|
|
Endif
|
|
Endif
|
|
|
|
Release poLista
|
|
|
|
Endproc
|
|
*---------------------------------------------------------------------------
|
|
Procedure lista_inv_m2_c
|
|
lista_inv_m2(1)
|
|
Endproc
|
|
*---------------------------------------------------------------------------
|
|
Procedure lista_inv_m2_n
|
|
lista_inv_m2(2)
|
|
Endproc
|
|
*---------------------------------------------------------------------------
|
|
Procedure lista_inv_m2
|
|
Parameters tnTip
|
|
* tnTip 1) Corp. 2) Necorp
|
|
Private poLista, locauta
|
|
Store '' To poLista
|
|
Store "" To locauta
|
|
Private nid_gestiune
|
|
nid_gestiune = 0
|
|
|
|
pcselect = ['select nume_gestiune,id_gestiune FROM ] + gcS + [.vnom_gestiuni where inactiv=0']
|
|
pcfiltru = [1=2]
|
|
pcschema = ['']
|
|
pcorder = [nume_gestiune]
|
|
pccoloane = [nume_gestiune]
|
|
pcTitlu = [Alegeti gestiunea]
|
|
pcTitluColoane = [Gestiune]
|
|
locauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "", .T.)
|
|
If !Empty(locauta.nume_gestiune)
|
|
nid_gestiune = locauta.id_gestiune
|
|
pcgestiune = Alltrim(locauta.nume_gestiune)
|
|
|
|
pcschema = ['']
|
|
pcselect = ['select * from ] + gcS + [.imob_vjurnal2 where 1=2']
|
|
pcorder = [gestiune,denumire]
|
|
*pcFiltru = [id_tip_imobilizare=?tnTip and iesit_din_gest=0 and id_gestiune=?nid_gestiune]
|
|
pcfiltru = [id_tip_imobilizare=?tnTip and iesit_din_gest=0] + Iif(nid_gestiune = 0, [], [and id_gestiune=?nid_gestiune])
|
|
llAfiseaza = .F.
|
|
gencursor('poLista', 'crslista', pcselect, pcfiltru, pcschema, pcorder, llAfiseaza)
|
|
poLista.ca_baza1.afisare()
|
|
pcTitlu = "LISTA IMOBILIZARILOR " + Iif(tnTip = 1, "CORPORALE", "NECORPORALE") + " IN LUNA"
|
|
|
|
If Reccount('crslista') > 0
|
|
Private pcDataOra
|
|
pcDataOra = get_ora(2)
|
|
Select crslista
|
|
*thisform.AlwaysOnTop = .F.
|
|
Report Form nota_inv2005 To Printer Prompt Preview
|
|
Release pcDataOra
|
|
*thisform.AlwaysOnTop = .T.
|
|
Else
|
|
aMESSAGEBOX("Nu exista inregistrari pentru listare!", 48, "Atentie")
|
|
Endif
|
|
|
|
Endif
|
|
Release poLista
|
|
Endproc
|
|
*---------------------------------------------------------------------------
|
|
|
|
Procedure evidenta_mf && CORPORALE 'Evidenta MF'
|
|
Parameters tnTip
|
|
Private pcDataOra
|
|
|
|
Local lcCursor, lcFiltru, lcSchema, lcSel, llExperimental, llSucces
|
|
Private pcCond, pdDataF, pdDataI, pnFiscala
|
|
pcDataOra = []
|
|
|
|
pdDataI = Date(gnAn, gnLuna, 1)
|
|
pdDataF = pdDataI
|
|
pcCond = [1=1]
|
|
pnFiscala = 0
|
|
|
|
lcSchema = ['']
|
|
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 = ] + Alltrim(Str(m.tnTip)) + m.gcCondSucursala
|
|
llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;')
|
|
If m.llSucces
|
|
lcSel = [SELECT * FROM ] + Iif(m.pnFiscala = 0, [imob_vsituatie_lunara], [imobf_vsituatie_lunara]) + [ WHERE ] + m.lcFiltru
|
|
llSucces = goExecutor.oExecuta(m.lcSel, m.lcCursor)
|
|
Endif
|
|
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 Cont, Sum(valoare) As valoare, Sum(amort_prec + rata) As amortizare_totala, ;
|
|
Sum(valoare - amort_prec - rata) As valoare_ramasa, Sum(valoare_ramasa) As valoare_justa, ;
|
|
Sum(rata) As rata, Count(*) As numar ;
|
|
From &lcCursor Where id_tip_imobilizare = tnTip And iesit_din_gest = 0 Into Cursor crsevidentamf Group By Cont Order By Cont
|
|
|
|
If Used(lcCursor)
|
|
Use In (lcCursor)
|
|
Endif
|
|
|
|
*!* lcsql= " SELECT cont ,sum(valoare) as valoare,sum(amort_prec+rata) as amortizare_totala,"+;
|
|
*!* " sum(valoare_ramasa-amort_prec-rata) as valoare_ramasa,sum(valoare_ramasa-amort_prec_rata) as ramas_bilant, "+;
|
|
*!* " sum(rata) as rata,count(*) as numar "+;
|
|
*!* " FROM "+gcS+".imob_vjurnal2 where id_tip_imobilizare=1 and iesit_din_gest=0 GROUP BY cont ORDER BY cont"
|
|
*!* lnSucces=goExecutor.oExecute(lcsql,'crsevidentamf')
|
|
*!* IF lnSucces<0
|
|
*!* MESSAGEBOX("Nu a mers SQL-ul")
|
|
*!* RETURN
|
|
*!* ENDIF
|
|
*STRTOFILE(lcsql,'c:\t.txt')
|
|
If Reccount('crsevidentamf') > 0
|
|
pcDataOra = get_ora(2)
|
|
Select crsevidentamf
|
|
*thisform.AlwaysOnTop = .F.
|
|
* Report Form evidenta_mf To Printer Prompt Preview
|
|
goExport.export2frx('crsevidentamf', "evidenta_mf", , , , , , .T.)
|
|
*thisform.AlwaysOnTop = .T.
|
|
|
|
Select crsevidentamf
|
|
If Reccount() > 0
|
|
If aMESSAGEBOX('Doriti sa exportati in format XLS?', 4 + 32, _Screen.Caption) = 6
|
|
export_xls("crsevidentamf", "evidenta MF")
|
|
Endif
|
|
Endif
|
|
Else
|
|
aMESSAGEBOX("Nu exista inregistrari pentru listare!", 48, "Atentie")
|
|
Endif
|
|
|
|
Use In (SELECT('crsevidentamf'))
|
|
|
|
Endproc
|
|
*---------------------------------------------------------------------------
|
|
Procedure list_inchid_amortizari
|
|
Lparameters tnTip
|
|
|
|
Private pcTitlu, pcDataOra
|
|
Local lcCursor, lnLucrare, lnSectie
|
|
|
|
pcTitlu = "Raport amortizare lunara " + Iif(tnTip = 1, "imobilizari corporale", "imobilizari necorporale")
|
|
pcDataOra = get_ora(2)
|
|
|
|
Local lnTip, lnSectie
|
|
If Empty(tnTip)
|
|
lnTip = 1 && corporale
|
|
Else
|
|
lnTip = tnTip
|
|
Endif
|
|
|
|
lnSectie = 0
|
|
*!* 07.05.2007
|
|
*!* optiune inchidere nota amortizare dupa sectie
|
|
If gnNotaImob = 2
|
|
lnSectie = 1
|
|
Else
|
|
*IF gnCampSectie = 1
|
|
If aMESSAGEBOX("Nota de inchidere amortizari se defalca dupa 'Sectie'?", 4 + 32, "Inchidere amortizari") = 6
|
|
lnSectie = 1
|
|
Endif
|
|
*ENDIF
|
|
Endif
|
|
|
|
lnLucrare = 0
|
|
IF m.gnCampLucrare = 1 AND AMESSAGEBOX("Inchiderea se face dupa campul 'Lucrare'?", 4 + 32, "Inchidere amortizari") = 6
|
|
lnLucrare = 1
|
|
ENDIF
|
|
|
|
lcCursor = GET_CURSOR_INCHIDERE_AMORTIZARI(m.lnTip, m.lnSectie, m.lnLucrare, m.gnAn, m.gnLuna, "crs_inchidere") && oproceduri_comune_imob.prg
|
|
If Used(lcCursor)
|
|
Select (lcCursor)
|
|
Set Filter To suma <> 0
|
|
goExport.export2frx(m.lcCursor, "act", , , , , , .T.)
|
|
|
|
Select (lcCursor)
|
|
If Reccount() > 0
|
|
If aMESSAGEBOX('Doriti sa exportati in format XLS?', 4 + 32, _Screen.Caption) = 6
|
|
export_xls(m.lcCursor, m.pcTitlu)
|
|
Endif
|
|
Endif
|
|
Endif
|
|
|
|
Use In (Select(lcCursor))
|
|
|
|
Endproc && list_inchid_amortizari
|
|
|
|
|
|
*----------------------------------------------------
|
|
Procedure list_inchid_amortizari_nec
|
|
|
|
Endproc && list_inchid_amortizari_nec
|
|
*-----------------------------------------------------------------------------------
|
|
Procedure rulaj_amortizment
|
|
LPARAMETERS tnFiscala
|
|
Private pcfelul
|
|
|
|
lcAlias = sitan(m.tnFiscala) && sitan.prg
|
|
rulaje('amortizare_lunara', lcAlias) && IN sitan.prg
|
|
|
|
Select rulaje
|
|
Go Top
|
|
ov = Create('frm_analitice1')
|
|
ov.lb_titlu_alb_b121.Caption = 'SITUATIE ANALITICA - RULAJ AMORTIZMENTE (In anul curent pana in luna curenta)' + IIF(EMPTY(m.tnFiscala), ' CONTABILA', ' FISCALA')
|
|
For i = 3 To ov._grdbase1.ColumnCount
|
|
ov._grdbase1.Columns[i].InputMask = get_mask(14, gnPa)
|
|
Endfor
|
|
ov.Show(1)
|
|
Use In rulaje
|
|
|
|
Endproc && rulaj_amortizment
|
|
|
|
*-----------------------------------------------------------------------------------
|
|
Procedure total_amortizment
|
|
LPARAMETERS tnFiscala
|
|
Private pcfelul
|
|
|
|
lcAlias = sitan(m.tnFiscala) && sitan.prg
|
|
rulaje('amortizare_totala', lcAlias) && IN sitan.prg
|
|
|
|
Select rulaje
|
|
Go Top
|
|
ov = Create('frm_analitice1')
|
|
ov.lb_titlu_alb_b121.Caption = 'SITUATIE ANALITICA - TOTAL AMORTIZMENTE (In anul curent pana in luna curenta)' + IIF(EMPTY(m.tnFiscala), ' CONTABILA', ' FISCALA')
|
|
For i = 3 To ov._grdbase1.ColumnCount
|
|
ov._grdbase1.Columns[i].InputMask = get_mask(14, gnPa)
|
|
Endfor
|
|
ov.Show(1)
|
|
Use In rulaje
|
|
|
|
Endproc && total_amortizment
|
|
|
|
***---------------------------------
|
|
Procedure list_situatie_lunara
|
|
Parameters tnTip, tnFiscala
|
|
&& tnTip : 1 = corporala, 2 = necorporala
|
|
&& tnFiscala : 0 = contabila, 1 = fiscala
|
|
|
|
Do Form rap_situatie_lunara With tnTip, tnFiscala
|
|
|
|
Endproc && list_situatie_lunara
|
|
|
|
***---------------------------------
|
|
Procedure list_inventar
|
|
Parameters tnTip, tnFiscala
|
|
&& tnTip : 1 = corporala, 2 = necorporala
|
|
&& tnFiscala : 0 = contabila, 1 = fiscala
|
|
|
|
Do Form rap_lista_inventar With tnTip, tnFiscala
|
|
|
|
Endproc && list_inventar
|
|
|
|
*** ---------------------------------------
|
|
|
|
Procedure compar_am_contab_fiscal
|
|
Parameters tnTip, tlXLS
|
|
*** tlXLS: .T. = export XLS, .F. (default) = listare
|
|
|
|
Local lcCursor, lcSchema, lcSel, llOk, lnSucces, loExcelXML
|
|
*:Global pcCond, pcDataora, pcTitlu, pdDataF, pdDataI, pnFiscala
|
|
|
|
pdDataI = Date(gnAn, gnLuna, 1)
|
|
pdDataF = pdDataI
|
|
*pcCond = [id_tip_imobilizare = ] + ALLTRIM(STR(tnTip)) && merge fffff greu
|
|
pcCond = [1=1]
|
|
pnFiscala = 0
|
|
lcCursor = 'crslistaC'
|
|
lcSchema = ['']
|
|
|
|
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 = ] + Alltrim(Str(m.tnTip)) + m.gcCondSucursala
|
|
llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;')
|
|
If m.llSucces
|
|
lcSel = [SELECT * FROM ] + Iif(m.pnFiscala = 0, [imob_vsituatie_lunara], [imobf_vsituatie_lunara]) + [ WHERE ] + m.lcFiltru
|
|
llSucces = goExecutor.oExecuta(m.lcSel, m.lcCursor)
|
|
Endif
|
|
Else
|
|
lcSel = [{call pack_imob.CALCUL_SITUATIE_LUNARA(?pdDataI,?pdDataF,?pcCond,?pnFiscala,?gnIdSucursala)}]
|
|
llSucces = goExecutor.oExecuta(lcSel, lcCursor)
|
|
Endif
|
|
|
|
If !m.llSucces
|
|
Return
|
|
Endif
|
|
|
|
pnFiscala = 1
|
|
lcSchema = ['']
|
|
lcCursor = 'crslistaF'
|
|
|
|
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 = ] + Alltrim(Str(m.tnTip)) + m.gcCondSucursala
|
|
llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;')
|
|
If m.llSucces
|
|
lcSel = [SELECT * FROM ] + Iif(m.pnFiscala = 0, [imob_vsituatie_lunara], [imobf_vsituatie_lunara]) + [ WHERE ] + m.lcFiltru
|
|
llSucces = goExecutor.oExecuta(m.lcSel, m.lcCursor)
|
|
Endif
|
|
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 c.denumire, c.nr_inventar, c.cod_mf, c.valoare As valoare_c, c.valoare_ramasa As valoare_justa_c, c.rata As rata_c, c.valoare - c.amort_prec - c.rata As valoare_ramasa_c, ;
|
|
F.valoare As valoare_f, F.valoare_ramasa As valoare_justa_f, F.rata As rata_f, F.valoare - F.amort_prec - F.rata As valoare_ramasa_f ;
|
|
From crslistaC c Join crslistaF F On c.id_mf = F.id_mf And c.id_tip_imobilizare = tnTip And F.id_tip_imobilizare = tnTip ;
|
|
Where c.rata <> F.rata Or c.valoare <> F.valoare ;
|
|
Order By c.nr_inventar, c.denumire ;
|
|
Into Cursor crs_list
|
|
|
|
pcTitlu = 'Raport diferente dintre amortizarea contabila si cea fiscala'
|
|
If Reccount('crs_list') > 0
|
|
pcDataOra = get_ora(2)
|
|
Select crs_list
|
|
If m.tlXLS
|
|
loExcelXML = Newobject("ExcelXML", "ExcelXML.VCX")
|
|
loExcelXML.SheetName = "Diferente amortizare"
|
|
loExcelXML.OpenAfterSaving = .T.
|
|
llOk = loExcelXML.Save("diferente_amortizare_" + Alltrim(Str(m.gnAn)) + Padl(m.gnLuna, 2, '0') + '.xls')
|
|
Else
|
|
goExport.export2frx([crs_list], "rap_diferente_cf", , , , , , .T.)
|
|
Endif
|
|
Else
|
|
aMESSAGEBOX("Nu exista inregistari pentru listare!", 48, "Atentie")
|
|
Endif
|
|
|
|
If Used('crslistaC')
|
|
Use In crslistaC
|
|
Endif
|
|
If Used('crslistaF')
|
|
Use In crslistaF
|
|
Endif
|
|
If Used('crs_list')
|
|
Use In crs_list
|
|
Endif
|
|
|
|
|
|
Endproc && compar_am_contab_fiscal
|
|
|
|
***---------------------------------------------------------
|
|
|
|
Procedure istoric_operatii
|
|
Parameters tnTip
|
|
|
|
pcselect = ['select denumire,nr_pif FROM ] + gcS + [.imob_vnom_mf where inactiv=0 and id_tip_imobilizare = ?tnTip']
|
|
pcfiltru = [1=2]
|
|
pcschema = ['']
|
|
pcorder = [denumire,nr_pif]
|
|
pccoloane = [denumire, nr_pif]
|
|
pcTitlu = [Alegeti MF]
|
|
pcTitluColoane = [Denumire MF, Nr. PIF]
|
|
locauta = cauta_alfa(pcselect, pcfiltru, pcschema, pcorder, pccoloane, pcTitlu, pcTitluColoane, "")
|
|
|
|
If Empty(locauta.id_mf)
|
|
Return
|
|
Endif
|
|
|
|
pnIdMf = locauta.id_mf
|
|
|
|
lcsql = 'SELECT a.denumire, a.nr_pif, a.data_pif, l.nr_inventar, l.cod_mf, ' + ;
|
|
'o.data_operatie, o.denumire as operatie, o.valoare, o.valoare_ramasa, o.dns_ramas,' + ;
|
|
'r.rata, r.data_ultima_rata, r.luna, r.an, r.luna_exp, r.an_exp, r.cota_an, 0 as fiscal ' + ;
|
|
'from imob_vnom_mf join a imob_vultimalista_mf l on a.id_mf = l.id_mf '
|
|
|
|
|
|
&& neterminat
|
|
|
|
Endproc && istoric_operatii
|
|
|
|
***------------------------ INCEPUT: RegistruNrInventar ---------------------------------------
|
|
Procedure RegistruNrInventar(tnIdTipImobilizare, tnIesitDinGest)
|
|
|
|
Private pcDataOra
|
|
|
|
Local lcCursor, lcFiltru, lcSchema, lcSel, llExperimental, llSucces, lnSucces
|
|
Private pcCond, pdDataF, pdDataI, pnFiscala
|
|
Use In (Select('crslista'))
|
|
|
|
|
|
pdDataI = Date(gnAn, gnLuna, 1)
|
|
pdDataF = m.pdDataI
|
|
pcCond = [1=1]
|
|
pnFiscala = 0
|
|
lcSchema = ['']
|
|
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 = ] + Alltrim(Str(m.tnIdTipImobilizare)) + [ and iesit_din_gest = ] + Alltrim(Str(m.tnIesitDinGest)) + m.gcCondSucursala
|
|
llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;')
|
|
If m.llSucces
|
|
lcSel = [SELECT * FROM ] + Iif(m.pnFiscala = 0, [imob_vsituatie_lunara], [imobf_vsituatie_lunara]) + [ WHERE ] + m.lcFiltru
|
|
llSucces = goExecutor.oExecuta(m.lcSel, m.lcCursor)
|
|
Endif
|
|
Else
|
|
lcSel = [{call pack_imob.CALCUL_SITUATIE_LUNARA(?pdDataI,?pdDataF,?pcCond,?pnFiscala,?gnIdSucursala)}]
|
|
Endif
|
|
|
|
|
|
|
|
lnSucces = goExecutor.oExecute(lcSel, lcCursor)
|
|
If lnSucces < 0
|
|
aMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare")
|
|
Return
|
|
Endif
|
|
|
|
Select denumire, cod_mf As codmf, nr_inventar As nrinv, Nvl(gestiune, "") As gestiune, Nvl(sectie, "") As sectie, ;
|
|
Left(Alltrim(cod_mf), 3) As codleft ;
|
|
From crslista ;
|
|
Where id_tip_imobilizare = tnIdTipImobilizare And iesit_din_gest = tnIesitDinGest ;
|
|
Order By codleft, nrinv ;
|
|
Into Cursor crsRegNrInv
|
|
|
|
Use In crslista
|
|
|
|
If Reccount('crsRegNrInv') > 0
|
|
pcDataOra = get_ora(2)
|
|
Select crsRegNrInv
|
|
*!* Report Form reg_nr_inv To Printer Prompt Preview
|
|
goExport.export2frx([crsRegNrInv], [reg_nr_inv], , , , , , .T.)
|
|
If aMESSAGEBOX('Doriti sa exportati in format XLS?', 4 + 32, _Screen.Caption) = 6
|
|
export_xls('crsRegNrInv', 'Registru Numere Inventar')
|
|
Endif
|
|
Else
|
|
aMESSAGEBOX("Nu exista inregistrari pentru listare!", 48, "Atentie")
|
|
Endif
|
|
|
|
Use In crsRegNrInv
|
|
Endproc && RegistruNrInventar
|
|
***======================== SFARSIT: RegistruNrInventar =================================
|
|
|
|
|
|
***------------------------ INCEPUT: ListaImobInCurs ------------------------------------
|
|
Procedure ListaImobInCurs
|
|
LPARAMETERS tcGrupare
|
|
* tcGrupare (optional): LUCRARE
|
|
|
|
PRIVATE pcDataOra, pcGrupDenumire, pcGrupId, pcGrupTitlu
|
|
Local lnOptiune, lcFilter, lcCursor, lcOrder
|
|
poLista = ''
|
|
pcDataOra = ''
|
|
lcOrder = [data_achizitie, nr_inventar]
|
|
|
|
pcGrupId = '1=1'
|
|
pcGrupTitlu = ''
|
|
pcGrupDenumire = 'nrord'
|
|
If UPPER(TRANSFORM(tcGrupare)) = 'LUCRARE'
|
|
pcGrupId = 'id_lucrare'
|
|
pcGrupTitlu = 'Lucrare'
|
|
pcGrupDenumire = 'nrord'
|
|
lcOrder = [nrord, data_achizitie, nr_inventar]
|
|
ENDIF
|
|
|
|
lcsql = [select id_mf,id_lista_mf,nrord,nract,id_lucrare,id_responsabil,id_gestiune,] + ;
|
|
[id_sectie,data_achizitie,nr_inventar,denumire,explicatia,] + ;
|
|
[valoare, valoare_ramasa, cgest,gestiune,sectie,responsabil,cont,utilizator,dataora,id_operatie_mf ] + ;
|
|
[from imob_vlista_curs ] + Iif(!Empty(gcCondSucursala), [ WHERE ] + Substr(gcCondSucursala, 6), '') + [ ORDER BY ] + m.lcOrder
|
|
|
|
lnSucces = goExecutor.oExecute(lcsql, 'crsLista')
|
|
If lnSucces < 0
|
|
aMESSAGEBOX(goExecutor.cEroare, 0 + 64, 'Eroare')
|
|
Return
|
|
Endif
|
|
If Reccount('crslista') > 0
|
|
pcDataOra = get_ora(2)
|
|
Select crslista
|
|
*thisform.AlwaysOnTop = .F.
|
|
*!* Report Form listimobcurs To Printer Prompt Preview
|
|
goExport.export2frx([crslista], [listimobcurs], , , , , , .T.)
|
|
*thisform.AlwaysOnTop = .T.
|
|
Else
|
|
aMESSAGEBOX("Nu exista inregistrari pentru listare!", 48, "Atentie")
|
|
Endif
|
|
Release pcDataOra
|
|
Endproc && ListaImobInCurs
|
|
***======================== SFARSIT: ListaImobInCurs ====================================
|
|
|
|
***------------------------ Inceput: RegNrInvInCurs -------------------------------------
|
|
Procedure RegNrInvInCurs
|
|
|
|
Private poLista, pcschema, pcselect, pcorder, pcfiltru
|
|
Local llAfiseaza
|
|
Private pcDataOra
|
|
Store '' To poLista
|
|
|
|
If Used('crslista')
|
|
Use In crslista
|
|
Endif
|
|
|
|
pcschema = ['']
|
|
pcselect = [select id_mf,id_lista_mf,nrord,nract,id_lucrare,id_responsabil,id_gestiune,] + ;
|
|
[id_sectie,data_achizitie,nr_inventar,denumire,explicatia,] + ;
|
|
[valoare,cgest,gestiune,sectie,responsabil,cont,utilizator,dataora,id_operatie_mf ] + ;
|
|
[from ] + gcS + [.imob_vlista_curs where 2=2']
|
|
pcorder = [data_achizitie]
|
|
*!* 16.11.2009
|
|
pcfiltru = [valoare > 0 ] + Iif(!Empty(gcCondSucursala), gcCondSucursala, '')
|
|
*!* 16.11.2009 ^
|
|
llAfiseaza = .F.
|
|
gencursor('poLista', 'crslista', pcselect, pcfiltru, pcschema, pcorder, llAfiseaza)
|
|
poLista.ca_baza1.afisare()
|
|
Select denumire, "" As codmf, nr_inventar As nrinv, Nvl(gestiune, "") As gestiune, Nvl(sectie, "") As sectie, ;
|
|
"" As codleft ;
|
|
From crslista ;
|
|
Order By codleft, nrinv ;
|
|
Into Cursor crsRegNrInv
|
|
|
|
If Used('crslista')
|
|
Use In crslista
|
|
Endif
|
|
|
|
If Reccount('crsRegNrInv') > 0
|
|
pcDataOra = get_ora(2)
|
|
Select crsRegNrInv
|
|
*!* Report Form reg_nr_inv To Printer Prompt Preview
|
|
goExport.export2frx([crsRegNrInv], [reg_nr_inv], , , , , , .T.)
|
|
If aMESSAGEBOX('Doriti sa exportati in format XLS?', 4 + 32, _Screen.Caption) = 6
|
|
export_xls('crsRegNrInv', 'Registru Numere Inventar')
|
|
Endif
|
|
Else
|
|
aMESSAGEBOX("Nu exista inregistrari pentru listare!", 48, "Atentie")
|
|
Endif
|
|
|
|
If Used('crsRegNrInv')
|
|
Use In crsRegNrInv
|
|
Endif
|
|
Endproc && RegNrInvInCurs
|
|
***======================== SFARSIT: RegNrInvInCurs =====================================
|
|
|
|
****************************************************************
|
|
* verifica daca exista diferente intre modul standard (pack_imob.calcul_situatie_lunara) si modul experimental (selectie din view imob_vsituatie_lunara) de calcul amortizare
|
|
****************************************************************
|
|
Procedure raport_concordanta_experimental
|
|
Lparameters tnIdTipImobilizare
|
|
|
|
Private pdDataI, pdDataF, pcCond, pnFiscala
|
|
Local lcsql, lcCursorS, lcCursorE
|
|
|
|
Create Cursor cDiferenteImob (id_mf i, nr_inventar i, denumire c(200), amps N(16, 2) Null, ampe N(16, 2) Null, dif1 L, amls N(16, 2) Null, amle N(16, 2) Null, dif2 L, valas N(16, 2) Null, valae N(16, 2) Null, dif3 L, ;
|
|
valis N(16, 2) Null, valie N(16, 2) Null, dif4 L, valrs N(16, 2) Null, valre N(16, 2) Null, dif5 L, iesits N(1) Null, iesite N(1) Null, dif6 L, dataes D Null, dataee D Null, dif7 L, Tip N(1) Null)
|
|
|
|
pdDataI = Date(m.gnAn, m.gnLuna, 1)
|
|
pdDataF = m.pdDataI
|
|
|
|
pcCond = [2=2]
|
|
pnFiscala = 0
|
|
|
|
* STANDARD
|
|
lcCursorS = 'crsAmortizareStandard'
|
|
lcsql = [{call pack_imob.CALCUL_SITUATIE_LUNARA(?pdDataI,?pdDataF,?pcCond,?pnFiscala,?gnIdSucursala)}]
|
|
llSucces = goExecutor.oExecuta(m.lcsql, m.lcCursorS)
|
|
|
|
|
|
* EXPERIMENTAL
|
|
lcCursorE = 'crsAmortizareExperimentalTemp'
|
|
llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;')
|
|
If m.llSucces
|
|
lcFiltru = [id_tip_imobilizare = ] + Alltrim(Str(m.tnIdTipImobilizare))
|
|
If !Isnull(m.gnIdSucursala)
|
|
lcFiltru = m.lcFiltru + [ and ID_SUCURSALA = ] + Alltrim(Str(m.gnIdSucursala))
|
|
Endif
|
|
lcsql = [SELECT * FROM ] + Iif(m.pnFiscala = 0, [imob_vsituatie_lunara], [imobf_vsituatie_lunara]) + ' WHERE ' + m.lcFiltru
|
|
llSucces = goExecutor.oExecuta(m.lcsql, m.lcCursorE)
|
|
Endif
|
|
Select *, .F. As verificat From (m.lcCursorE) Into Cursor crsAmortizareExperimental Readwrite
|
|
|
|
Select crsAmortizareStandard
|
|
Scan For id_tip_imobilizare = m.tnIdTipImobilizare
|
|
Scatter Name loS
|
|
|
|
Select crsAmortizareExperimental
|
|
Locate For id_mf = loS.id_mf
|
|
If Found()
|
|
Scatter Name loE
|
|
Replace verificat With .T.
|
|
Else
|
|
Scatter Name loE Blank
|
|
Endif
|
|
llDif1 = Nvl(loS.amort_prec, 0) <> Nvl(loE.amort_prec, 0)
|
|
llDif2 = Nvl(loS.rata, 0) <> Nvl(loE.rata, 0)
|
|
llDif3 = Nvl(loS.valoare_achizitie, 0) <> Nvl(loE.valoare_achizitie, 0) && valoare achizitie
|
|
llDif4 = Nvl(loS.valoare, 0) <> Nvl(loE.valoare, 0) && valoare inventar
|
|
llDif5 = Nvl(loS.valoare_ramasa, 0) <> Nvl(loE.valoare_ramasa, 0)
|
|
llDif6 = Nvl(loS.iesit_din_gest, 0) <> Nvl(loE.iesit_din_gest, 0)
|
|
llDif7 = Nvl(loS.data_expirare, 0) <> Nvl(loE.data_expirare, 0)
|
|
If (m.llDif1 Or m.llDif2 Or m.llDif3 Or m.llDif4 Or m.llDif5 Or m.llDif6 Or m.llDif7)
|
|
Insert Into cDiferenteImob (id_mf, nr_inventar, denumire, amps, ampe, amls, amle, valas, valae, valis, valie, valrs, valre, iesits, iesite, dataes, dataee, Tip, dif1, dif2, dif3, dif4, dif5, dif6, dif7) ;
|
|
Values (loS.id_mf, loS.nr_inventar, loS.denumire, loS.amort_prec, loE.amort_prec, loS.rata, loE.rata, loS.valoare_achizitie, loE.valoare_achizitie, loS.valoare, loE.valoare, loS.valoare_ramasa, loE.valoare_ramasa, ;
|
|
loS.iesit_din_gest, loE.iesit_din_gest, loS.data_expirare, loE.data_expirare, loS.id_tip_imobilizare, m.llDif1, m.llDif2, m.llDif3, m.llDif4, m.llDif5, m.llDif6, m.llDif7)
|
|
Endif
|
|
Endscan && crsAmortizareStandard
|
|
|
|
Insert Into cDiferenteImob (id_mf, nr_inventar, denumire, ampe, amle, valae, valie, valre, iesite, dataee, Tip, dif1, dif2, dif3, dif4, dif5, dif6, dif7) ;
|
|
Select id_mf, nr_inventar, denumire, amort_prec, rata, valoare_achizitie, valoare, valoare_ramasa, iesit_din_gest, data_expirare, id_tip_imobilizare, .T., .T., .T., .T., .T., .T., .T. ;
|
|
From crsAmortizareExperimental Where !verificat
|
|
|
|
Use In (Select('crsAmortizareStandard'))
|
|
Use In (Select('crsAmortizareExperimental'))
|
|
|
|
Select cDiferenteImob
|
|
Go Top
|
|
If Reccount() = 0
|
|
aMESSAGEBOX('Nu exista diferente intre calcul amortizare standard si experimental', 0 + 64, _Screen.Caption)
|
|
Else
|
|
Browse Title 'Diferente calcul standard - experimental'
|
|
|
|
If aMESSAGEBOX('Doriti sa exportati in format XLS?', 4 + 32, _Screen.Caption) = 6
|
|
export_xls('cDiferenteImob', 'Diferente calcul standard - experimental')
|
|
Endif
|
|
Endif
|
|
Use In (Select('cDiferenteImob'))
|
|
Endproc && raport_concordanta_experimental
|
|
|
|
********************************
|
|
Procedure list_situatie_reevaluare
|
|
LPARAMETERS tnIdTipImobilizare, tcIds
|
|
* tnIdTipImobilizare: 1=corporale, 2=necorporale, 3=in curs
|
|
* tcIds (optional): lista id_mf separate prin virgula
|
|
|
|
*!* Situatia de reevaluari a tuturor imobilizarilor
|
|
*!* 1. Am luat "valoarea de inventar" si "durata ramasa" de la toate operatiile de tip "Reevaluare".
|
|
*!* 2. Am comparat valoarea de inventar noua cu valoarea anterioara. Diferenta am impartit-o la durata ramasa (luni) si a rezultat o "rata".
|
|
*!* 3. Am generat apoi atatea inregistrari pentru "rata" respectiva cate luni ramase au fost la reevaluare.
|
|
*!* 4. Am generat aceasta situatie pentru toate lunile 2003-2020.
|
|
*!* Primele 2 coloane: an si luna reprezinta luna contabila in care sunt active ratele de majorare (de la luna operatiei de reevaluare pana la numarul de luni ramase).
|
|
|
|
*!* Exemplu: Pentru numarul de inventar 201001, AEROTERMA 15 KW sunt 2 reevaluari:
|
|
*!* - ianuarie 2004: valoare majorare: 304.07 lei, dns ramas: 72 luni, majorarea se imparte pana in decembrie 2009 (72 luni) in rate de 4.22 lei
|
|
*!* - decembrie 2006: valoare majorare: 92.76 lei, dns ramas: 36 luni, majorarea se imparte pana in noiembrie 2009 in rate de 2.58 lei
|
|
*!* ianuarie 2004 - noiembrie 2006: rata de 4.22 lei
|
|
*!* decembrie 2006 - noiembrie 2009: rata de 4.22 + 2.58 = 6.8 lei
|
|
*!* decembrie 2009: rata 4.22 lei
|
|
|
|
Local lcFileName, lcsql, llSucces, loPerioada, lcSelect
|
|
PRIVATE pnNrLuni1, pnNrLuni2, pcTitlu, pnIdTipImobilizare
|
|
lcSelect = SELECT()
|
|
pnIdTipImobilizare = IIF(!EMPTY(m.tnIdTipImobilizare), m.tnIdTipImobilizare, 1)
|
|
|
|
*!* AMESSAGEBOX('Alegeti perioada pentru care doriti sa generati raportul!', 0 + 64, _Screen.Caption)
|
|
loPerioada = AlegePerioada()
|
|
If Type('loPerioada') <> 'O'
|
|
Return
|
|
Endif
|
|
|
|
pnNrLuni1 = loPerioada.an1 * 12 + loPerioada.luna1
|
|
pnNrLuni2 = loPerioada.an2 * 12 + loPerioada.luna2
|
|
pcTitlu = 'Situatie reevaluari imobilizari ' + IIF(m.pnIdTipImobilizare = 1, 'corporale', 'necorporale') + ' ' + loPerioada.perioada
|
|
|
|
lcsql = [select * from imob_vsituatie_reevaluare r]
|
|
|
|
IF !EMPTY(m.tcIds)
|
|
lcsql = m.lcSql + [ JOIN (SELECT * FROM table(cast(CHARN2COLLECTION('] + m.tcIds + [', ',') as num_tab))) i ON r.ID_MF = i.X]
|
|
ENDIF
|
|
|
|
lcSql = m.lcSql + [ where r.an*12+r.luna between ?pnNrLuni1 and ?pnNrLuni2 and r.id_tip_imobilizare = ?pnIdTipImobilizare]
|
|
|
|
llSucces = goExecutor.oExecuta(m.lcsql, "cSituatieReevaluare")
|
|
If m.llSucces
|
|
goExport.export2frx([cSituatieReevaluare], [situatie_reevaluare], , , , , , .T.)
|
|
|
|
If AMESSAGEBOX('Doriti sa exportati in format XLS?', 4 + 32, _Screen.Caption) = 6
|
|
lcFileName = 'situatie_reevaluare_' + ALLTRIM(STR(INT(loPerioada.an1))) + PADL(INT(loPerioada.luna1),2,'0') + '_' + ALLTRIM(STR(INT(loPerioada.an2))) + PADL(INT(loPerioada.luna2),2,'0')
|
|
export_xls('cSituatieReevaluare', m.lcFileName)
|
|
Endif
|
|
Endif
|
|
Use In (Select('cSituatieReevaluare'))
|
|
SELECT (m.lcSelect)
|
|
Endproc && list_situatie_reevaluare
|
|
|
|
********************************
|
|
Procedure list_situatie_modificari
|
|
LPARAMETERS tnIdTipImobilizare, tcIds, tnIdTipOperatie
|
|
* tnIdTipImobilizare: 1=corporale, 2=necorporale, 3=in curs
|
|
* tcIds (optional): lista id_mf separate prin virgula
|
|
* tnIdTipOperatie (optional): 0/.F. = toate, 6 = majorare, 7 = reevaluare
|
|
|
|
*!* Situatia de majorari a tuturor imobilizarilor
|
|
*!* 1. Am luat "valoarea de inventar" de la toate operatiile de tip "Majorare".
|
|
*!* 2. Valoarea majorare = diferenta dintre valoarea de inventar noua si valoarea anterioara
|
|
|
|
Local lcFileName, lcsql, llSucces, loPerioada, lcSelect, lcTipOperatie, lnIdTipOperatie
|
|
PRIVATE pnNrLuni1, pnNrLuni2, pcTitlu, pnIdTipImobilizare
|
|
lcSelect = SELECT()
|
|
pnIdTipImobilizare = IIF(!EMPTY(m.tnIdTipImobilizare), m.tnIdTipImobilizare, 1)
|
|
lnIdTipOperatie = IIF(!EMPTY(m.tnIdTipOperatie), m.tnIdTipOperatie, 0)
|
|
|
|
lcTipOperatie = ''
|
|
DO CASE
|
|
CASE m.lnIdTipOperatie = 6
|
|
lcTipOperatie = 'majorare'
|
|
CASE m.lnIdTipOperatie = 7
|
|
lcTipOperatie = 'reevaluare'
|
|
ENDCASE
|
|
|
|
*!* AMESSAGEBOX('Alegeti perioada pentru care doriti sa generati raportul!', 0 + 64, _Screen.Caption)
|
|
loPerioada = AlegePerioada()
|
|
If Type('loPerioada') <> 'O'
|
|
Return
|
|
Endif
|
|
|
|
pnNrLuni1 = loPerioada.an1 * 12 + loPerioada.luna1
|
|
pnNrLuni2 = loPerioada.an2 * 12 + loPerioada.luna2
|
|
pcTitlu = 'Situatie operatii ' + IIF(!EMPTY(m.lcTipOperatie), m.lcTipOperatie + ' ', '') + 'imobilizari ' + IIF(m.pnIdTipImobilizare = 1, 'corporale', 'necorporale') + ' ' + loPerioada.perioada
|
|
|
|
lcsql = [select * from imob_vsituatie_modificari r]
|
|
|
|
IF !EMPTY(m.tcIds)
|
|
lcsql = m.lcSql + [ JOIN (SELECT * FROM table(cast(CHARN2COLLECTION('] + m.tcIds + [', ',') as num_tab))) i ON r.ID_MF = i.X]
|
|
ENDIF
|
|
|
|
lcSql = m.lcSql + [ where extract(year from r.data_operatie)*12+ extract(month from r.data_operatie) between ?pnNrLuni1 and ?pnNrLuni2 and r.id_tip_imobilizare = ?pnIdTipImobilizare]
|
|
|
|
IF !EMPTY(m.lnIdTipOperatie)
|
|
lcsql = m.lcSql + [ and r.id_tip_operatie = ] + ALLTRIM(STR(m.lnIdTipOperatie))
|
|
ENDIF
|
|
|
|
llSucces = goExecutor.oExecuta(m.lcsql, "cSituatieModificari")
|
|
If m.llSucces
|
|
IF RECCOUNT('cSituatieModificari') > 0
|
|
goExport.export2frx([cSituatieModificari], [situatie_modificari], , , , , , .T.)
|
|
|
|
If AMESSAGEBOX('Doriti sa exportati in format XLS?', 4 + 32, _Screen.Caption) = 6
|
|
lcFileName = 'situatie_operatii_' + IIF(!EMPTY(m.lcTipOperatie), m.lcTipOperatie + '_', '') + ALLTRIM(STR(INT(loPerioada.an1))) + PADL(INT(loPerioada.luna1),2,'0') + '_' + ALLTRIM(STR(INT(loPerioada.an2))) + PADL(INT(loPerioada.luna2),2,'0')
|
|
export_xls('cSituatieModificari', m.lcFileName)
|
|
ENDIF
|
|
ELSE
|
|
AMESSAGEBOX('Nu exista inregistrari pentru aceasta perioada',0+64,_screen.Caption)
|
|
ENDIF
|
|
ENDIF && llSucces
|
|
|
|
Use In (Select('cSituatieModificari'))
|
|
SELECT (m.lcSelect)
|
|
Endproc && list_situatie_modificari |