Files
roaimob/Programe/oproceduri_imob.prg
Marius Mutu 7364ca2abd Preluare cont analitic, verificare balanta imobilizari in curs, calcul valoare noua la majorare (2.1.44)
- preluare_imob: aduce ascd (cont analitic) din nota contabila si il
  populeaza in frm_introducere / frm_introducere_curs la preluare
- verificare_balanta: accepta tip 3 (fara ramura amortizare, comparatie
  pe valoare_ramasa); frm_lista_curs: ntip=3, buton But_verifica1 si
  metoda do_verifica
- frm_op_majorare: recalculul valorii noi de intrare se face pe Valid
  (la InteractiveChange variabila din ControlSource nu e inca scrisa)
- changelog 2.1.44; .gitignore: patch-urile docs/diff_runda* raman local

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CpPGRsKnGofcJRQJ9euEre
2026-07-24 13:46:29 +03:00

614 lines
20 KiB
Plaintext

*!* 11.11.2009
*!* marius.mutu
*!* alocare, dezalocare numere inventar
*!* 18.10.2021
*!* marius.mutu
*!* preluare_imob, verificare_balanta se verifica contul 303 in functie de optiunea IMOB_OBI
#Define CRLF Chr(13) + Chr(10)
Procedure viz_jurnal
Local lcFiltru, lcFiltruOriginal, lcGroup, lcOrder, lcSchema, lcSelect, llAfisare, llModParam
PRIVATE poLista
Store '' To poLista
Store '' To ofrmviz
If Used('crsjurnal')
Use In crsjurnal
Endif
lcSchema = []
lcSelect = [select * from imob_vjurnal2]
lcOrder = [denumire,id_mf,id_operatie_mf]
lcFiltru = [1=2]
lcFiltruOriginal = []
llModParam = .T.
lcGroup = []
llAfisare = .F.
gencursor('poLista', 'crsjurnal', lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal)
poLista.ca_baza1.afisare()
Select crsjurnal
ofrmviz = Createobject('frm_jurnal')
ofrmviz.Show(1)
Release ofrmviz, poLista
If Used('crsjurnal')
Use In crsjurnal
Endif
Endproc && viz_jurnal
*************************************************************************************************************
Procedure introducere_imob_corp
Lparameters toMF
Local lnButon
lnButon = 2
lnButon = introducere_imob(1, toMF)
Return lnButon
Endproc && introducere_imob_corp
*************************************************************************************************************
Procedure introducere_imob_necorp
Lparameters toMF
Local lnButon
lnButon = 2
lnButon = introducere_imob(2, toMF)
Return lnButon
Endproc && introducere_imob_necorp
*************************************************************************************************************
Procedure introducere_imob
Parameters tnTip, toMF
&& tnTip: 1 = corporale; 2 = necorporale
&& toMF - folosit la preluarea din contabilitate - vine completat cu nract, dataact, valoare
Private pnButon
Local lcMesaj, lnRaspuns
Store '' To ofrmintro
lcMesaj = "Nu puteti face introduceri"
If !verificare_luna_inchisa(lcMesaj)
Return
Endif
= cctipuri_amort()
= update_cote_TVA()
lnRaspuns = 6
pnButon = 1
*!* 11.11.2009
Local lnRezultat, lnIdTipDocNrInv
Private poGeneratorNumere
lnIdTipDocNrInv = 18
poGeneratorNumere = Createobject('oGeneratorNumere')
*!* 11.11.2009 ^
Do While lnRaspuns = 6 And pnButon = 1
*!* 11.11.2009
poGeneratorNumere.ResetAll()
lnRezultat = poGeneratorNumere.creeaza_cursor_serii(m.lnIdTipDocNrInv)
*!* 11.11.2009 ^
ofrmintro = Createobject('frm_introducere', tnTip, 1, toMF)
ofrmintro.Show(1)
Release ofrmintro
If pnButon = 1
lnRaspuns = aMESSAGEBOX("Doriti sa continuati introducerile?", 4 + 32, "Confirmare")
Else
*!* 11.11.2009
poGeneratorNumere.dezaloca_numere()
*!* 11.11.2009 ^
Endif
Enddo
If Used('v_tipuri_amort')
Use In v_tipuri_amort
Endif
*!* modificare v 2.0.18
If Used('cote_TVA')
Use In cote_TVA
Endif
*!* modificare v 2.0.18 ^
Return pnButon
Endproc && introducere_imob
*************************************************************************************************************
Procedure introducere_imob_in_curs
Lparameters toMF
&& toMF - folosit la preluarea din contabilitate - vine completat cu nract, dataact, valoare
Private pnButon
Local lcMesaj, lnRaspuns
Store '' To ofrmintroc
lcMesaj = "Nu puteti face introduceri"
If !verificare_luna_inchisa(lcMesaj)
Return
Endif
lnRaspuns = 6
pnButon = 1
*!* 11.11.2009
Local lnRezultat, lnIdTipDocNrInv
Private poGeneratorNumere
lnIdTipDocNrInv = 18
poGeneratorNumere = Createobject('oGeneratorNumere')
*!* 11.11.2009 ^
Do While lnRaspuns = 6 And pnButon = 1
*!* 11.11.2009
poGeneratorNumere.ResetAll()
lnRezultat = poGeneratorNumere.creeaza_cursor_serii(m.lnIdTipDocNrInv)
*!* 11.11.2009 ^
ofrmintroc = Createobject('frm_introducere_curs', .F., toMF)
ofrmintroc.Show(1)
Release ofrmintroc
If pnButon = 1
lnRaspuns = aMESSAGEBOX("Doriti sa continuati introducerile?", 4 + 32, "Confirmare")
Else
*!* 11.11.2009
poGeneratorNumere.dezaloca_numere()
*!* 11.11.2009 ^
Endif
Enddo
Return pnButon
Endproc && introducere_imob_in_curs
*************************************************************************************************************
Procedure preluare_imob
Lparameters tnTip
Local lcSql, lcCondSucursala, lnSucces, llSucces, lcFiltru, llExperimental, llImobObiecteInventar
Private pdDataI, pdDataF, pcCond, pnFiscala
pdDataI = Date(gnAn, gnLuna, 1)
pdDataF = pdDataI
pcCond = []
pnFiscala = 0
llImobObiecteInventar = (TYPE('gnIMOB_OBI') = 'N' and m.gnIMOB_OBI = 1)
lcCondSucursala = Strtran(gcCondSucursala, "id_sucursala", "a.id_sucursala", 1, 1, 1)
&& SELECTIE DIN ACT PENTRU CONTURILE IMOBILIZARI CORPORALE/NECORPORALE/CURS
Text To lcSql Textmerge Noshow
SELECT dataact,
nract,
scd as cont,
max(ascd) as acont,
max(P.DENUMIRE) as part,
max(explicatia) as explicatia,
sum(suma) as suma_act,
Cast(0 as number(18,4)) as suma_imob
FROM ACT A
JOIN IMOB_CONTURI I ON A.SCD = I.CONT AND I.ID_TIP_IMOBILIZARE = <<tnTip>> <<IIF(!m.llImobObiecteInventar, [ and i.cont <> '303'], [])>>
LEFT JOIN NOM_PARTENERI P ON A.ID_PARTC = P.ID_PART
WHERE A.STERS = 0 AND A.AN = <<m.gnAn>> AND A.LUNA = <<m.gnLuna>> <<m.lcCondSucursala>> <<Iif(m.tnTip <> 3, [ AND A.SCC NOT IN (SELECT CONT FROM IMOB_CONTURI WHERE ID_TIP_IMOBILIZARE = 3)], [])>>
group by dataact, nract, scd
Endtext
lnSucces = goExecutor.oExecute(lcSql, "cListaAct")
If lnSucces < 0
aMESSAGEBOX(goExecutor.cEroare, 0 + 16, "Eroare")
Return
Endif
lcCursor = 'crsImobPreluare'
If tnTip = 3 && IMOBILIZARI IN CURS
lcSel = [select 3 as id_tip_imobilizare, 0 as iesit_din_gest, cont, nract,data_achizitie, valoare ] + ;
[ from imob_vlista_curs WHERE TO_CHAR(DATA_ACHIZITIE,'MM/YYYY') = '] + Padl(gnLuna, 2, '0') + '/' + Padl(gnAn, 4, '0') + ['] + gcCondSucursala
llSucces = goExecutor.oExecuta(lcSel, lcCursor)
ELSE
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
Endif
If m.llSucces
Select Cont, nract, data_achizitie, Sum(valoare) As valinv ;
From crsImobPreluare ;
Where ID_TIP_IMOBILIZARE = tnTip And iesit_din_gest = 0 And ;
Year(data_achizitie) * 12 + Month(data_achizitie) = m.gnAn * 12 + m.gnLuna ;
Group By Cont, nract, data_achizitie ;
Into Cursor cListaImob
Use In (Select('crsImobPreluare'))
Select tnTip As tip, Ttod(a.dataact) As dataact, a.nract, a.Part, a.Cont, a.acont, a.explicatia, a.suma_act, Nvl(i.valinv, Cast(0 As N(18, 4))) As suma_imob, (a.suma_act = Nvl(i.valinv, 0)) As introdus ;
From cListaAct a Left Join cListaImob i On a.nract = i.nract And ;
Ttod(a.dataact) = Ttod(i.data_achizitie) And ALLTRIM(a.Cont) == ALLTRIM(i.Cont) ;
Order By 1, 2, 3 ;
Into Cursor crsPreluare Readwrite
Use In (Select('cListaImob'))
Use In (Select('cListaAct'))
loFrmPreluare = Createobject("frm_preluare")
loFrmPreluare.Show(1)
Use In (Select('crsPreluare'))
Endif
Endproc && preluare_imob
*************************************************************************************************************
Procedure vizualizare_lista_imob_corp
Parameters tnFiscala
vizualizare_lista_imob(1, tnFiscala)
Endproc && vizualizare_lista_imob_necorp
*************************************************************************************************************
Procedure vizualizare_lista_imob_necorp
Parameters tnFiscala
vizualizare_lista_imob(2, tnFiscala)
Endproc && vizualizare_lista_imob_necorp
*************************************************************************************************************
Procedure vizualizare_lista_imob
Parameters tnTip, tnFiscala
****
* 1) imob.corporale
* 2) imob.necorporale
****
Private poLista, pcSchema, pcSelect, pcOrder, pdDataI, pdDataF, pcCond, pnFiscala
Local lcFiltru, llSucces, llExperimental
poLista = NUll
llExperimental = .T. && 25.11.2021 llExperimental = (goApp.nExperimental = 1)
Use In (SELECT('crslista'))
pdDataI = Date(gnAn, gnLuna, 1)
pdDataF = pdDataI
*pcCond = [id_tip_imobilizare = ] + ALLTRIM(STR(tnTip)) && merge fffff greu
pcCond = [1=2]
If Empty(tnFiscala)
pnFiscala = 0
Else
pnFiscala = tnFiscala
Endif
lcCursor = 'crsLista'
If m.llExperimental
* EXPERIMENTAL SELECTIE DIN IMOB_VSITUATIE_LUNARA IN LOC DE PACK_IMOB.CALCUL_SITUATIE_LUNARA()
* Setez luna pentru view
llSucces = goExecutor.oExecuta('begin pack_imob.setlunacurenta(?pdDataI); end;')
IF m.llSucces
* se mai face o data selectia din baza de date in frm_lista.show(), asa ca nu iau date acum
lcSel = [SELECT * FROM ] + IIF(m.pnFiscala = 0, [imob_vsituatie_lunara], [imobf_vsituatie_lunara]) + [ WHERE 1=2 order by data_pif, nr_inventar]
llSucces = goExecutor.oExecuta(m.lcSel, m.lcCursor)
ENDIF
ELSE
lcSel = [{call pack_imob.CALCUL_SITUATIE_LUNARA(?pdDataI,?pdDataF,?pcCond,?pnFiscala,?gnIdSucursala)}]
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)']
llSucces = goExecutor.oExecuta(lcSel, lcCursor)
IF m.llSucces
Select crslista
Index On Dtos(data_PIF) + Str(nr_inventar) Tag ordine
ENDIF
ENDIF && llExperimental
IF m.llSucces
poLista= Createobject('frm_lista', m.tnTip, m.pnFiscala)
poLista.cnumecursor = m.lcCursor
poLista.Show(1)
Clear Class 'frm_lista'
Use In (SELECT('crslista'))
ENDIF
Release poLista
Endproc && vizualizare_lista_imob
*************************************************************************************************************
Procedure vizualizare_lista_imob_in_curs
Private poLista, pcSchema, pcSelect, pcOrder, pcFiltru
Local llAfiseaza
Store '' To poLista
Store '' To ofrmvizc
Local lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal
Store '' To lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal
If Used('crslista')
Use In crslista
Endif
lcSchema = []
lcSelect = [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, acont, utilizator,dataora,id_operatie_mf, an, luna, an_exp, luna_exp, id_sucursala, sucursala, CAST(0 as Number(16,4)) as valoareretinuta, 0 as ales ] + ;
[from imob_vlista_curs]
lcOrder = [data_achizitie,nr_inventar]
lcFiltru = []
*!* 10.04.2008
*!* din contafin am preluat imobilizari in curs cu valoare < 0 (o factura de stornare) si nu apareau in roa
*!* lcFiltruOriginal = [ valoare>0 ] + gcCondSucursala
lcFiltruOriginal = Iif(!Empty(gcCondSucursala), Substr(gcCondSucursala, 6), '')
*!* 10.04.2008 ^
llAfisare = .F.
llModParam = .T.
lcGroup = []
gencursor('poLista', 'crslista', lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal)
poLista.ca_baza1.afisare()
Select crslista
ofrmvizc = Createobject('frm_lista_curs')
ofrmvizc.Show(1)
If Used('crslista')
Use In crslista
Endif
Release ofrmvizc
Endproc && introducere_imob_in_curs
*************************************************************************************************************
Procedure MESAJ
Parameters m1
ot = Createobject('frm_mesaj', 'Atentie', 'pericol.ico', 'AVERTIZARE', m1, ' ')
ot.Show(1)
Return
*************************************************************************************************************
Procedure modif_operatii_rate
Parameters tnTipImob, tnFiscala, poMF
If Empty(poMF.id_mf)
Return
Endif
Private pnIdMf, pnTip, pnIdOperatie
Store 0 To pnIdMf, pnTip, pnIdOperatie
pnIdMf = poMF.id_mf
If Empty(tnTipImob)
pnTip = 1 && corporale
Else
pnTip = tnTipImob
Endif
*** pageframe1
lcSqlOperatii = ['select * from ] + Iif(tnFiscala = 0, [imob_voperatii_mf], [imobf_voperatii_mf]) + [ where 1=2']
lcSqlRate = ['select * from ] + Iif(tnFiscala = 0, [imob_vcalcul_rate ], [imobf_vcalcul_rate ]) + [ where 1=2']
If Used('crsOperatii')
Use In crsOperatii
Endif
Private poOperatii
poOperatii = ''
pcFiltru = [id_mf = ?pnIdMF ]
pcSchema = []
pcOrder = [data_operatie, id_operatie_mf]
llAfiseaza = .F.
gencursor('poOperatii', 'crsOperatii', lcSqlOperatii, pcFiltru, pcSchema, pcOrder, llAfiseaza)
poOperatii.ca_baza1.afisare()
Select crsOperatii
Locate
pnIdOperatie = id_operatie_mf
Private poRate
poRate = ''
If Used('crsRate')
Use In crsRate
Endif
pcFiltru2 = [id_mf = ?pnIdMF and id_operatie_mf = ?pnIdOperatie]
pcSchema2 = []
pcOrder2 = [id_calcul_rate]
llAfiseaza = .F.
gencursor('poRate', 'crsRate', lcSqlRate, pcFiltru2, pcSchema2, pcOrder2, llAfiseaza)
poRate.ca_baza1.afisare()
*** vizualizare
Select crsOperatii
omodif = Createobject('frm_operatii_rate')
omodif.omf = poMF
omodif.nFiscala = tnFiscala
omodif.Show()
If Used('crsOperatii')
Use In crsOperatii
Endif
If Used('crsRate')
Use In crsRate
Endif
Endproc && modif_operatii_rate
&& IAU SOLDURILE DIN BALANTA DE VERIFICARE PENTRU CONTURILE DE IMOBLIZARI SI AMORTIZARI
&& SI LE COMPAR CU VALOAREA DE INVENTAR SI AMORTIZAREA TOTALA DIN IMOBILIZARI CORPORALE/NECORPORALE CONTABIL
Procedure verificare_balanta(tnTip, tnAn, tnLuna)
Private pdDataI, pdDataF, pcCond, pnFiscala, pnIdTipImobilizare
Local lcSql, lnSucces, lcMesaj, lnAn, lnLuna, lnTipImobilizare, lcCondSucursala, lcBal, lcImob, lcDif
LOCAL llSucces, llExperimental, llImobObiecteInventar
lcMesaj = ''
llImobObiecteInventar = .F. && daca verific si contul 303 (obiecte de inventar)
lnTipImobilizare = Iif(Type('tnTip') <> 'N', 1, Iif(Inlist(tnTip, 1, 2, 3), tnTip, 1))
If Pcount() < 3
lnAn = gnAn
lnLuna = gnLuna
Else
lnAn = tnAn
lnLuna = tnLuna
Endif
pdDataI = Date(lnAn, lnLuna, 1)
pdDataF = pdDataI
pcCond = []
pnFiscala = 0
llImobObiecteInventar = (TYPE('gnIMOB_OBI') = 'N' and m.gnIMOB_OBI = 1)
lcCondSucursala = Strtran(gcCondSucursala, "id_sucursala", "b.id_sucursala", 1, 1, 1)
Text To lcSql Textmerge Noshow
select 1 as tip, c.cont, c.cont_amortizare,
b.SOLDDEB as sold
from imob_conturi c
left join <<Iif(glEMama,'vbalmama','vbal')>> b on c.cont = b.cont <<lcCondSucursala>> <<Iif(!glEMama, ' and b.an = ' + Alltrim(Str(lnAn)) + ' and b.luna = ' + Alltrim(Str(lnLuna)),'')>>
where c.id_tip_imobilizare = <<lnTipImobilizare>> <<IIF(!m.llImobObiecteInventar, [ and c.cont <> '303'], [])>>
union
select 2 as tip, c.cont, c.cont_amortizare,
b.soldcred as sold
from imob_conturi c
left join <<Iif(glEMama,'vbalmama','vbal')>> b on c.cont_amortizare = b.cont <<lcCondSucursala>> <<Iif(!glEMama, ' and b.an = ' + Alltrim(Str(lnAn)) + ' and b.luna = ' + Alltrim(Str(lnLuna)),'')>>
where c.id_tip_imobilizare = <<lnTipImobilizare>> <<Iif(m.lnTipImobilizare = 3, [ and 1 = 0], [])>> <<IIF(!m.llImobObiecteInventar, [ and c.cont <> '303'], [])>>
order by 1,2
Endtext
llSucces = goExecutor.oExecuta(lcSql, "crsConturiVerificare")
If !m.llSucces
Return
Endif
lcCursor = 'crslistaVerificare'
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.lnTipImobilizare)) + 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 Cont, Sum(Iif(m.lnTipImobilizare = 3, valoare_ramasa, valoare)) As valinv, Sum(amort_prec + rata) As amorttot ;
From crsListaVerificare ;
Where ID_TIP_IMOBILIZARE = lnTipImobilizare And iesit_din_gest = 0;
Group By Cont ;
Into Cursor cImobilizari
Use In (Select('crsListaVerificare'))
&& V.TIP: 1 = CONTURI IMOBILIZARI; 2 = CONTURI AMORTIZARI
Select v.tip, v.Cont, Nvl(v.sold, Cast(0 As N(18, 4))) As bal_valoare, Nvl(i.valinv, Cast(0 As N(18, 4))) As imob_valoare;
From crsConturiVerificare v Full Join cImobilizari i On v.Cont = i.Cont ;
Where v.tip = 1 ;
Union ;
Select v.tip, v.cont_amortizare As Cont, Nvl(v.sold, Cast(0 As N(18, 4))) As bal_valoare, Sum(Nvl(i.amorttot, Cast(0 As N(18, 4)))) As imob_valoare ;
From crsConturiVerificare v Full Join cImobilizari i On v.Cont = i.Cont ;
Where v.tip = 2 ;
Group By v.tip, v.cont_amortizare, v.sold ;
Into Cursor cVerificareImob ;
Order By 1, 2
Use In (Select('crsConturiVerificare'))
Use In (Select('cImobilizari'))
Set Textmerge On To Memvar lcMesaj Noshow
Select cVerificareImob
Scan For Abs(Round(bal_valoare - imob_valoare, gnPA)) > 0.00
lcImob = Padl(Alltrim(Transform(imob_valoare, GET_MASK(16, gnPA))), 20, ' ')
lcBal = Padl(Alltrim(Transform(bal_valoare, GET_MASK(16, gnPA))), 20, ' ')
lcDif = Padl(Alltrim(Transform(imob_valoare - bal_valoare, GET_MASK(16, gnPA))), 20, ' ')
\<<Cont>>: imobilizari: <<m.lcImob>> Balanta: <<m.lcBal>> Diferenta: <<m.lcDif>>
Endscan
Use In (Select('cVerificareImob'))
Set Textmerge To
If !Empty(m.lcMesaj)
lcMesaj = 'Diferente valori imobilizari - balanta verificare' + CRLF + m.lcMesaj
aMESSAGEBOX(lcMesaj, 0 + 48, 'Verificare')
Else
aMESSAGEBOX('Nu sunt diferente!', 0 + 48, 'Verificare')
Endif
Endif
Endproc && verificare_balanta
*----------------------------------------------------------------------------------------
Procedure viz_bunuri_capital
Private poBunCapital
Store [] To poBunCapital
Local lcSchema, lcSelect, lcOrder, lcFiltru, lcFiltruOriginal, llAfisare, llModMaram, lcGroup
lcSchema = []
lcSelect = [select * ] + ;
[from imob_vbunuricapital]
lcOrder = [denumire,datadoc]
lcFiltru = []
*!* lcFiltruOriginal = Iif(!Empty(gcCondSucursala), Substr(gcCondSucursala,6), '')
lcFiltruOriginal = []
llAfisare = .F.
llModParam = .T.
lcGroup = []
gencursor('poBunCapital', 'crsBunCapital', lcSelect, lcFiltru, lcSchema, lcOrder, llAfisare, lcGroup, llModParam, lcFiltruOriginal)
poBunCapital.ca_baza1.afisare()
Select crsBunCapital
frm_buncpital = Createobject('frm_bunuri_capital')
frm_buncpital.Show(1)
Endproc &&viz_bunuri_capital
**************************************
* Intoarce .T. daca numarul de inventar este duplicat
**************************************
function VerificaNumarInventar
LPARAMETERS tnNumarInventar, tnTip
PRIVATE pnNumarInventar, pdData, pnTip, pnRec
LOCAL llDuplicat, lcSql, llSucces
llDuplicat = .F.
pdData = Date(gnAn, gnLuna, 1)
pnNumarInventar = IIF(TYPE('tnNumarInventar') = 'N', m.tnNumarInventar, 0)
pnTip = IIF(TYPE('tnTip') = 'N', m.tnTip, 1)
IF !EMPTY(m.pnNumarInventar)
lcSql = [select pack_imob.verifica_nr_inventar(?pnNumarInventar,?pdData, ?pnTip) as nr from dual]
pnRec = 0
llSucces = goExecutor.oSelecteaza2Value(m.lcSql, @pnRec)
IF m.llSucces
llDuplicat = (m.pnRec > 0)
ENDIF
ENDIF
RETURN m.llDuplicat
ENDfunc