Transa 2: changelog 2.11.68, versiune_db, plan cu semnatura oExecute si decizia pe N

Plan completat: tlReconnect e al 8-lea parametru din oExecute si e implicit .T., deci transa 3
trebuie sa-l paseze .F. explicit. N din dialogul transei 3 numara facturi distincte (decizie
marius.mutu, 28.07.2026).

SVN r17914; script DB in DATABASE r17912.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DhJwsrFFe1ZNAAtS8Twuti
This commit is contained in:
2026-07-28 08:23:40 +03:00
parent 57c5fcb5d6
commit 8b5a670ff1
4 changed files with 72 additions and 3 deletions

View File

@@ -488,7 +488,14 @@ una absenta, pentru ca nimeni nu afla ca nu mai merge. Esecul nu blocheaza salva
**inchide aplicatia**, in mijlocul salvarii. Exact opusul cerintei.
- Deci apelul TREBUIE facut cu reconectarea dezactivata explicit. **Nu exista precedent**: din 150+
apeluri `oExecute`/`oExecuta` din codebase, niciunul nu trece de 2 parametri. Tiparul se scrie
aici prima oara — de verificat pozitia exacta a parametrului in semnatura inainte de a-l folosi.
aici prima oara.
- Semnatura confirmata (`oproceduri_comune.prg:169`):
`oExecute(tcSql, tcCursor, tlProgress, tcTitluProgress, tnHandle, tlShowError, tlQuitOnError, tlReconnect)`.
`tlReconnect` e al **8-lea** parametru si are **implicit `.T.`** (comentariul din cod, `:175`),
deci trebuie pasat `.F.` EXPLICIT — altfel se obtine exact dialogul cu `QUIT`.
Atentie la parametrii 3-7 care trebuie completati ca sa se ajunga la al 8-lea: pentru fiecare, ia
din cod valoarea pe care codul o considera implicita cand parametrul lipseste, ca sa nu schimbi
din greseala alt comportament (in special `tnHandle` si `tlQuitOnError`).
- Se foloseste `oExecute`, NU `oExecuta` (aceasta din urma afiseaza mesaj propriu, neconditionat, pe
orice esec). Nu se adauga niciun `amessagebox` propriu.
- Nu exista niciun timeout Oracle configurat (`SQLSETPROP QueryTimeout`/`ConnectTimeout`) nicaieri:
@@ -516,7 +523,10 @@ inexecutabila in doua feluri: captionul difera intre cele doua clase (`:2643` vs
`Command5.Enabled` se calculeaza dupa **randul curent** (`:5661-5667`, `:13850`) si `cmdSelect.Click`
nu il recalculeaza — deci butonul poate fi gri exact dupa "Selecteaza tot".
`<N>`de fixat inainte de implementare daca numara facturi distincte sau linii din `tact`.
`<N>`**FIXAT 28.07.2026, marius.mutu: facturi DISTINCTE**, nu linii din `tact`. Actiunea pe care o
propune butonul e per factura, nu per linie: trei plati partiale pe aceeasi factura sunt o singura
factura de exigibilizat, si asa trebuie numarate. Textul dialogului se ajusteaza corespunzator
("Exista <N> facturi cu TVA la incasare pentru care nu s-a adaugat nota de TVA exigibilizat").
**Pasul 5 — flag anti-bucla.**