sync SVN r18016: editare articole in factura de vanzare, precizie pret achizitie

ROAFACTURARE 2.11.15 (r18015): programe/ofacturare_editare.prg, programe/ofacturare_stoc.prg.
docs: conventia de encoding .sc2/.vc2 corectata la cp1250; cercetarile trans-proiect mutate
din ROAFACTURARE in docs/cercetare (r18014); actualizari reguli_lucru, oracle_export,
flux-editare-vfp-text, scripturi-migrare-db, flux-modificare-stergere-nota-jurnal, todos.
.gitignore: watchdog_out si PNG-urile din rularile headless (r18008).
Text FoxBin2Prg regenerat: clase/comun.vc2, ferestre/frm_import_note_facturi_clienti.sc2,
ferestre/frm_initializare_facturi_balanta.sc2.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AV7dQbTLAqvrtQbH7zxXxw
This commit is contained in:
2026-08-20 14:07:12 +03:00
parent 13b4f65723
commit 6de489950c
27 changed files with 4547 additions and 67 deletions

View File

@@ -0,0 +1,110 @@
# 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`.