sync SVN r18041

This commit is contained in:
2026-08-23 11:08:56 +03:00
parent 79b08470be
commit 0027a28961
19 changed files with 369 additions and 592 deletions

View File

@@ -1,8 +1,15 @@
# Inventar COMUN - functii/clase reutilizabile (ROAGEST)
Scop: reutilizare comune la plan/code-review (ex. cursor2lista() in loc de Scan manual pe cursor).
Consulta acest fisier la plan (inainte de cod/obiecte noi) si la code-review (Scan manual pt.
liste, MESSAGEBOX direct, SQLEXEC direct, buton cu Click suprascris in loc de `caction`, export/
listare construite manual in loc de `goExport.export2*`/FoxyPreview, dialog de alegere nomenclator
din SELECT+grid in loc de `caut_*`).
Generat prin grep pe COMUN/programe/*.prg + cache text D:\ROA\_vfp_textcache\roagest. Numerele =
nr. aparitii grep in proiect (indiciu cat de "canonic" e functia).
nr. aparitii grep **in ROAGEST** (indiciu cat de "canonic" e functia) - dar `COMUN\` e partajat de
8 produse ROA si lista de functii/clase de mai jos e valabila pentru toate; doar cifrele de uz sunt
masurate pe ROAGEST.
## 1. Functii comune - COMUN\programe\oproceduri_comune.prg (clasa Oracle/executor + utilitare)
@@ -285,30 +292,7 @@ Proprietate cheie comuna: `pcobj` (leaga containerul de camp/proprietate din obi
- Fisiere `.vc2`/`.sc2`: TAB-uri semnificative, proprietatile in blocul `*<PropValue>` sunt
alfabetizate - orice editare manuala trebuie sa respecte formatul (vezi CLAUDE.md, flux editare text).
## 7. Ce am lasat pe dinafara (intentionat)
- `proceduri_comune.prg` (varianta veche) - acoperita in nota sect. 1 (2 functii unice folosite,
restul dublate/moarte); functiile ei unice cu 0 aparitii (caut_nume_politica,
make_sectii_utilizator, recompune_optiuni, cere*/compara*, debug_*_eventtracking, ...) - omise.
- `oproceduri_comune_imob.prg` - varianta specifica ROAIMOB, nu ROAGEST.
- `xdate.prg` - script procedural (incarca cursoarele xsets/xrequest/xnote la DO), nu expune functii.
- Metoda `getUserRepPath` din oExportConfig - complet comentata (moarta); varianta activa e functia
libera omonima din `proceduri_rapoarte.prg` (cod diferit).
- Clase de nomenclatoare mari (`onomenclatoare.vcx`, `onom_articole.vcx`, `stocuri.vcx`, `rulaje.vcx`,
`ointroduceri*.vcx`, `oinventar.vcx`) - business logic gestiune, prea voluminos pt. acest inventar
(candidat pt. inventar separat per-flux, daca devine necesar).
- Clasele de configurare/serii (`configurare.vcx`, `serii_numere.vcx`, `ferestre_oracle.vcx`,
`bon_fisc.vcx`) si utilitarele (`GridExtras`, `ctl32`, `hpdf`) - neinventariate, uz rar in
fluxurile curente (`excelxml.vcx` e acoperita la sect. 3).
- Functiile din `COMUN\programe` fara nicio aparitie prin grep in ROAGEST (posibil doar alte
aplicatii ROA) - omise.
## 8. Cum se foloseste
- **La plan**: inainte de cod/obiecte noi, scaneaza acest fisier + un grep tintit
(`grep -rn "<nume_functie_candidata>" COMUN/programe D:\ROA\_vfp_textcache\roagest`) ca sa
confirmi ca nu exista deja o comuna echivalenta.
- **La code-review**: daca un diff introduce Scan manual pt. liste, MESSAGEBOX direct, SQLEXEC
direct, un buton cu Click suprascris in loc de `caction`, export Excel/listare construite manual
in loc de `goExport.export2*`/FoxyPreview, sau un dialog de alegere nomenclator din SELECT+grid
in loc de `caut_*` (ocautare.prg), semnaleaza comuna corespunzatoare din tabelele de mai sus.
La un grep tintit fara rezultat aici (`grep -rn "<nume_functie_candidata>" COMUN/programe
D:\ROA\_vfp_textcache\roagest`), functia poate exista tot in `COMUN\` dar sub alt nume istoric
(vezi duplicatele din nota sect. 1) sau in clasele mari de business (nomenclatoare, stocuri,
rulaje, introduceri, inventar) - neinventariate aici, prea voluminoase.