# S10 + S12 — versiune_db.txt, curatare VERSIUNE, propunere changelog 2.11.13

## S10 — `versiune_db.txt`

Regula exacta, confirmata in `COMUN\docs\scripturi-migrare-db.md` ("Numerotare si versiune_db.txt"):
in `versiune_db.txt` se trece **doar versiunea ultimului script `ff_`** (nu `co_`/`sys_`/`rf_`/`ris_`),
pentru ca programele se conecteaza pe schema firmei, nu pe `CONTAFIN_ORACLE`.

Verificat pe disc, `D:\ROA\DATABASE\SCRIPTURI_CLAR\2026\08\`: cinci scripturi `ff_2026_08_06_*`
aplicate azi pe `MARIUSM_AUTO` — `_02` (`PACK_FACTURARE`, S4), `_03` (`PACK_FACTURARE`, S7), `_04`
(`VANZARI_COMANDA_CONTRACT`, S6), `_05` (`FACT_VFACTURI`, S8), `_06` (`VANZARI_BACKFILL`, S5).
Confirmat si prin interogare pe `VERSIUNE` (`order by data_script desc, seq_script desc`): ultimul
`ff_` aplicat e `ff_2026_08_06_06_COMUN_VANZARI_BACKFILL.sql`.

**Scris in `versiune_db.txt`: `2026_08_06_06`** (fara newline la final, pastrand conventia
fisierului existent — verificat byte-level, 13 octeti, identic ca lungime cu vechea valoare
`2026_08_02_01`).

## S10 — starea tabelei `VERSIUNE`

Interogata direct pe `MARIUSM_AUTO` (`docs\cercetare\s10_curata_versiune.sql`, pasul 1). Numar de
inregistrari per script, azi:

| Script | Inregistrari |
|---|---|
| `ff_2026_08_06_02_COMUN_PACK_FACTURARE.sql` (S4) | 2 |
| `ff_2026_08_06_03_COMUN_PACK_FACTURARE.sql` (S7) | 1 |
| `ff_2026_08_06_04_COMUN_VANZARI_COMANDA_CONTRACT.sql` (S6) | 2 |
| `ff_2026_08_06_05_COMUN_FACT_VFACTURI.sql` (S8) | 4 |
| `ff_2026_08_06_06_COMUN_VANZARI_BACKFILL.sql` (S5) | 5 |

14 randuri in total pentru cele 5 scripturi de azi, 9 in plus fata de cate 1 per script. Confirma
tiparul semnalat: `_02`, `_05`, `_06` (si, in plus fata de ce era asteptat, `_04`) au fost aplicate
de mai multe ori pe masura extinderii lor in cursul zilei; `_03` are deja un singur rand, nimic de
curatat acolo.

**Propunere, nerulata**: `docs\cercetare\s10_curata_versiune.sql`. Pastreaza per script randul cu
`ID_VERSIUNE` maxim (ultima aplicare = starea finala reala a scriptului), sterge restul — scoped
strict pe cele 5 nume de script din lista de mai sus, cu `select` de verificare inainte si dupa,
`delete` la mijloc, `commit` comentat (de dat manual). Fara impact functional indiferent daca se
ruleaza sau nu: nici `versiune_db.txt`, nici aplicarea DDL nu depind de numarul de randuri din
`VERSIUNE`. **Nu s-a rulat** — stergerea de istoric ramane decizie de om.

## S12 — propunere changelog

Livrat: `docs\propunere_changelog_2.11.13.txt` (neaplicat in `changelog_roafacturare.txt`).

```
<!--
06/08/2026
ROAFACTURARE - 2.11.13

:eroare:
  Referinta catre aviz de pe facturi era gresita - toate facturile aratau acelasi aviz, indiferent de cel real. Acum se afiseaza avizul corect acolo unde exista, iar unde nu exista referinta, campul ramane necompletat.

  Unele facturi mai vechi ramasesera fara total salvat la emitere si aparea fara valoare la listare sau retiparire. Totalurile lipsa au fost completate.

  Cursul valutar afisat pe facturile emise in lei era uneori inregistrat gresit. Facturile in lei nu mai afiseaza curs valutar strain.

  La facturile de retur-transfer numele clientului afisat in lista de facturi era uneori gresit. Acum se afiseaza clientul corect.

:modificare:
  S-a uniformizat textul explicativ (comanda/contract) afisat pe facturi.
-->
```

### Motivare inclusiune/excludere

- **Aviz, totaluri, curs valutar** (`:eroare:`) — toate trei sunt defecte confirmate ca fiind
  efectiv pe date de productie (`VENDING`), vizibile pe facturi reale (lista principala si
  retiparire), acum corectate. Se incadreaza clar la `:eroare:`.
- **`CLIENT` pe retur-transfer** (`:eroare:`) — `fact_vfacturi`, folosit de gridul principal de
  listare, calcula gresit numele clientului pe cele 23 de facturi `tip=41`/`tip=-6`; view-ul
  corect (`fact_vfacturi2`) confirma sursa deliberata din cod. E o valoare gresita afisata in
  productie, nu doar o diferenta cosmetica intre doua liste — de aceea l-am pus la `:eroare:` si
  nu la `:modificare:`, desi in mesajul initial parea doar "etichete neuniforme".
- **`EXPLICATIE`** (`:modificare:`) — diferenta e strict de formatare a textului
  ("COMERCIAL - FACTURARE" vs "COMERCIAL-FACTURARE" etc.), nu o valoare gresita; l-am tinut separat
  si mai jos in prioritate, la `:modificare:`.
- **Denormalizarea comanda/contract (S6) — EXCLUSA din changelog.** Harnessul de regresie da
  aceleasi cifre inainte si dupa aplicarea scriptului; nu exista nimic vizibil pentru utilizator.
  O intrare de changelog ar fi inselatoare (ar sugera o schimbare functionala inexistenta).
- **Incasarea lipsa pe facturile din devize auto — EXCLUSA din `changelog_roafacturare.txt`.**
  Corectia e integral in cod VFP din **ROAAUTO** (`Programe\oproceduri_devize.prg`,
  `factureaza_deviz`) plus un parametru nou cu `DEFAULT` in `PACK_FACTURARE.scrie_incasari`
  (pachet Oracle comun, dar ramura noua e apelata **doar** din ROAAUTO). Recompilarea
  `roafacturare.exe` singura, fara recompilarea ROAAUTO, nu produce niciun efect vizibil pentru
  utilizatorul ROAFACTURARE — deci intrarea nu apartine acestui changelog, chiar daca facturile
  respective ar putea fi vazute si din listele ROAFACTURARE dupa ce ROAAUTO e recompilat si el.
  **Propunere de text pentru `changelog_roaauto.txt` (needitat, doar propus aici)**:

  ```
  <!--
  06/08/2026
  ROAAUTO - 2.5.5

  :eroare:
    La facturile emise din deviz auto nu se inregistra incasarea (chitanta/bon), desi factura era platita. S-a corectat.
  -->
  ```

## Fisiere livrate

- `versiune_db.txt` — actualizat la `2026_08_06_06` (editat direct, marcaj de proiect).
- `docs\cercetare\s10_curata_versiune.sql` — propunere de curatare, **nerulata**.
- `docs\propunere_changelog_2.11.13.txt` — propunere, **neaplicata** in `changelog_roafacturare.txt`.
- Acest raport.

**Fara commit** (git/SVN). Nu s-au atins scripturile de migrare, nu s-a rulat DDL, nu s-a scris in
`VERSIUNE`.
