# Livrare #13 — inventar Nu exista un inventar de livrare gata facut ("fisiere modificate + scripturi") ca document unic — verificat la scriere in `docs\raport_curatenie_finala.md`, `docs\handoff_reluare_13_b13.md`, `docs\handoff_plan13_executie_continua.md`, `docs\plan_13_executie.md`, `docs\scripturi_oracle_13.md`. Ce exista sunt piese separate refolosite ca baza aici: - **Registrul scripturilor Oracle** — `docs\scripturi_oracle_13.md` (26 randuri, tabel complet) — sursa pentru sectiunea „Scripturi Oracle" de mai jos. - **Tabelul de stories** cu fisierele atinse per poveste — `docs\plan_13_executie.md:35-62`. - **Datoriile deschise** — extrase integral (35+4 intrari) in sectiunea „Datorii deschise" de mai jos. - Inventarul de fisiere sterse/pastrate din curatenia de documentatie de la inchiderea planului (454 fisiere, 08.09.2026) — era in `docs\raport_curatenie_finala.md`; continutul e comis in `04ce426` (ROAFACTURARE), runda 2 (rapoartele citate din registru, pointerii rescrisi) in `79cfd72`. **Curatenia de azi (09.09.2026)** a sters, dupa ce continutul lor a fost mutat mai sus/mai jos in acest fisier sau verificat ca e deja in cod comis: `docs\raport_curatenie_finala.md`, `docs\raport_curatenie_comun.md`, `docs\handoff_reluare_13_b13.md`, `docs\handoff_plan13_executie_continua.md`, `docs\raport_valtva_null.md`, `docs\raport_valtva_verificare_oracle.md`, `docs\raport_sursa_cota_tva.md`, `docs\raport_fallback_cota_tva.md`, `docs\raport_meniu_plat_facturare.md`, `docs\raport_acces_factura_noua.md`, `docs\raport_combo_lista_preturi.md`, `docs\propunere_combo_lista_preturi.md` — plus backup-uri Oracle `pack_*_inainte_*`, snapshot-uri `wip13_*` (starea finala ramane in `docs\scripturi_finale_13\`) si diff-uri/fixturi temporare. Toate recuperabile din git. Nimic de mai jos nu e analiza noua — doar `git log`/`git diff`/`git status` pe cele doua repo-uri, fisierele de pe disc citate mai sus, si fisierele `docs\wip13_*.sql.txt` de pe disc (inainte de stergerea lor de azi). ## Commit-uri | Repo | Branch | Commit-uri fata de `main` | HEAD | |---|---|---|---| | `D:\ROA\ROAFACTURARE` (git) | `plan13-s2` | **415** | `7943659` | | `D:\ROA\ROAFACTURARE\COMUN` (git, repo separat) | `plan13-s2` | **189** | `ed43b39` | Ultimele 3 commit-uri pe fiecare (cele mai recente, dupa blocul b13 inchis 08.09.2026 seara): **ROAFACTURARE**: `7943659` docs combo lista preturi · `4a77400` docs investigatia VALTVA null · `e371a08` cod — un singur meniu plat la „Facturare (nou)" (`Clase/ofundal_facturare.vc2`). **COMUN**: `ed43b39` cod — lista de preturi vizibila in combo-urile de cautare · `14586e3` cod — cota TVA standard cand articolul cautat nu are cota pe politica · `755f19a` docs — procedura de instalare ponytail. Istoricul complet, cu mesajele fiecarui commit: `git log --oneline main..plan13-s2` (fiecare repo, din radacina lui). Lantul de decizii si predari care a produs aceste commit-uri era comprimat in `docs\handoff_plan13_executie_continua.md` §4.0-istoric (61 de predari, un rand fiecare, fiecare cu trimitere la rapoartele arhivate in `docs\arhiva\13\`) — fisierul a fost sters in curatenia de inchidere a etapei (09.09.2026); textul integral ramane recuperabil din git (`git log -p -- docs/handoff_plan13_executie_continua.md`, ultima versiune necomprimata `36325ec`). ## Decizii Marius (valabile pana la revocare explicita) Sursa: `docs\handoff_plan13_executie_continua.md` §2, §3ter-§3octies (fisier sters, recuperabil din git). Cele trei decizii blocante originale sunt documentate si in `docs\plan_13_executie.md:83-92` (fisier pastrat); tabelul de mai jos e mai complet. | # | Decizie | Stare | |---|---|---| | 1 | `IN_STOC` la incarcarea documentului | **INCHISA 31.08.2026** — varianta (2), valoarea curenta din nomenclator, fara migrare DB. Sustinuta de decizia 62 (`EsteInEFactura` blocheaza modificarea dupa trimitere) | | 2 | Relistarea unei facturi vechi deja trimise | **INCHISA 31.08.2026** — toate facturile se tiparesc dupa regula noua, fara versionare pe data. Facturile trimise la ANAF nu se mai retrimit. Consecinta acceptata: retiparirea unei facturi vechi cu cote mixte arata N randuri de discount in loc de unul (doar afisare, totalurile nu se schimba) | | 3 | `PROC_TVAV` ca parametru (decizia 54) | **INCHISA 31.08.2026 — DA.** Copierea/modificarea pastreaza cota documentului original; emiterea noua lasa utilizatorul sa aleaga. Cost: Oracle (pachet PL/SQL reutilizabil) + VFP care transmite cota salvata + S8 trebuie s-o incarce/pastreze | | 4 | Comportament la 1366x768 cu ambele acordeoane deschise (deficit 98px) | nedecis la predare — recomandare: acordeoane mutual exclusive sub un prag de inaltime | | 5 | `TabIndex` containere 62-67 | **INCHISA 06.09.2026 — varianta (b)**, ramane cum e azi, fara cod scris | | 6 | S4-4 ramura aviz (`exista_ramas_avize`, ID facturii inexistent la momentul calcului) | **INCHISA** — varianta (C), functie Oracle noua (`exista_ramas_avize_lista`), test paritate 18/0 | | 7 | Plafonul Rol B pe `1,22,29,23` (S4-5) | **acceptata, de executat** (06.09.2026) — recomandare: poveste separata, validare la editarea celulei de cantitate, nu in `do_adauga_articol_cautat` | | 8 | Tipul `41` in `llCautareInLinie` (S4-5) | **acceptata, de executat** (06.09.2026) — recomandare: fix pe `combosql_cautare.cursor_preturi_call`, ca poveste separata | | 9 | S4b — meniul `xmenu()` „Adauga tot / Alege..." vs mecanismul v2 existent | **INCHISA 31.08.2026 — varianta (3)**: `do_incarca_articole` neatins, alegerea selectiva devine poveste separata (datoria 19) | Permisiuni operationale date de Marius in cursul planului (arse/valabile doar in fereastra de executie #13, documentate aici doar ca sa nu se piarda motivatia deciziilor de mai sus si a scripturilor `wip13_*`/rapoartelor citate): acord Oracle liber pe `MARIUSM_AUTO` (3ter, 03.09.2026), masina de lucru fara aprobare prealabila (3quater, 03.09.2026), documente de test libere pe `MARIUSM_AUTO` (3quinquies, 04.09.2026), kill pe sesiuni Oracle orfane INACTIVE (3septies, 07.09.2026), rulari intermediare scurte / suita completa doar la finalizare (3octies, 07.09.2026). Detaliu complet: `git log -p -- docs/handoff_plan13_executie_continua.md`. ## Fisiere de cod modificate ### `D:\ROA\ROAFACTURARE` (repo radacina) Fata de `main`: 96 fisiere schimbate (328592 insertii / 6324 stergeri, `git diff --stat main...plan13-s2`). Cod propriu-zis (5 fisiere) — restul din cele 96 sunt `docs\` (rapoarte, cercetare, scripturi `.sql`, `.sql.txt`, sabloane): | Fisier | Ce | |---|---| | `Clase\ofacturare_util.vc2` | clasa noua, intrata in versionare (S8-geometrie-p) | | `Clase\ofundal_facturare.vc2` | meniul principal — S8-geometrie + meniul plat „Facturare (nou)" (`e371a08`) + **modificare uncomisa curenta**, vezi „Necomis pe disc acum" | | `Programe\roafacturare.prg` | `SET CLASSLIB` pentru `ofacturare_util.vc2` (S8-geometrie-p) | | `changelog_roafacturare.txt` | intrari noi pe seria 2.11.x | | `CLAUDE.md` | reguli de proiect actualizate in cursul planului | ### `D:\ROA\ROAFACTURARE\COMUN` (repo separat) Fata de `main`: 549 fisiere schimbate (69124 insertii / 1589 stergeri, `git diff --stat main...plan13-s2`, rulat din `COMUN`). **526 sunt in `utile\Teste\`** (vezi sectiunea „Doar test"); **23 sunt cod/docs propriu-zise**: **Clase `.vc2` (6):** | Fisier | Domeniu | |---|---| | `clase\ofacturare.vc2` | nucleul formularului unificat — 4305 linii diff, cea mai atinsa clasa din tot planul | | `clase\ofacturare_comun.vc2` | 174 linii | | `clase\ferestre_cere_date.vc2` | 16 linii — incarcare/rutare document | | `clase\ocomenzi.vc2` | 6 linii — S3c-4 tinta 1 (`do_factura`) | | `clase\caut_ora.vc2` | 14 linii — combo cautare (lista de preturi, `ed43b39`) | | `clase\omodificari.vc2` | 2 linii | **Programe `.prg` (7):** | Fisier | Domeniu | |---|---| | `programe\ofacturare.prg` | 1141 linii (in mare parte scoatere de logica spre fisierele noi de mai jos) | | `programe\ofacturare_antet.prg` | **nou**, 925 linii — antet, extras din S3-2 | | `programe\ofacturare_rutare_scriere.prg` | **nou**, 568 linii — rutarea scrierii la editare (S8b) | | `programe\ofacturare_editare.prg` | 269 linii | | `programe\oproceduri_facturare.prg` | 69 linii — discount pe linie (S4c) + fallback cota TVA (VALTVA) | | `programe\ofacturare_comun.prg` | 134 linii | | `programe\ogrid_latimi.prg` | **nou**, 104 linii — geometrie grid | **Docs (9)** + `.gitignore`: `docs\reguli_lucru.md`, `docs\todos.txt`, `docs\.ultima_revizie`, `docs\capcana_sqlexec_no_data_found.md`, `docs\conventie_encoding_cp1252.md`, `docs\depanare_testare_vfp.md`, `docs\instalare-ponytail.md` (netracked, vezi §b13 — continutul nu a fost verificat, e cod tert), `docs\prompt_recreare_statusline.md`, `docs\tipuri_documente_facturare.md`. Fisierele atinse per story, cu detaliu: `docs\plan_13_executie.md`, coloana „Fisiere atinse". ## Scripturi Oracle Sursa: `docs\scripturi_oracle_13.md` (26 scripturi inregistrate), incrucisat cu cele 17 fisiere `docs\wip13_*.sql.txt` prezente pe disc (restul, #1-#6/#8-#10, sunt sub `D:\ROA\DATABASE\SCRIPTURI_CLAR\...`, in afara acestui repo). Toate scripturile din registru raporteaza **APLICAT** (verificat pe `USER_OBJECTS`/`VERSIUNE`/probe la momentul aplicarii) — **nu exista niciun rand marcat "NERULAT"** in registru, deci nu a fost nevoie de reincadrare. | # | Obiect Oracle | Tip | Fisier wip cel mai recent | Aplicat pe MARIUSM_AUTO | |---|---|---|---|---| | — | `PACK_FACTURARE` | package (spec+body) | `wip13_2026_09_08_03_COMUN_PACK_FACTURARE_fix_venchelt.sql.txt` (ultimul din 9 recompilari cumulative: #1,2,4,5,10,11,12,15,16,20,25,26) | DA — probat 08.09.2026 (`probe_s13b_batchmode_direct.prg`) | | — | `PACK_CONTAFIN` | package (spec+body) | `wip13_2026_09_03_02_COMUN_PACK_CONTAFIN.sql.txt` (S9-7, dupa `..._01_...` S9-6) | DA — probat 03.09.2026, 24/0 tintire + 20/4 control negativ (a picat cum trebuia) | | — | `PACK_SERII_NUMERE` | package (spec+body) | `wip13_2026_08_24_02_COMUN_PACK_SERII_NUMERE.sql.txt` (`D:\ROA\DATABASE\...`) | **APLICAT SI DAT INAPOI** 24.08.2026 — nu functiona (`ORA-24338`), rollback `docs\pack_serii_numere_inainte_fix.sql`; **nu se livreaza**, in afara perimetrului #13 | | — | `VVANZARI_ARTICOLE` (view) | view | `docs\wip13_2026_09_02_01_COMUN_VVANZARI_ARTICOLE_EXT.sql.txt` | DA — aplicat si revizuit 02.09.2026 | | — | `FACT_VFACTURI` (view) | view | `docs\wip13_2026_09_04_04_COMUN_FACT_VFACTURI.sql.txt` | DA — 04.09.2026 | | — | `VANZARI` (coloane audit modificare) | DDL (`ALTER TABLE`) | `docs\wip13_2026_09_04_03_COMUN_VANZARI_AUDIT_MODIF.sql.txt` | DA — 04.09.2026, idempotent | | — | `VANZARI_DETALII_TEMP` + optiune `RF_CONT_ART_FARA_POL` | DDL + config (`OPTIUNI`) | `docs\wip13_2026_09_08_01_COMUN_VANZARI_DETALII_TEMP_CONT_VENIT.sql.txt` | DA — 08.09.2026, idempotent | | — | `CRM_POLITICI_PRET_ART.PROC_TVAV` (curatenie cote) | date (curatenie productie) | `docs\wip13_2026_09_05_03_COMUN_POLITICI_COTE_TVA.sql.txt` | **DOAR pe `MARIUSM_AUTO`** — "PREGATIT PENTRU PRODUCTIE, NEAPLICAT acolo"; scriptul e idempotent (`MERGE`), il aplica Marius cand decide | | — | `CONFIG_GRUPUTIL_ANALITICE` (simboluri analitice) | date (nomenclator) | `docs\wip13_2026_09_07_03_COMUN_CONFIG_GRUPUTIL_ANALITICE.sql.txt` | DA pe `MARIUSM_AUTO` — **alegerea simbolului (12/1) NU e confirmata de Marius ca decizie contabila**, doar suficienta sa deblocheze scrierea in test | Rollback-uri disponibile pe disc (export „inainte", `CREATE OR REPLACE`): pentru `PACK_FACTURARE` seria completa `docs\pack_facturare_inainte_*.sql` (8 exporturi succesive, cate unul per hunk major), `PACK_CONTAFIN`: `docs\pack_contafin_inainte_s9_6.sql` / `_s9_7.sql`, `FACT_VFACTURI`: `docs\fact_vfacturi_inainte_s14.sql`, `PACK_SERII_NUMERE`: `docs\pack_serii_numere_inainte_fix.sql`. ## Doar test — nu se livreaza **COMUN — 526 fisiere** sub `COMUN\utile\Teste\` (teste `.prg`/`.ps1` noi sau modificate + loguri de rulare `*_log_*.txt`/`out\*.log`, artefacte de rulare repetata a suitei). Lista completa: `git diff --name-only main...plan13-s2 -- . | grep '/Teste/'`, din `COMUN`. **Scripturi Oracle doar de test/fixturi** (nu intra in livrarea catre clienti — insereaza date de proba sau nomenclator de dezvoltare): | Fisier | Ce insereaza | |---|---| | `wip13_2026_09_01_01_COMUN_CURSURI_TEST.sql.txt` | curs valutar EUR lipsa, doar ca sa deblocheze un test de contract pe `MARIUSM_AUTO` | | `docs\wip13_2026_09_05_02_COMUN_AVIZE_TEST.sql.txt` | 30 avize de proba, seria `AVZ13` | | `docs\wip13_2026_09_05_04_COMUN_FIXTURI_TEST.sql.txt` | reinviere documente-martor + resetare consum comenzi de test | | `docs\wip13_2026_09_07_01_COMUN_AVIZE_TEST_v2.sql.txt` | regenerare rezervor `AVZ13` (v2, dupa epuizare) | | `docs\wip13_2026_09_07_02_COMUN_FIXTURA_1130_S8B.sql.txt` | reinviere martor 1130 + document nou de test `S8B/1` | ## Datorii deschise Sursa: `docs\handoff_plan13_executie_continua.md` §7 (35 de intrari, linia 730) + §3 din `docs\handoff_reluare_13_b13.md` (4 intrari, blocul cel mai recent). Ambele fisiere sterse in curatenia de inchidere a etapei (09.09.2026) — textul integral, cu detaliu pe fiecare intrare, ramane recuperabil din `git log -p -- docs/handoff_plan13_executie_continua.md` si `git log -p -- docs/handoff_reluare_13_b13.md`. Verificate pe `git log` la momentul scrierii — **nu s-a gasit nicio datorie din aceste doua liste deja inchisa printr-un commit ulterior nemarcat**; toate raman asa cum au fost lasate la predare. Lista completa de mai jos pastreaza titlu + stare pentru fiecare intrare (numerotarea urmeaza sursa originala): **Etapa 6 (35 intrari, `handoff_plan13_executie_continua.md` §7):** 1. `probe_totaluri.prg` — 33 fail preexistente (acces direct pe controale in container, fara `ObjExists`). Deschisa, alt story. 2. `test_s3_init_antet` — 44 fail identice (aviz, controale client/sold). Deschisa, posibil defect real de produs, neinvestigat. 3. `TabIndex` containere (decizia 5) — la data scrierii, nedecis. **INCHISA ulterior 06.09.2026**, vezi tabelul de decizii de mai sus. 4. Log emitere (`test_s3b_emitere_*`) arata MODUL de incasare, nu `.Value`-ul radio-group-ului. Deschisa, retus cosmetic. 5. 3 numere de incasare (Chitanta/Bon fiscal/POS) posibil ramase alocate fara document, dupa eroare `nid_vanzare`. Deschisa, neverificat direct in Oracle. 6. `nota_executie_s4e.md` §2.2 continea o caracterizare gresita despre referintele `Thisform.txtCodmat` etc. — **CORECTATA** la S4e-0, nu mai e datorie (doar avertisment pentru cine citea varianta veche). 7. S4-4 Rol A, proba manuala UI a emiterii reale. Deschisa — Marius nu poate testa manual; paritate 18/0 e singura dovada automata. 8. S4-4 cazul multi-aviz real. Deschisa — in `MARIUSM_AUTO` nu exista factura reala din mai multe avize simultan, doar combinatie construita pentru test. 9. S4-4 concurenta (doi operatori pe acelasi document). Deschisa — netestabil headless cu harnessul existent, risc acceptat si consemnat. 10. S4-4 `V_LISTAID` gol/NULL la `exista_ramas_avize_lista`. Deschisa, comportament mostenit, nu introdus la S4-4. 11. `do_sterge` (`frm_facturare_articole2`) eroare de alias la stergere pe tipurile `llCautareInLinie` — **INCHISA (S4-5, 31.08.2026)**, garda `If Used(lcCursor)`, test 10/10. 12. S4e-3 proba manuala UI (linie libera adaugata prin `combosql_cautare`). Deschisa — headless 62/0/0 e singura dovada automata. 13. S4e-3 descoperirea ca S4e-1 pare deja satisfacut (`cursor_preturi_call` neconditionat de tip) — confirmata doar pe cod, nu prin proba manuala UI. 14. S4e-3 acoperire partiala pe grupul de avize (testat doar tipul `21` din `21,25,28,42,47`). Deschisa, risc mic (aceeasi ramura in `do_verifica_articol`) dar netestat exhaustiv. 15. S4e-4 cursoare (`crsfactura`/`crsarticole`) construite programatic in test, nu incarcate prin fluxul real de UI. Deschisa. 16. S4e-5 tip 4 neexercitat pe date — 0 avize cu `ramas>0` in `MARIUSM_AUTO`, testul trece „verde" fara sa fi declansat dialogul (pass vacuu). Dovada ramane structurala pe cod. 17. S4e-5 dialogul real — doar `mock_amessagebox` testat, nu comportamentul dialogului de productie. Deschisa. 18. `nota_executie_s4e.md` §S4e-5 continea o caracterizare gresita a ramurii tip 4 (`Calculate Sum` local vs. apel Oracle real) — **CORECTATA** 31.08.2026. 19. „Alege selectiv din sursa" — poveste separata, neinceputa (decizia 9/13, varianta 3 aleasa la S4b). Vezi `docs\propunere_s4b_bara_butoane.md` §3. 20. Coloana `cSerie` ramane vizibila pe v2 la tipurile de contract (2/6/52) — pe v1 era eliminata. Deschisa, in afara perimetrului S4b (Marius a ales varianta 3 fara extindere). 21. `do_adauga_tot` e cod mort pe v2 (nicio referinta in afara de `PROCEDURE` si `*m:`). De stabilit candva daca se sterge sau se reconecteaza. 22. S4c „procent editabil" — s-a livrat procentul CALCULAT/needitabil (decizia Marius 31.08.2026), nu editabil cum cerea planul initial. Reluare ieftina: campul `procdisc` exista deja, lipseste doar cablajul `LostFocus` cu `tip=1`. 23. S4c `Column14.ReadOnly` confirmat doar STATIC (diff pe binar) — gridul nu se materializeaza headless, deci nu s-a verificat la rulare. 24. S4c proba manuala UI a editarii discountului in grid. Deschisa — test 26/0/0 e singura dovada automata. 25. S8 invariantul 48/49 (custodie): `IN_STOC` trebuie sa fie `0` prin constructie pe aceste tipuri, indiferent de nomenclator. Constrangere separata de tratat explicit la implementarea S8 (daca se redeschide). 26. S8 relistarea NU ameninta premisa „interval scurt" a deciziei 1 (corectie Marius 31.08.2026) — relistarea nu reemite si nu atinge stocul. Grija reala e alta: retiparirea unei facturi cu cote mixte dupa decizia 59 arata N randuri de discount in loc de unul (doar prezentare, nu stoc). 27. S8 varianta (2) (decizia 1) trebuie DECLARATA explicit ca aproximatie asumata, nu doar tacuta in cod. 28. Regula de discount NU se versioneaza (decizia 2, **INCHISA 31.08.2026**) — tiparire uniforma dupa regula noua pe toate documentele, inclusiv cele vechi; nu se scrie ramura „daca documentul e mai vechi de X". 29. Decizia 3 (`PROC_TVAV`) putea fi FARA OBIECT — intrebare a lui Marius ramasa fara raspuns explicit la predare: ce inseamna „reemitere" si daca utilizatorul alege el cotele TVA pe acea cale. Vezi #31 (partial consumata ulterior). 30. S8 are doua surse diferite intentionat: `IN_STOC` din nomenclatorul curent (fara istoric stocat), `PROC_TVAV` din documentul original (istoric stocat pe `VANZARI_DETALII`). Nu se „armonizeaza" — regula: unde istoricul exista se foloseste, unde nu, se accepta aproximatia explicit. 31. Datoria 29 **CONSUMATA partial** — Marius a raspuns ce inseamna „reemitere" (copiere sau modificare). Ramane doar verificarea la S10: exista vreo cale unde cota se deriva tacit, fara utilizator si fara copiere/modificare? 32. S3c-4 tinta 2 (`ferestre_contracte.vc2`, ROACONTRACTE) **NEIMPLEMENTATA deliberat** — produs separat, cu semnaturi vechi (`facturare_contracte`, `factureaza`, `oDateFactura.Init`); se face dupa sincronizarea S3c-1/2/3 in acel produs, ca parte a S3c-5. Diff deja scris: `docs\propunere_s3c_4_apelanti_reali.md` §3.2. 33. S3c-4 `do_factura` nu e exercitata pe calea reala de UI (doar mecanismul, testat 18/0, nu clicul din formularul de comenzi). Deschisa, risc mic prin constructie (acelasi cursor `crsComenzi`). 34. Comportamentul VFP la un argument in plus fata de `LPARAMETERS` — neverificat empiric, a contat pentru decizia de a amana tinta 2 (datoria 32). Cine reia are nevoie de un `.prg` de proba mic care sa stabileasca daca da eroare sau ignora tacit. 35. `oDateFactura.Init` (`ofacturare_comun.prg:234`) nu executa nimic din initializare cand e apelat `(0, 0)` (`If !Empty(tnIdSet)`) — capcana pentru cine scrie teste pe `Init`: un `CREATEOBJECT` cu `tnIdSet=0` trece „verde" fara sa testeze nimic. A costat un fals-negativ la S3c-4. **Bloc b13 (4 intrari, `handoff_reluare_13_b13.md` §3, renumerotate dupa blocul b13)**: 1. Ramura S4g pentru articole fara politica de pret (contract cu ARTICOLE, `CTR_ARTICOLE.ID_POL_ART` gol) — cale de productie gasita in cod (`PACK_FACTURARE.cursor_contract` ramura 1 + `do_urmator2` + `do_adauga_articol(.T.,.T.)` -> `deriva_cont_venit_fara_pol`), **zero cazuri in date** `MARIUSM_AUTO` (un singur rand `CTR_ARTICOLE` ar produce combinatia, si nu a fost niciodata facturat). Proba propusa (caz (d) RPC sau harness end-to-end), neexecutata. 2. `CONTRACT "Too many columns."` — cauza nedovedita, masurat 83 coloane (sub pragul 254 al VFP). Proba scrisa (`probe_s13b_batchmode_direct.prg`), nerulata pe acest caz specific. 3. `diag01_env_serii` atarna 722s — preexistent, in afara perimetrului #13. 4. Documentele 1851-1857 raman scrise pe `MARIUSM_AUTO` (by-design al harnessurilor de proba, nu curatare de facut). **Defect neinvestigat, aparut in afara celor doua liste**: `docs\erori_deschise.md` — **`Alias 'CRSGESTIUNE' is not found.`** la parasirea combo-ului de gestiune, neinvestigat. **Datorii noi, gasite dupa cele doua liste (09.09.2026, mutate aici din rapoartele sterse azi)**: - Combo-urile de cautare articol (`raport_combo_lista_preturi.md`) pot afisa **duplicate false** — acelasi articol, aceeasi lista de preturi, acelasi pret — multiplicate de fan-out-ul join-ului `utilizatori_rol_intern` -> `politici_grupuri`. Fara `DISTINCT` in query (`rownum as id_c` il blocheaza pe unul simplu, ar cere un wrapper exterior). Netratat, poveste separata. - Acelasi loc: `codbare` nu e legat la cautare (`pSecondField` gol pe ambele combo-uri), desi cursorul il contine si `combosql.KeyPress` are deja carligul. Sugestie, nu datorie. **Amanate deliberat, poveste separata** (nu sunt „de facut", sunt inchise ca decizie): plafonul Rol B tip `23` (decizia 7), tipul `41` in `llCautareInLinie` (decizia 8), „alege selectiv din sursa" pe v2 (datoria 19), S3c-4 tinta 2 + S3c-5 (ROACONTRACTE, alt produs — cross-sync amanata motivat), `do_adauga_tot` cod mort pe v2 (de stabilit candva daca se sterge). **S13 (inchidere de etapa: diff, review, changelog, documentatie finala)** — marcata **NEINCEPUT** in `docs\plan_13_executie.md:62`. E ultima poveste din lant si nu are cod propriu — pare sa fie tocmai livrarea pe care acest fisier o pregateste. ## Necomis pe disc acum **ROAFACTURARE** (`git status --short`, verificat la ora scrierii acestui inventar): - `M Clase\ofundal_facturare.vc2` — modificare **necomisa**, diferita de commit-ul `e371a08` (deja in istoric). Diff-ul curent contine: **reparatia** sirului `xmenu()` din `Cw10.do_actiune`: literalul avea 295 de caractere, peste limita VFP de 255, deci metoda nu compila si dadea la rulare „Command contains unrecognized phrase/keyword." la linia 3. Sirul e spart in doua atribuiri; optiunile si numerele de bara raman identice. Write-back facut, fidelity check OK, metoda compileaza curat. **Plus** obiectele aduse in text de `git_sync.ps1` din binarul salvat anterior din IDE (`Page2.Pict_liniuta1`, `Cw10.Top` 233->250, coloanele de grid `cCodFiscal`, `cIdPart`, `cNumeListaPreturi`, `cPTVA`, `But_attach1`) — nu sunt scrise de mana si nu sunt o schimbare neintentionata. - `?? docs\erori_deschise.md` — fisier nou, netracked, 1 eroare inregistrata (`CRSGESTIUNE`, neinvestigata, vezi „Datorii deschise"). **COMUN**: `git status --short` **curat** — nimic necomis. Acest fisier de inventar (`docs\livrare_13.md`) e el insusi nescris in git la momentul livrarii lui.