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/
# 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_valoare.text_simplu1.Value = toMF.valoare
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
thisform.clb_expl_mf.text_simplu1.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_valoare.text_simplu1.Value = toMF.valoare
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
thisform.clb_expl_op.text_simplu1.Value = ALLTRIM(NVL(toMF.explicatia,''))
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="But_start_criterii1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="But_reset_criterii1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="But_verifica1" UniqueID="" Timestamp="" />
*< OBJECTDATA: ObjPath="Gridextra1" 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
Height = 582
Name = "frm_lista_curs"
ntip = 0
ntip = 3
Width = 793
WindowState = 2
_SHAPE1.Anchor = 10
@@ -8618,6 +8625,13 @@ DEFINE CLASS frm_lista_curs AS _frmbase OF "..\comun\clase\_frm_base.vcx"
Top = 0
*< 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 ;
Anchor = 8, ;
Caption = "\<Operatiuni", ;
@@ -9412,6 +9426,11 @@ DEFINE CLASS frm_lista_curs AS _frmbase OF "..\comun\clase\_frm_base.vcx"
Endif
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
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
ENDPROC
PROCEDURE Clb_majorar.Text_simplu1.InteractiveChange
PROCEDURE Clb_majorar.Text_simplu1.Valid
Thisform.Calculeaza()
ENDPROC

View File

@@ -188,6 +188,7 @@ Procedure preluare_imob
SELECT dataact,
nract,
scd as cont,
max(ascd) as acont,
max(P.DENUMIRE) as part,
max(explicatia) as explicatia,
sum(suma) as suma_act,
@@ -238,7 +239,7 @@ Procedure preluare_imob
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 ;
Ttod(a.dataact) = Ttod(i.data_achizitie) And ALLTRIM(a.Cont) == ALLTRIM(i.Cont) ;
Order By 1, 2, 3 ;
@@ -451,7 +452,7 @@ Procedure verificare_balanta(tnTip, tnAn, tnLuna)
lcMesaj = ''
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
lnAn = gnAn
@@ -480,7 +481,7 @@ 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.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
Endtext
@@ -507,7 +508,7 @@ order by 1,2
ENDIF
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 ;
Where ID_TIP_IMOBILIZARE = lnTipImobilizare And iesit_din_gest = 0;
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
ROAIMOB - 2.1.43