sync SVN r18202

This commit is contained in:
2026-09-24 23:07:56 +03:00
parent e8def3771f
commit fa7bbcf2f6
7 changed files with 1108 additions and 13 deletions

View File

@@ -8,6 +8,7 @@ procedura si criteriile care blocheaza "gata"); docurile sunt doar referinta con
skill-ului.
- editezi `.vc2`/`.sc2`/`.prg` cu diacritice, cauti in `.vcx`/`.scx`, adaugi membri de clasa -> skill `roa-vfp-text-edit`
- creezi sau editezi un raport `.frx`/`.frt` (layout, band-uri, grupare, totaluri, preview) -> skill `roa-vfp-frx-report`
- rulezi sau depanezi teste headless ori UI -> skill `roa-vfp-headless-test`
- commit / `svn update` / `roa_sync` in COMUN -> skill `roa-git-svn-commit`
- scrii sau publici scripturi de migrare Oracle, reexporti un pachet -> skill `roa-oracle-migration`
@@ -17,6 +18,8 @@ skill-ului.
- `GO` pe un `Recno()` capturat sau primit ca parametru -> skill `roa-vfp-go-recno`
- procedura PL/SQL cu `SELECT ... INTO` apelata din VFP (randuri pierdute tacut) -> skill `roa-oracle-sqlexec-no-data`
- inrolezi un calculator nou sau un proiect nou in fluxul git-text / expui skill-urile pe masina / aplici backstop-ul de rutare -> skill `roa-onboarding`
- investighezi facturare / articole / preturi / comenzi / politici de pret / note contabile / id_set / crm_note_vanzari, sau nu stii unde sta un obiect/coloana/pachet DB -> skill `roa-domeniu-rutare`
- final de sesiune sau de lucrare / "salveaza ce ai invatat" / actualizezi documentatia sau fluxurile -> skill `roa-actualizare-doc`
<!-- roa-skills:end -->
## Stil de interactiune si lucru

View File

@@ -86,6 +86,7 @@ procedura si criteriile care blocheaza "gata"); docurile sunt doar referinta con
skill-ului.
- editezi `.vc2`/`.sc2`/`.prg` cu diacritice, cauti in `.vcx`/`.scx`, adaugi membri de clasa -> skill `roa-vfp-text-edit`
- creezi sau editezi un raport `.frx`/`.frt` (layout, band-uri, grupare, totaluri, preview) -> skill `roa-vfp-frx-report`
- rulezi sau depanezi teste headless ori UI -> skill `roa-vfp-headless-test`
- commit / `svn update` / `roa_sync` in COMUN -> skill `roa-git-svn-commit`
- scrii sau publici scripturi de migrare Oracle, reexporti un pachet -> skill `roa-oracle-migration`
@@ -95,4 +96,6 @@ skill-ului.
- `GO` pe un `Recno()` capturat sau primit ca parametru -> skill `roa-vfp-go-recno`
- procedura PL/SQL cu `SELECT ... INTO` apelata din VFP (randuri pierdute tacut) -> skill `roa-oracle-sqlexec-no-data`
- inrolezi un calculator nou sau un proiect nou in fluxul git-text / expui skill-urile pe masina / aplici backstop-ul de rutare -> skill `roa-onboarding`
- investighezi facturare / articole / preturi / comenzi / politici de pret / note contabile / id_set / crm_note_vanzari, sau nu stii unde sta un obiect/coloana/pachet DB -> skill `roa-domeniu-rutare`
- final de sesiune sau de lucrare / "salveaza ce ai invatat" / actualizezi documentatia sau fluxurile -> skill `roa-actualizare-doc`
<!-- roa-skills:end -->

View File

