Achizitie import: facturi prin dialog "Adauga factura", valuta/curs per document
- ointroduceri.prg: introdc porneste gol (perechea-sablon ramane in introdc_sablon); coloana nume_val adaugata in cursor. - import_adauga_factura (dialog nou in ointroduceri.vcx): antet factura, suma/valuta/curs (propus), explicatie TVA, radio furnizor/DVI/fara cu memorie DVI, validari; debifarea "Suma in valuta in contabilitate" ascunde valuta+cursul si trimite curs 0/fara valuta; bifele TabStop=.F. - import_nota: culori per document + coloana Doc; coloane reordonate, cele avansate permanent vizibile (checkbox "Coloane avansate" eliminat); coloane noi Valuta si Curs, editabile (cautare valuta, propagare pe randul TVA pereche, recalcul sume lei la schimbarea cursului); buton "Urmator" + indicator de pas. - inainte_de_do_termin: id_valuta/curs/nume_val per rand in actactan - fiecare factura ajunge in registrul jurnal cu valuta si cursul ei, nu ale facturii principale. - docs/flux-editare-vfp-text.md: fluxul comun de editare text->bin per runda. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
33
docs/flux-editare-vfp-text.md
Normal file
33
docs/flux-editare-vfp-text.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# Flux editare .vcx/.scx pe text (comun proiectelor VFP)
|
||||
|
||||
Cache-ul text per proiect (`vcx2txt.ps1`) e sursa de editare; write-back in binar cu
|
||||
`txt2vcx.ps1`, fara VFP IDE. Detalii complete: `D:\ROA\UTIL\foxbin2prg\CLAUDE.md`.
|
||||
Parametrii per proiect (pjx, CacheRoot, exe): in `docs\` proiectului.
|
||||
|
||||
## Pasii unei runde
|
||||
|
||||
0. Refresh cache (obligatoriu dupa orice sesiune IDE — staleness pe mtime):
|
||||
`vcx2txt.ps1 -Project <pjx> -ProjectRoot <root> -CacheRoot <cache> -Types vcx,scx`
|
||||
1. Baseline: `Copy-Item <f>.vc2 <f>.vc2.pre_runda<N>.bak` (in cache; la runde succesive
|
||||
necomise, diff-ul fata de HEAD ar amesteca rundele).
|
||||
2. Editare byte-safe: PowerShell `[IO.File]::ReadAllText/WriteAllText(..., GetEncoding(1252))`;
|
||||
NU tool-ul Edit/Write (UTF-8 strica diacriticele). Continut nou ASCII, TAB-uri ca in jur,
|
||||
fara reflow (format position-sensitive, proprietati alfabetizate). Valabil si pentru `.prg`.
|
||||
3. Patch review: `git diff --no-index <bak> <editat> > docs/diff_runda<N>_<subiect>.patch`
|
||||
(exit 1 = normal). Commit doar dupa confirmare pe patch + test in IDE.
|
||||
4. Preconditie write-back: niciun proces vfp9/<exe proiect> (tin lock pe binar); nu se omoara.
|
||||
5. Write-back: `txt2vcx.ps1 -TextFile <vc2> -ProjectRoot <root> -CacheRoot <cache>`
|
||||
(+ `-AllowComun` cu aprobare explicita pentru tinte COMUN — afecteaza toate aplicatiile ROA).
|
||||
Succes = fidelity-check trecut: binar cu mtime nou; `vcx2txt.ps1` ulterior il vede la zi.
|
||||
6. Backup-urile `.pre_runda*.bak` si patch-urile se sterg la curatenia de dupa commit.
|
||||
|
||||
## Capcane
|
||||
|
||||
- `.mnx`/`.frx` raman read-only (GENMENU in IDE / round-trip fragil).
|
||||
- Linii complet goale in metode pica fidelity doar pe whitespace; fix: preia `verify\*.vc2`
|
||||
din staging peste cache si reia write-back-ul.
|
||||
- Metoda noua de clasa cere `*m: nume` in `*<DefinedPropArrayMethod>`; fara ea, prima salvare
|
||||
din IDE o arunca tacut, iar refresh-ul urmator absoarbe pierderea in cache (si in .bak-uri).
|
||||
Override-urile de metode de baza (Init, Show, hook-uri) nu au nevoie de `*m:`.
|
||||
- Subagentii delegati primesc regulile 2-5 in prompt si raporteaza unicitatea sirurilor
|
||||
inlocuite + rezultatul fidelity-check-ului.
|
||||
Reference in New Issue
Block a user