Files
roafacturare/docs/verificare_s5_writeback.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

65 lines
2.9 KiB
Markdown

# Verificare write-back binar S5 (omodificari, ofacturare_comun, comun)
Verificare de stare, fara modificari de productie. Nicio scriere in arbore, niciun commit.
## Metoda
Conversie binar -> text intr-un director de cache TEMPORAR (nu in arbore), pentru fiecare
`.vcx` din `COMUN\clase\`:
```
powershell -ExecutionPolicy Bypass -File D:\ROA\UTIL\foxbin2prg\vcx2txt.ps1 -Source "D:\ROA\ROAFACTURARE\COMUN\clase\<f>.vcx" -CacheRoot "<scratchpad>\verif_wb" -Force
```
Cache temporar folosit:
`C:\Users\mmari\AppData\Local\Temp\claude\D--ROA-ROAFACTURARE\c8e7df05-b882-4b45-8548-cd08f55d7be1\scratchpad\verif_wb\`
Toate cele trei conversii au raportat `OK` / `Esuate: 0`.
## Tabel rezultate
| fisier | octeti text arbore | octeti text regenerat | linii diferite | identic DA/NU | cens octeti >0x7F | cens conform reperului DA/NU | linia agatarii |
|---|---|---|---|---|---|---|---|
| omodificari.vc2 | 539470 | 539470 | 0 | **DA** | `2 aa . 2 e3 . 2 fe`, EF BF BD: 0 | **DA** | n/a (dovedit anterior, nu contine blocul de agatare) |
| ofacturare_comun.vc2 | 242984 | 242984 | 0 | **DA** | `1 aa . 3 ba . 2 ce . 2 e3 . 2 ee . 2 fe`, EF BF BD: 0 | **DA** | `ofacturare_comun.vc2:3828-3830` |
| comun.vc2 | 330100 | 330100 | 0 | **DA** | `1 ee`, EF BF BD: 0 | **DA** | `comun.vc2:2491-2493` |
`cmp` byte-for-byte intre textul din arbore si textul regenerat din binar: identic pe toate
trei (`cmp -s` fara diferente, 0 linii `diff`).
## Cens de octeti (detaliu)
Repere asteptate (git HEAD b9eba29, starea de dinaintea S5) vs. masurat acum pe `.vc2` din arbore:
- `omodificari.vc2`: asteptat `2 aa · 2 e3 · 2 fe`, 0x `EF BF BD` -> masurat `2 aa . 2 e3 . 2 fe`, 0 -> **conform**
- `ofacturare_comun.vc2`: asteptat `1 aa · 3 ba · 2 ce · 2 e3 · 2 ee · 2 fe`, 0 -> masurat `1 aa . 3 ba . 2 ce . 2 e3 . 2 ee . 2 fe`, 0 -> **conform**
- `comun.vc2`: asteptat `1 ee`, 0 -> masurat `1 ee`, 0 -> **conform**
Nicio abatere fata de reper.
## Blocul de agatare (3 randuri, cu `-1`, NU `0`)
`ofacturare_comun.vc2:3828-3830`:
```
3828: If lnSucces > 0 And "OFACTURARE_EDITARE" $ Upper(Set("Procedure")) And Used('tvanz') And Reccount('tvanz') = 1
3829: lnSucces = Iif(ScrieArticoleFacturaEditate(tvanz.id_vanzare), 1, -1)
3830: Endif
```
`comun.vc2:2491-2493`:
```
2491: If lnSucces > 0 And "OFACTURARE_EDITARE" $ Upper(Set("Procedure")) And Used('tvanz') And Reccount('tvanz') = 1
2492: lnSucces = Iif(ScrieArticoleFacturaEditate(tvanz.id_vanzare), 1, -1)
2493: Endif
```
Ambele confirmate exact ca in specificatie: 3 randuri, `-1` (nu `0`).
## Verdict
Toate trei fisierele (`omodificari.vc2`, `ofacturare_comun.vc2`, `comun.vc2`) au write-back-ul
binar sincronizat cu textul din arbore, dovedit prin reconversie + comparatie octet cu octet
(nu doar mtime). Cens de octeti diacritice conform reperului pe toate trei, fara secvente
`EF BF BD` (fara semne de corupere UTF-8). Blocul de agatare prezent si corect in
`ofacturare_comun.vc2` si `comun.vc2`.