Changelog 2.11.7 (achizitie import: dialog Adauga factura, culori per document, valuta/curs per document editabile); docs: flux editare VFP mutat in COMUN/docs, curatenie drafturi/patch-uri
- changelog 2.11.7: nota porneste goala + dialog "Adauga factura", coloane reordonate/avansate vizibile, Valuta+Curs per document editabile in grila, buton "Urmator" + indicator de pas. - docs: flux-editare-vfp-text.md redus la parametrii ROAGEST (fluxul comun in COMUN/docs); README/CLAUDE.md actualizate; sterse draft_M*/diff_*.patch si propuneri_ergonomie_import.md (implementat; M5 - totaluri per document - mutat in todo.txt, restul in istoricul git). - todo.txt: punct nou M5; scos punctul obsolet cu persistenta bifei "Coloane avansate" (bifa a fost eliminata). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,47 +1,13 @@
|
||||
# Flux editare directă pe text pentru `.vcx`/`.scx`
|
||||
# Editare .vcx/.scx pe text — parametri ROAGEST
|
||||
|
||||
Pe lângă căutare (`vcx2txt.ps1`), cache-ul text din `D:\ROA\_vfp_textcache\roagest\` poate fi acum
|
||||
și **sursă de editare** pentru `.vcx`/`.scx`, scriind înapoi în binar cu `txt2vcx.ps1` — fără trecere
|
||||
prin VFP IDE. Detalii complete (guard-uri, ordinea pașilor, teste) în
|
||||
`D:\ROA\UTIL\foxbin2prg\CLAUDE.md`; aici doar partea relevantă pentru ROAGEST.
|
||||
Fluxul comun (pasi, capcane): `COMUN\docs\flux-editare-vfp-text.md`. Specific ROAGEST:
|
||||
|
||||
## Pașii
|
||||
|
||||
1. Refresh cache (obligatoriu dacă a rulat vreo sesiune de IDE de la ultimul refresh — altfel
|
||||
verificarea de staleness din `txt2vcx.ps1` refuză scrierea):
|
||||
|
||||
```powershell
|
||||
& 'D:\ROA\UTIL\foxbin2prg\vcx2txt.ps1' -Project 'D:\ROA\ROAGEST\roagest.pjx' -ProjectRoot 'D:\ROA\ROAGEST' -CacheRoot 'D:\ROA\_vfp_textcache\roagest' -Types vcx,scx,frx,mnx
|
||||
```
|
||||
|
||||
2. Editează `.vc2`/`.sc2` direct în `D:\ROA\_vfp_textcache\roagest\`. Formatul e
|
||||
**position-sensitive** (nu reformata/reflow liniile) și proprietățile sunt **alfabetizate** (o
|
||||
proprietate nouă se inserează la locul ei alfabetic, nu la sfârșit).
|
||||
3. Revizuiește diff-ul pe fișierul text ca pe orice altă modificare de cod.
|
||||
4. Scrie înapoi în proiect:
|
||||
|
||||
```powershell
|
||||
& 'D:\ROA\UTIL\foxbin2prg\txt2vcx.ps1' -TextFile 'D:\ROA\_vfp_textcache\roagest\Clase\oavize.vc2' -ProjectRoot 'D:\ROA\ROAGEST' -CacheRoot 'D:\ROA\_vfp_textcache\roagest'
|
||||
```
|
||||
|
||||
Regenerează și compilează binarul într-un folder de staging, verifică fidelitatea (roundtrip
|
||||
text→bin→text byte-identic) și abia apoi copiază `.vct`+`.vcx` (sau `.sct`+`.scx`) peste
|
||||
binarele din proiect. Dacă orice pas eșuează, proiectul și cache-ul rămân neatinse.
|
||||
|
||||
## Limite
|
||||
|
||||
- `.mnx`/`.frx` rămân **doar pentru citire** — meniurile tot au nevoie de GENMENU în IDE ca să
|
||||
regenereze `.mpr`, iar formatul `.frx` e prea fragil pentru round-trip. Editează-le în VFP IDE ca
|
||||
până acum.
|
||||
- Ținte sub `COMUN\` necesită `-AllowComun` **și** aprobare explicită — o modificare acolo afectează
|
||||
toate aplicațiile ROA, nu doar ROAGEST.
|
||||
- **După orice sesiune de IDE** rulează `vcx2txt.ps1` înainte de a edita text — staleness-ul se
|
||||
verifică pe baza `mtime`, iar o sesiune de IDE (chiar și una care doar a deschis o clasă) poate
|
||||
lăsa cache-ul în urmă față de binar.
|
||||
- Fără backup-uri `.bak` lângă binarele din proiect — git e mecanismul de restore; scriptul ține o
|
||||
copie de siguranță doar în folderul temp al rulării.
|
||||
- **Liniile goale din interiorul metodelor nu sunt goale** în formatul `.vc2` — foxbin2prg le
|
||||
regenerează cu indentarea curentă (ex. două TAB-uri într-un `PROCEDURE` de clasă). Dacă editarea
|
||||
introduce linii complet goale, fidelity check-ul pică doar pe whitespace; fix: preia fișierul
|
||||
`verify\*.vc2` din staging-ul păstrat la eșec (e forma canonică, semantic identică) peste cache
|
||||
și reia write-back-ul.
|
||||
- `vcx2txt.ps1/txt2vcx.ps1 -Project 'D:\ROA\ROAGEST\roagest.pjx' -ProjectRoot 'D:\ROA\ROAGEST'
|
||||
-CacheRoot 'D:\ROA\_vfp_textcache\roagest'`
|
||||
- procese de verificat inainte de write-back: `vfp9`, `roagest`
|
||||
- patch-uri de review: `docs/diff_runda<N>_<subiect>.patch`
|
||||
- capcana `*m:` patita aici pe `import_adauga_factura.recalc_tva` (07.2026)
|
||||
- de ce nu se foloseste *Project > Build*: recompileaza toate `.vcx`/`.vct` din proiect (nu doar
|
||||
`.fxp`-urile, ignorate oricum de git/svn) — antetul (timestamp compilare) si posibil p-code-ul
|
||||
intern se rescriu si la librarii neatinse efectiv, aparand fals ca "modificate" in diff; de aici
|
||||
fluxul text->bin punctual pe binarul vizat (07.2026)
|
||||
|
||||
Reference in New Issue
Block a user