Files
roafacturare/docs/cercetare/rec_cele_41_facturi.md
Marius Mutu b5a7108f34 docs: cercetarile comune trec in COMUN, reziduul #6 dispare, progres.md la zi
Curatenie ceruta dupa inchiderea lui #6. Folderul cercetare\ NU se putea sterge
in bloc: plan_13 se sprijina pe el cu 85 de trimiteri, deci e baza de dovezi a
planului aflat in lucru. Impartirea:

- 14 cercetari trans-proiect trec in COMUN\docs\cercetare\ - valuta si curs,
  TVA/VANZARI, consumatorii VANZARI din toata suita, integrarile #10/#11/#12,
  watchdog VFP, proiectarea Oracle a lui S5, view-ul VVANZARI_ARTICOLE. Nu sunt
  ale ROAFACTURARE, iar #10/#11/#12 se reiau chiar din ele.
- 20 de rapoarte de executie ale lui #6, nereferite de nimic viu, sterse.
- 91 raman, neatinse.

Trimiterile catre handoff-urile si diff-urile intermediare deja desfiintate au
fost curatate peste tot (39 de fisiere): 50 catre handoff-uri, 37 catre diff-uri
aplicate, plus caile celor mutate in COMUN. Zero trimiteri rupte ramase.

progres.md preia rolul de predare: ce ramane din #6 (cele sase documente
parazite, cele doua esecuri reale din S8 pe factura din aviz), cifrele de test
citite din log, si cele doua capcane de mediu platite - .FXP vechi executat in
locul .prg-ului, si GETFONT() care atarna un formular instantiat fara goApp.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SN8snvkk94KuhWwoXUUey3
2026-08-11 22:31:42 +03:00

81 lines
3.8 KiB
Markdown

# Cine sunt "cele 41 de facturi" de la decizia 9, si daca `cod=1138989` e printre ele
Intrebare deschisa 4 din handoff intermediar (sters). **Se raspunde din date, nu are nevoie
de Marius.** Sursa: `MARIUSM_AUTO@ROA_CENTRAL`, 08.08.2026.
## Definitia care da exact 41
| varianta | conditie | rezultat |
|---|---|---|
| V0 | `sters = 0`, `total_cu_tva <> 0`, zero linii **active** in `VANZARI_DETALII` | **0** |
| **V1** | **fara filtru pe `sters`**, `total_cu_tva <> 0`, zero linii **active** | **41** |
| V2 | `sters = 0`, `total_cu_tva <> 0`, zero linii **deloc** (nici sterse) | 0 |
| V3 | fara filtru pe `sters`, zero linii deloc | 0 |
Deci definitia din decizia 9 e V1. Si, la desfacere dupa `STERS`:
```
STERS N
1 41
```
**Toate cele 41 sunt documente STERSE.** Liniile lor din `VANZARI_DETALII` au fost marcate `sters=1`
odata cu documentul; totalurile denormalizate din `VANZARI` au ramas ca instantaneu. Formularea din
decizia 9 ("facturi cu totaluri denormalizate si zero linii active") e corecta, dar incompleta —
partea care conteaza e ca sunt **sterse**, si de aceea "divergenta e prin design" e evidenta, nu o
concesie.
## `cod=1138989` NU e printre ele
`cod = 1138989` (tip 51, ROAACNPRO, `id_vanzare = 788`, `total_cu_tva = 13895.45`) are
`sters = 0` si **1 linie activa** in `VANZARI_DETALII` (din 1 in total). Nu indeplineste conditia V1
sub nicio varianta.
Presupunerea din `rec_suma_act.md` (sectiunea C, "comportamentul e din aceeasi familie") nu se
sustine — familia deciziei 9 e formata din documente **sterse**, iar acesta nu e sters.
## Dar divergenta lui se explica altfel: nota e DUBLATA
Cele 12 randuri `ACT` (toate `an=2019, luna=3`, `nract=290`, `dataact=31-MAR-19`, `id_set=0`,
`id_fact=8002798`) sunt **doua blocuri de cate 6**, iar al doilea e **exact 2x** primul, rand cu rand:
| cont | bloc A | bloc B | B/A |
|---|---|---|---|
| 4111/704 | 4903.10 | 9806.20 | 2 |
| 4111/704 | 3706.23 | 7412.46 | 2 |
| 4111/704 | 3067.51 | 6135.02 | 2 |
| 4111/4428 | 931.58 | 1863.16 | 2 |
| 4111/4428 | 704.21 | 1408.42 | 2 |
| 4111/4428 | 582.82 | 1165.64 | 2 |
| **total** | **13895.45** | **27790.90** | |
Blocul A insumeaza **exact** `VANZARI.TOTAL_CU_TVA = 13895.45` (baza 11676.84 vs 11676.85
denormalizat — 0.01 de rotunjire; TVA 2218.61 vs 2218.60). Suma totala `ACT` = 41686.35 = 3x
totalul, exact raportul semnalat in `progres.md`.
**Deci regula pentru suma din `ACT` se inchide si pe `cod=1138989`**: documentul are o nota
**postata de doua ori**, a doua oara la valoare dubla. Nu e o exceptie de la regula, e o anomalie de
date. Iese din categoria "neexplicat", dar **nu** intra in decizia 9.
Ramane deschis un al doilea lucru, separat: `VANZARI_DETALII` are o singura linie (2468.21 x 1, TVA
19%) care nu reconciliaza cu antetul. Asta chiar ramane neexplicat — si e un argument bun pentru C.6
(comparatia `ACT` vs `VANZARI_DETALII` e informativa, nu verdict automat).
## Descoperire colaterala: `an`/`luna` nu se deriva din `VANZARI.DATA_ACT`
`cod=1138989` are `VANZARI.DATA_ACT = 01-JAN-19`, dar nota e in `an=2019, luna=3`. Nu e izolat:
| situatie | documente |
|---|---|
| nota e in luna din `DATA_ACT` | 542 |
| nota e in **alta** luna | **78** |
| fara randuri `ACT` pe `cod` | 83 |
In datele de test cazurile sunt concentrate pe `tip = 51` (ROAACNPRO, cu `DATA_ACT` sablon
`01-JAN-19`), deci nu e dovedit ca tipar general de productie. Consecinta de implementare ramane
insa reala: `an`/`luna` se iau din **contextul notei deja incarcate** (`tact`/`actactan`, incarcate
de `IncarcaCursoareModificareNota` cu `an`/`luna` explicite), niciodata recalculate din
`VANZARI.DATA_ACT`. Pentru aceste 78 de documente, `do_editare_factura` raspunde azi "Nu exista nota
contabila pentru aceasta factura" si refuza editarea — comportament sigur, dar de consemnat ca
limitare cunoscuta.