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
This commit is contained in:
2026-07-24 13:46:29 +03:00
parent 6b58e92c13
commit 7364ca2abd
4 changed files with 43 additions and 6 deletions

3
.gitignore vendored
View File

@@ -122,3 +122,6 @@ bash.exe.stackdump
# --- COMUN este gestionat separat, prin propriul sau git (romfast/comun.git) --- # --- COMUN este gestionat separat, prin propriul sau git (romfast/comun.git) ---
COMUN/ COMUN/
# Patch-uri intermediare de review (reguli_lucru.md pct. 1) - raman doar local
docs/diff_runda*.patch

View File

@@ -2391,6 +2391,9 @@ DEFINE CLASS frm_introducere AS _frmbase OF "..\comun\clase\_frm_base.vcx"
Thisform.clb_dataact.text_simplu1.Value = toMF.dataact Thisform.clb_dataact.text_simplu1.Value = toMF.dataact
Thisform.clb_valoare.text_simplu1.Value = toMF.valoare Thisform.clb_valoare.text_simplu1.Value = toMF.valoare
THISFORM.clb_cont.text_SIMPLU1.Value = toMF.cont THISFORM.clb_cont.text_SIMPLU1.Value = toMF.cont
If Type('toMF.acont') = 'C'
Thisform.clb_cont.txtAcont.Value = Alltrim(Nvl(toMF.acont,''))
Endif
*!* 16.11.2009 *!* 16.11.2009
thisform.clb_expl_mf.text_simplu1.Value = ALLTRIM(NVL(toMF.explicatia,'')) thisform.clb_expl_mf.text_simplu1.Value = ALLTRIM(NVL(toMF.explicatia,''))
thisform.ed_denumire._edbase1.Value = ALLTRIM(NVL(toMF.explicatia,'')) thisform.ed_denumire._edbase1.Value = ALLTRIM(NVL(toMF.explicatia,''))
@@ -3240,6 +3243,9 @@ DEFINE CLASS frm_introducere_curs AS _frmbase OF "..\comun\clase\_frm_base.vcx"
Thisform.clb_dataact.text_simplu1.Value = toMF.dataact Thisform.clb_dataact.text_simplu1.Value = toMF.dataact
Thisform.clb_valoare.text_simplu1.Value = toMF.valoare Thisform.clb_valoare.text_simplu1.Value = toMF.valoare
THISFORM.clb_cont.text_SIMPLU1.Value = toMF.cont THISFORM.clb_cont.text_SIMPLU1.Value = toMF.cont
If Type('toMF.acont') = 'C'
Thisform.clb_acont.text_simplu1.Value = Alltrim(Nvl(toMF.acont,''))
Endif
*!* 16.11.2009 *!* 16.11.2009
thisform.clb_expl_op.text_simplu1.Value = ALLTRIM(NVL(toMF.explicatia,'')) thisform.clb_expl_op.text_simplu1.Value = ALLTRIM(NVL(toMF.explicatia,''))
thisform.ed_denumire._edbase1.Value = ALLTRIM(NVL(toMF.part,'')) thisform.ed_denumire._edbase1.Value = ALLTRIM(NVL(toMF.part,''))
@@ -8498,6 +8504,7 @@ DEFINE CLASS frm_lista_curs AS _frmbase OF "..\comun\clase\_frm_base.vcx"
*< OBJECTDATA: ObjPath="_grdfooter1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="_grdfooter1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_start_criterii1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Gridextra1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Cmd_executa2" UniqueID="" Timestamp="" /> *< OBJECTDATA: ObjPath="Cmd_executa2" UniqueID="" Timestamp="" />
@@ -8516,7 +8523,7 @@ DEFINE CLASS frm_lista_curs AS _frmbase OF "..\comun\clase\_frm_base.vcx"
FontCharSet = 238 FontCharSet = 238
Height = 582 Height = 582
Name = "frm_lista_curs" Name = "frm_lista_curs"
ntip = 0 ntip = 3
Width = 793 Width = 793
WindowState = 2 WindowState = 2
_SHAPE1.Anchor = 10 _SHAPE1.Anchor = 10
@@ -8618,6 +8625,13 @@ DEFINE CLASS frm_lista_curs AS _frmbase OF "..\comun\clase\_frm_base.vcx"
Top = 0 Top = 0
*< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" /> *< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" />
ADD OBJECT 'But_verifica1' AS but_verifica WITH ;
Anchor = 8, ;
Left = 551, ;
Name = "But_verifica1", ;
Top = 0
*< END OBJECT: ClassLib="..\comun\clase\cmd_butoane.vcx" BaseClass="commandbutton" />
ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ; ADD OBJECT 'Cmd_executa1' AS cmd_executa WITH ;
Anchor = 8, ; Anchor = 8, ;
Caption = "\<Operatiuni", ; Caption = "\<Operatiuni", ;
@@ -9412,6 +9426,11 @@ DEFINE CLASS frm_lista_curs AS _frmbase OF "..\comun\clase\_frm_base.vcx"
Endif Endif
ENDPROC ENDPROC
PROCEDURE do_verifica
*!* 24.07.2026 Claude - buton verificare cu balanta (doar valoare inventar)
Do verificare_balanta With This.nTip In oproceduri_imob.prg
ENDPROC
PROCEDURE Show PROCEDURE Show
LPARAMETERS nStyle LPARAMETERS nStyle
@@ -11797,7 +11816,7 @@ DEFINE CLASS frm_op_majorare AS _frmbase OF "..\comun\clase\_frm_base.vcx"
Thisform.clb_datareeval.text_simplu1.Value=this.Value Thisform.clb_datareeval.text_simplu1.Value=this.Value
ENDPROC ENDPROC
PROCEDURE Clb_majorar.Text_simplu1.InteractiveChange PROCEDURE Clb_majorar.Text_simplu1.Valid
Thisform.Calculeaza() Thisform.Calculeaza()
ENDPROC ENDPROC

