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
65 lines
2.9 KiB
Markdown
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`.
|