Plati la buget din importul de extrase: recunoastere dupa IBAN Trezorerie (TVA 4423, CAM 436, cont unic defalcat din frm_modific2024)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LBKZQUq6vimKuAFsrS2D1s
This commit is contained in:
2026-09-15 17:00:15 +03:00
parent 8dcffef439
commit 1416587f12
2 changed files with 301 additions and 9 deletions

View File

@@ -1675,7 +1675,7 @@ DEFINE CLASS form1 AS form
Select actactan_temp
IF USED('actactan')
* actactan_temp are structura vact (SELECT * FROM vact WHERE 1=2), un camp nou pe actactan nu supravietuieste acestui Append From Dbf - salvez randurile marcate intr-un cursor paralel, cheie pe pozitia in randurile nesterse (Recno() nu coincide cu pozitia din tact dupa un DELETE fara PACK)
IF Type('actactan.listoric') = 'L' OR Type('actactan.dublura') = 'L' OR Type('actactan.ngrupa') = 'N'
IF Type('actactan.listoric') = 'L' OR Type('actactan.dublura') = 'L' OR Type('actactan.ngrupa') = 'N' OR Type('actactan.cbuget') = 'C'
lnSeqMarcaj = 0
IF Type('actactan.listoric') = 'L'
Create Cursor cIstoricMarcaj (nrseq N(6))
@@ -1685,6 +1685,10 @@ DEFINE CLASS form1 AS form
Create Cursor cDubluraMarcaj (nrseq N(6))
Index On nrseq Tag nrseq
ENDIF
IF Type('actactan.cbuget') = 'C'
Create Cursor cBugetMarcaj (nrseq N(6), cbuget C(3))
Index On nrseq Tag nrseq
ENDIF
IF Type('actactan.ngrupa') = 'N'
Create Cursor cGrupaMarcaj (nrseq N(6), ngrupa I, npoz I, csursa C(1))
Index On nrseq Tag nrseq
@@ -1698,6 +1702,9 @@ DEFINE CLASS form1 AS form
IF Type('actactan.dublura') = 'L' AND dublura
Insert Into cDubluraMarcaj (nrseq) Values (lnSeqMarcaj)
ENDIF
IF Type('actactan.cbuget') = 'C' AND !Empty(actactan.cbuget)
Insert Into cBugetMarcaj (nrseq, cbuget) Values (lnSeqMarcaj, actactan.cbuget)
ENDIF
IF Type('actactan.ngrupa') = 'N' AND ngrupa > 0
Insert Into cGrupaMarcaj (nrseq, ngrupa, npoz, csursa) Values (lnSeqMarcaj, actactan.ngrupa, actactan.npoz, actactan.csursa_f)
ENDIF
@@ -1707,7 +1714,7 @@ DEFINE CLASS form1 AS form
Append From Dbf('actactan')
ENDIF
Select .F. As ales, a.explicatia4 As iban, Iif(!Empty(Nvl(a.id_jtva_coloana, 0)), 1, 0) As Cu_tva, Cast(0 As N(2)) As tipnota, .F. As listoric, .F. As dublura, Cast(0 As I) As ngrupa, Cast(0 As I) As npoz, Space(1) As csursa_f, a.*, b.denumire As explicatie_tva_2 ;
Select .F. As ales, a.explicatia4 As iban, Iif(!Empty(Nvl(a.id_jtva_coloana, 0)), 1, 0) As Cu_tva, Cast(0 As N(2)) As tipnota, .F. As listoric, .F. As dublura, Cast(0 As I) As ngrupa, Cast(0 As I) As npoz, Space(1) As csursa_f, Space(3) As cbuget, a.*, b.denumire As explicatie_tva_2 ;
From actactan_temp a Left Join crsExplicatiiTVATemp b On a.id_jtva_coloana = b.id_jtva_coloana ;
Into Cursor tact Readwrite
@@ -1729,6 +1736,15 @@ DEFINE CLASS form1 AS form
Endscan
Use In cDubluraMarcaj
ENDIF
IF Used('cBugetMarcaj')
Select tact
Scan
If Seek(Recno(), 'cBugetMarcaj', 'nrseq')
Replace cbuget With cBugetMarcaj.cbuget
Endif
Endscan
Use In cBugetMarcaj
ENDIF
IF Used('cGrupaMarcaj')
* renumerotare in ordinea din tact: grupele consecutive devin 1,2,3...
lnGrupaNoua = 0