View File

@@ -188,6 +188,7 @@ Procedure preluare_imob
SELECT dataact, SELECT dataact,
nract, nract,
scd as cont, scd as cont,
max(ascd) as acont,
max(P.DENUMIRE) as part, max(P.DENUMIRE) as part,
max(explicatia) as explicatia, max(explicatia) as explicatia,
sum(suma) as suma_act, sum(suma) as suma_act,
@@ -238,7 +239,7 @@ Procedure preluare_imob
Use In (Select('crsImobPreluare')) Use In (Select('crsImobPreluare'))
Select tnTip As tip, Ttod(a.dataact) As dataact, a.nract, a.Part, a.Cont, 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 ; 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 ; 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) ; Ttod(a.dataact) = Ttod(i.data_achizitie) And ALLTRIM(a.Cont) == ALLTRIM(i.Cont) ;
Order By 1, 2, 3 ; Order By 1, 2, 3 ;
@@ -451,7 +452,7 @@ Procedure verificare_balanta(tnTip, tnAn, tnLuna)
lcMesaj = '' lcMesaj = ''
llImobObiecteInventar = .F. && daca verific si contul 303 (obiecte de inventar) llImobObiecteInventar = .F. && daca verific si contul 303 (obiecte de inventar)
lnTipImobilizare = Iif(Type('tnTip') <> 'N', 1, Iif(Inlist(tnTip, 1, 2), tnTip, 1)) lnTipImobilizare = Iif(Type('tnTip') <> 'N', 1, Iif(Inlist(tnTip, 1, 2, 3), tnTip, 1))
If Pcount() < 3 If Pcount() < 3
lnAn = gnAn lnAn = gnAn
@@ -480,7 +481,7 @@ select 2 as tip, c.cont, c.cont_amortizare,
b.soldcred as sold b.soldcred as sold
from imob_conturi c 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)),'')>> 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.llImobObiecteInventar, [ and c.cont <> '303'], [])>> where c.id_tip_imobilizare = <<lnTipImobilizare>> <<Iif(m.lnTipImobilizare = 3, [ and 1 = 0], [])>> <<IIF(!m.llImobObiecteInventar, [ and c.cont <> '303'], [])>>
order by 1,2 order by 1,2
Endtext Endtext
@@ -507,7 +508,7 @@ order by 1,2
ENDIF ENDIF
If m.llSucces If m.llSucces
Select Cont, Sum(valoare) As valinv, Sum(amort_prec + rata) As amorttot ; Select Cont, Sum(Iif(m.lnTipImobilizare = 3, valoare_ramasa, valoare)) As valinv, Sum(amort_prec + rata) As amorttot ;
From crsListaVerificare ; From crsListaVerificare ;
Where ID_TIP_IMOBILIZARE = lnTipImobilizare And iesit_din_gest = 0; Where ID_TIP_IMOBILIZARE = lnTipImobilizare And iesit_din_gest = 0;
Group By Cont ; Group By Cont ;

View File

@@ -1,3 +1,17 @@
<!--
24/07/2026
ROAIMOB - 2.1.44
:nou:
Lista imobilizarilor in curs. S-a adaugat butonul de verificare cu contabilitatea (se compara doar valoarea de inventar cu soldul din balanta).
:modificare:
La preluarea din contabilitate se preia acum si contul analitic din nota contabila.
:modificare:
La operatia de majorare se calculeaza valoarea noua de intrare dupa introducerea sumei majorarii.
-->
<!-- <!--
08/07/2026 08/07/2026
ROAIMOB - 2.1.43 ROAIMOB - 2.1.43