Files
roafacturare/docs/cercetare/mockup_v8_modificari.md
Marius Mutu d9f5ca4226 docs: planurile, proiectarile si rapoartele de lucru intra in versionare
Folderul docs\ era pana acum in afara oricarui control de versiuni - nici git,
nici SVN - desi contine planurile pe puncte, proiectarile si rapoartele de
cercetare pe care se sprijina modificarile din cod. O stergere acolo era
definitiva.

Fisierele intermediare (handoff-uri intre sesiuni, diff-uri deja aplicate) au
fost sterse inainte, nu versionate: ce era durabil in ele a intrat in antetele
fisierelor de test la care se refereau.

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

100 lines
7.1 KiB
Markdown

# Mockup #13 — v7 -> v8 (rundele 9-11, deciziile 31-42), ce s-a schimbat
Fisier atins: `D:\ROA\ROAFACTURARE\docs\mockup_13_formular_unificat.html`. Niciun alt fisier.
Citire unica a HTML-ului (decizia 33); editarile de mai jos s-au aplicat intr-o singura serie, fara
recitire intermediara.
## Sectiuni atinse
- **Eyebrow / marcaj versiune** (linia ~199): `versiunea 7 (runda 8)` -> `versiunea 8 (runda 11)`.
- **Sectiunea 1** (disclosure-ul din panoul Document): decizia 41 — comutatorul unic „Alte date —
analitice, delegat si transport, incasare, adresa de facturare, text aditional” s-a despartit in
**doua** `.disclosure`: unul nou, doar „Incasare” (fara callout numerotat, ca sa nu se renumeroteze
legenda), cu hint „alocare/dezalocare — comutator propriu”; al doilea pastreaza callout-ul 2 si restul
campurilor (fara incasare). Legenda callout-ului 2 a fost rescrisa: titlu „Restul, pliat — doua
comutatoare”, text care explica motivul izolarii (efecte laterale reale doar pe incasare, blocata pe
document emis prin decizia 25, garda de non-alocare scrisa/testata intr-un singur loc).
- **Sectiunea 3** (meniul de adaugare): paragraf nou dupa observatia despre „adauga tot” — decizia 39:
`crsarticole` ramane registrul cantitatii ramase de facturat (folosit la inchiderea automata a
comenzii/avizului), decuplat de gridul incarcat; cautarea pe server ramane cum era in v7, doar
bookkeeping-ul se muta intr-un registru propriu.
- **Sectiunea 4** (Valuta si data cursului): paragraf nou la final — decizia 42: validarea cursurilor
(`verifica_cursuri_valute`) se restrange la valuta articolului cautat, nu mai ruleaza global la
deschidere; diferenta de comportament asumata explicit.
- **Sectiunea 7** (Ce se scrie la Termina): paragraf nou dupa tabel — decizia 35: un singur cod de
scriere contabila, `scrie_factura2` → `contabilizeaza_articol`, si la emitere si la editare (etapa
II); canalul `oscrie_in_fisiere` (folosit azi de #6) nu intra in #13.
- **Sectiunea 8** (Ce trebuie verificat inainte): bulletul „Coordonarea cu #6” (decizia 30) extins cu
decizia 38 — fluxul de editare al lui #6 nu se retrage, coexista cu regenerarea din #13, decizia
despre unificare se ia mai tarziu. Bullet nou, mic, pentru decizia 40 — bug-ul de dezalocare POS se
repara in trecere in S3b, testarea trebuie sa acopere si dezalocarea pe calea veche.
- **Sectiunea 10** (Contul de venit) — **rescrisa integral**, cum a fost cerut:
- decizia 24 ramane barata (`<s>`), neschimbata din v7;
- decizia 27 (tabelul cu cele doua ramuri, gestionabil/negestionabil) neschimbata;
- **decizia 27-bis (reteta VFP in 4 pasi) e acum barata** (`<s>`), cu explicatia abandonarii
(decizia 32 → decizia 34) — tiparul vizual e identic cu cel folosit pentru decizia 24 respinsa,
cerut explicit de mandat;
- **sectiune noua „Decizia 34”**: coloana noua `VANZARI_DETALII_TEMP.CONT_VENIT`, parametrul nou
`V_CONT_VENIT` la coada lui `adauga_articol_factura`, cei trei apelanti interni neatinsi
(BULK COLLECT pe `%ROWTYPE`), ramura noua infasoara `FACT-024`, `descarca_gestiune` o data prin
constructie, plus bulletul „de retinut la implementare” cu cele doua clase VFP separate
(`frm_facturare_articole` / `frm_facturare_articole2`), lista de coloane a `scrie_in_vanzari`, si
excluderea structurala a articolului compus;
- **sectiune noua „Decizia 36”**: tabel cu sursa lui `SCD` (optiune de firma, implicit `4111`, tiparul
din `scrie_incasare2`) si `CU_TVA` (derivat din `proc_tvav > 0`, cu riscul gasit la verificarea
adversariala explicat);
- **sectiune noua „Decizia 37”**: cheia `RF_CONT_ART_FARA_POL`, fara validare de cont, garda de
lungime (`ORA-12899`);
- paragraful „Intrebarea lui Marius, verificata” pastrat (raspunsul nu s-a schimbat fata de v7);
- **„Ce nu e gratuit” rescris** — cele 4 costuri vechi (specifice retetei in 4 pasi, azi abandonate)
inlocuite cu 4 costuri noi: regresia pe toata suita, cele doua clase VFP cablate separat, lista de
coloane a `scrie_in_vanzari`, si absenta validarii pe un cont fara precedent.
- **Sectiune noua 12** *(vezi corectie mai jos — de fapt 11)*: „Puncte marunte ramase”, tabelul a-k din
plan, cu nota „se merge pe recomandare daca Marius nu spune altfel”.
*Corectie fata de un draft intermediar al acestui raport: sectiunea noua e numerotata corect
**11** (urmatorul numar liber dupa 10, cum cere regula „nu renumerota sectiunile existente”), nu 12.*
## CSS
Nicio regula noua, nicio paleta noua. S-au refolosit `pill have` / `pill check`, `<s>`, `table.doc`,
`.tbl`, `ul.tight` — exact ca in v7. Ordonata list (`ol.tight`) a disparut din document odata cu
eliminarea retetei in 4 pasi (nu mai exista niciun `<ol>` in fisier), dar selectorul CSS extins la
`ul.tight, ol.tight` din v7 a fost pastrat neschimbat, pentru refolosire viitoare.
## Ce NU s-a atins
- Deciziile 31 si 33 nu apar in mockup (reguli de lucru interne, nu decizii de produs), cum a cerut
mandatul.
- Decizia 32 nu are sectiune proprie — e reflectata implicit prin explicatia abandonarii retetei in 4
pasi (barata) din sectiunea 10.
- Ramura `ntip = 4` / avize / `SCD` pe aviz — **exclusa deliberat**, nu apare nicaieri in mockup (in
verificare adversariala, conform mandatului).
- Sectiunile 2, 5, 6, 9 nu au fost modificate — deciziile 31-42 nu le ating continutul.
## Verificare
- Ambele fisiere exista pe cale absoluta (`docs\mockup_13_formular_unificat.html`,
`docs\cercetare\mockup_v8_modificari.md`).
- Tag-uri numarate cu regex pe fisierul final: `div` 148/148, `section` 6/6, `table` 11/11,
`tbody`/`thead` 11/11, `tr` 56/56, `ul` 2/2, `ol` 0/0 (eliminat odata cu reteta), `p` 58/58,
`h2` 11/11, `h3` 5/5 — toate echilibrate.
## Contradictii / alegeri facute
- **Numarul callout-ului pe noul disclosure „Incasare” (decizia 41):** am ales sa NU-i dau un numar de
callout propriu, ca sa nu renumerotez legenda existenta (1-4) sau sa creez un al 5-lea item de legenda
pentru un detaliu minor. In schimb am pus un `.hint` inline, dupa tiparul deja folosit in alte locuri
ale mockup-ului (ex. nota „3 linii · comanda CMD 3312 acoperita 100%”) pentru text explicativ fara
callout numerotat.
- **Plasarea deciziei 35:** am ales sectiunea 7 (Ce se scrie la Termina) in loc de o sectiune noua,
pentru ca tabelul de acolo descrie deja exact ce cod scrie fiecare tip de modificare — decizia 35 e o
precizare directa pe acel tabel, nu un subiect separat.
- **Plasarea deciziilor 39/42:** ambele au fost puse ca paragrafe `.meta` la finalul sectiunilor deja
existente (3, respectiv 4) despre subiectul lor, nu ca sectiuni noi — mandatul preciza ca „se vad in
formular”, dar niciuna nu schimba un desen existent (spre deosebire de 41), deci text a fost suficient.
- **Sectiunea 10, „Intrebarea lui Marius, verificata”:** am pastrat-o neschimbata din v7 pentru ca
raspunsul (ROAACNPRO nu cheama `contabilizeaza_articol`, contractul are `id_pol` din cursor) nu s-a
schimbat prin nicio decizie a rundelor 9-11 — doar mecanismul prin care se evita `FACT-024` s-a
schimbat, nu raspunsul la intrebarea de ce nu se aplica si acolo.