@@ -4421,7 +4421,7 @@ DEFINE CLASS frm_jurnal AS _frmbase OF "..\comun\clase\_frm_base.vcx"
lcFiltru = m.lcFiltru + [ AND ID_SUCURSALA = ] + Alltrim(Str(m.gnIdSucursala))
Endif
If Len(Thisform.filtru_pretty) > 0
If Len(Thisform.filtru_pretty) > 0 And !(Thisform.filtru_pretty == "none")
lcFiltru = m.lcFiltru + " and (" + Alltrim(Thisform.filtru_pretty) + ")"
Endif
@@ -7501,7 +7501,7 @@ DEFINE CLASS frm_lista AS _frmbase OF "..\comun\clase\_frm_base.vcx"
Endif
If Len(Thisform.filtru_pretty) > 0
If Len(Thisform.filtru_pretty) > 0 And !(Thisform.filtru_pretty == "none")
lcFiltru = m.lcFiltru + " and (" + Alltrim(Thisform.filtru_pretty) + ")"
Endif
@@ -7856,7 +7856,7 @@ DEFINE CLASS frm_lista AS _frmbase OF "..\comun\clase\_frm_base.vcx"
IIF(This.nfiscal = 1, "", ";\-;Situatia reevaluarilor - imobilizarile selectate;Situatia reevaluarilor - imobilizarile " + ;
IIF(nc = 1, "corporale","necorporale") + ";\-;Situatia majorarilor - imobilizarile selectate;Situatia majorarilor - imobilizarile " + ;
IIF(nc = 1, "corporale","necorporale") + ";\-;Situatia modificarilor - imobilizarile selectate;Situatia modificarilor - imobilizarile " + ;
IIF(nc = 1, "corporale","necorporale")))
IIF(nc = 1, "corporale","necorporale")) + ";\-;Proces-verbal de casare")
If Empty(m.lnOptiune)
Return
@@ -7874,6 +7874,9 @@ DEFINE CLASS frm_lista AS _frmbase OF "..\comun\clase\_frm_base.vcx"
Do Case
CASE m.lnOptiune = IIF(This.nfiscal = 1, 9, 18)
do listare_pvcasare_mf with m.lcfiltru in oproceduri_listari.prg
Case m.lnOptiune = 1
lnSucces = update_calendar()
@@ -9268,7 +9271,7 @@ DEFINE CLASS frm_lista_curs AS _frmbase OF "..\comun\clase\_frm_base.vcx"
lcFiltru = "(1=1)"
ENDIF
If Len(Thisform.filtru_pretty) > 0
If Len(Thisform.filtru_pretty) > 0 And !(Thisform.filtru_pretty == "none")
lcFiltru = lcFiltru + ' and ' + Alltrim(Thisform.filtru_pretty)
Endif

View File

