changelog 2.11.8 + docs: buton stergere note la achizitie import

Intrare :nou: pentru butonul de stergere note din import_nota;
notita in docs/flux-achizitie-import.md despre stergerea logica pe
pereche (SET DELETED ON, paritate Recno) si capcana Zap pe
cursorul-sursa al unui grid.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-15 16:33:54 +03:00
parent 1dea550918
commit 4209db02a1
2 changed files with 6085 additions and 6064 deletions

View File

@@ -98,3 +98,17 @@ Marius a decis să se **abandoneze modelul cu 10 sloturi pre-alocate**. Noul mod
Avertismente: atinge `COMUN` (blast radius: 22 `.pjx` referă `ointroduceri`) și **schimbă
comportamentul pentru toți userii de import** (nu mai văd sloturi pre-completate) — testare atentă,
dare în funcțiune deliberată.
## Ștergere note (`import_nota.do_sterge`, 07.2026)
- Butonul `But_sterge1` (clasa `but_sterge`) șterge nota curentă = **perechea bază+TVA**, de pe
oricare din cele două linii (`lnBaza = Recno() - Iif(Mod(Recno(),2)=0,1,0)`, apoi `Delete Next 2`).
Dispatch-ul butonului trece prin `inainte_de_do_sterge`, condiționat de `lactiv4` — setat `.T.`
în `Init`.
- Ștergerea e **logică**, nu fizică: `SET DELETED ON` (roagest.prg:28) ascunde perechea din grid și
din toate `Scan`/`Sum`-urile fluxului, iar Recno-urile rămase nu se schimbă → paritatea impar/par
se păstrează (perechile se șterg mereu împreună, deci și `Skip`-urile peste liniile șterse cad
corect). `Append Blank` ulterior continuă tot pe paritate corectă.
- **Capcană generală VFP: niciodată `ZAP` (sau închidere/recreare) pe cursorul-sursă al unui
grid** — Zap închide și recreează cursorul, grid-ul își pierde sursa și rămâne blank. Varianta
„copiez rândurile rămase + Zap + Append la loc" e greșită exact din acest motiv.