Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PkyjGyrV2S7932om4kfSiK
282 lines
24 KiB
Markdown
282 lines
24 KiB
Markdown
# 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.
|
||
|
||
## Stare la inchiderea etapei (09.09.2026)
|
||
|
||
- SVN: r18078 (COMUN), r18079 (ROAFACTURARE), r18080 (DATABASE - cele 6 scripturi finale
|
||
din `SCRIPTURI_CLAR6 |