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

7.1 KiB

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.