@@ -8,6 +8,10 @@
*!* marius.mutu
*!* list_inchid_amortizari - corectie apel inchidere amortizari - defalcare dupa lucrari
*!* 23.09.2026
*!* marius.mutu
*!* listare_pvcasare_mf - Proces-verbal de casare, un PV per document (nrdoc+datadoc)
*--------------------------------------------------------------------------------------------------------------
Procedure _old_listare_amortizari_lunare()
Parameters Tip
@@ -1324,3 +1328,76 @@ Procedure list_situatie_modificari
Use In (Select('cSituatieModificari'))
SELECT (m.lcSelect)
Endproc && list_situatie_modificari
********************************
Procedure listare_pvcasare_mf
LPARAMETERS tcFiltru
* crslista e deja filtrat pe server; tcFiltru (sintaxa Oracle) nu se reaplica local
Local lcFiltruGrid
lcFiltruGrid = Iif(Empty(Filter('crslista')), '.T.', Filter('crslista'))
* Proces-verbal de casare: un PV per document (nrdoc+datadoc), fiecare pe pagina noua.
Local lcSelect, lcSql, llSucces, lcIn, lcChunk, lnChunk
lcSelect = SELECT()
If Used('crsOpCasare')
Use In crsOpCasare
Endif
If Used('crspvcasare')
Use In crspvcasare
Endif
If Used('crsCasare')
Use In crsCasare
Endif
Select id_mf, denumire, nr_inventar From crslista ;
Where &lcFiltruGrid And Upper(Alltrim(Nvl(tip_iesire, ''))) = 'CASARE' ;
Into Cursor crsCasare Readwrite
If Reccount('crsCasare') = 0
aMessagebox('Nu exista imobilizari casate pentru listare!', 48, 'Atentie')
Use In crsCasare
Select (m.lcSelect)
Return
Endif
* ultima operatie de iesire (tip 4, id_tip_iesire 2) a fiecarui MF; ORA-01795: max 1000 id-uri per IN
lcIn = ''
lcChunk = ''
lnChunk = 0
Select crsCasare
Scan
lcChunk = m.lcChunk + Iif(Empty(m.lcChunk), '', ',') + Alltrim(Str(id_mf))
lnChunk = m.lnChunk + 1
If m.lnChunk = 1000
lcIn = m.lcIn + Iif(Empty(m.lcIn), '', ' or ') + 'id_mf in (' + m.lcChunk + ')'
lcChunk = ''
lnChunk = 0
Endif
Endscan
If !Empty(m.lcChunk)
lcIn = m.lcIn + Iif(Empty(m.lcIn), '', ' or ') + 'id_mf in (' + m.lcChunk + ')'
Endif
lcSql = [select id_mf, nrdoc, datadoc, valoare, valoare_ramasa from (] + ;
[select id_mf, nrdoc, datadoc, valoare, valoare_ramasa, ] + ;
[row_number() over (partition by id_mf order by data_operatie desc, id_operatie_mf desc) rn ] + ;
[from imob_voperatii_mf where id_tip_operatie = 4 and id_tip_iesire = 2 and (] + m.lcIn + [)) ] + ;
[where rn = 1]
llSucces = goExecutor.oExecuta(m.lcSql, 'crsOpCasare')
If !m.llSucces
Use In crsCasare
Select (m.lcSelect)
Return
Endif
Index On id_mf Tag id_mf
Select c.id_mf, c.denumire, c.nr_inventar, ;
Iif(Isnull(o.nrdoc), '', Alltrim(Str(o.nrdoc, 20))) As nrdoc, Nvl(o.datadoc, {}) As datadoc, ;
'buc' As um, 1 As cantitate, ;
Nvl(o.valoare, 0) As pret, Nvl(o.valoare, 0) As valoare, ;
Nvl(o.valoare, 0) - Nvl(o.valoare_ramasa, 0) As amortizare ;
From crsCasare c Left Join crsOpCasare o On c.id_mf = o.id_mf ;
Into Cursor crspvcasare Readwrite
Index On Alltrim(nrdoc) + '|' + Dtos(datadoc) + denumire Tag ord
Set Order To ord
* nr. crt. si totalurile PV sunt variabile de raport (reset pe grupul nrdoc+datadoc)
Select crspvcasare
goExport.export2frx([crspvcasare], 'pvcasare_mf', , , , , , .T.)
Use In crsOpCasare
Use In crspvcasare
Use In crsCasare
Select (m.lcSelect)
Endproc && listare_pvcasare_mf

1000
Rapoarte/pvcasare_mf.fr2 Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,11 @@
<!--
23/09/2026
ROAIMOB - 2.1.47
:nou:
Lista imobilizarilor > Listare > "Proces-verbal de casare": tipareste cate un proces-verbal pentru fiecare document de casare din lista imobilizarilor iesite din gestiune cu tip "Casare".
-->
<!--
10/09/2026
ROAIMOB - 2.1.46

View File

@@ -359,6 +359,7 @@ WITH loProject.FILES
.ADD('rapoarte\nota_inv2005.frx') && *< FileMetadata: Type="R" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
.ADD('rapoarte\nota_inv_m1.frx') && *< FileMetadata: Type="R" Cpid="1250" Timestamp="0" ID="0" ObjRev="0" User="" />
.ADD('rapoarte\nota_inv_m2.frx') && *< FileMetadata: Type="R" Cpid="1250" Timestamp="0" ID="0" ObjRev="0" User="" />
.ADD('rapoarte\pvcasare_mf.frx') && *< FileMetadata: Type="R" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
.ADD('rapoarte\rap_diferente_cf.frx') && *< FileMetadata: Type="R" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
.ADD('rapoarte\rap_istoric_operatii_old.frx') && *< FileMetadata: Type="R" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" User="" />
.ADD('rapoarte\rap_operatii.frx') && *< FileMetadata: Type="R" Cpid="1250" Timestamp="0" ID="0" ObjRev="0" User="" />