#13: formular de facturare unificat - etapa curenta
Squash al branch-ului de lucru plan13-s2. Cod: clasa noua ofacturare_util (geometrie si utilitare de formular), inrolata in roafacturare.prg; meniul "Facturare (nou)" plat, cu reparatia literalului peste limita VFP de 255 de caractere care impiedica compilarea metodei. Livrare: changelog 2.11.19, marcajul de versiune DB pentru scripturile finale din SCRIPTURI_CLAR\2026\09, inventarul livrarii in docs/livrare_13.md si registrul de erori deschise. Documentatia de lucru a etapei (cercetare, rapoarte, handoff-uri, snapshot-uri de scripturi si backup-uri de rollback) a fost scoasa din arbore. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PkyjGyrV2S7932om4kfSiK
This commit is contained in:
@@ -1,10 +1,37 @@
|
||||
# Progres implementare — ROAFACTURARE, punctele 6, 7, 8 (10, 11, 12 amanate)
|
||||
# Progres implementare — ROAFACTURARE, punctele 6, 7, 8, 13 (10, 11, 12 amanate)
|
||||
|
||||
**Fisierul curent de stare.** Orice sesiune il citeste primul si il actualizeaza inainte sa se
|
||||
incheie. Planurile (`plan_0*.md`) spun *ce* e de facut; acesta spune *unde s-a ajuns*. Istoricul
|
||||
sesiunilor nu se pastreaza aici — doar starea la zi, deciziile, faptele stabilite si datoriile.
|
||||
|
||||
Ultima actualizare: **19.08.2026**.
|
||||
Ultima actualizare: **21.08.2026**.
|
||||
|
||||
> **RUNDA 21.08.2026 — #13 S2 implementata si comisa pe branch.**
|
||||
> Cerere Marius, aprobata azi: **fara teste manuale, commit pe branch, continuare in alta sesiune.**
|
||||
>
|
||||
> **Ce s-a schimbat**: `COMUN\programe\ofacturare.prg` — procedura duplicata `factureaza2` (fork mort
|
||||
> din 2017, zero utilizatori reali) a fost stearsa; alegerea formularului se face acum in
|
||||
> `factureaza`, dupa flagul `Private plFacturareNoua`. `Clase\ofundal_facturare.vc2` — butoane noi
|
||||
> `Page2.Cw10` „Facturare (nou)" (4 optiuni: lista de preturi, contract, comanda, aviz) si
|
||||
> `Page3.Cw5` „Avize (nou)" (4 optiuni), ambele seteaza `plFacturareNoua` si deschid
|
||||
> `frm_facturare_articole2`.
|
||||
>
|
||||
> **Decizia 67** (Marius, 20.08.2026): intrare separata in meniu, nu comutator/dialog; ambele cai
|
||||
> facturare vechi si noua raman accesibile simultan. Perimetru: vanzarile din stoc (`Cw5..Cw9` ->
|
||||
> `initializeaza_vanzare_din_stoc`) **nu** trec prin `factureaza` — raman in afara #13.
|
||||
>
|
||||
> **NETESTAT MANUAL** — decizia explicita a lui Marius, 21.08.2026. Ramane datorie de verificat cel
|
||||
> tarziu la S6 (test pe flux real, planificat dupa S5).
|
||||
>
|
||||
> **Commis pe branch `plan13-s2`** in ambele repo-uri (ROAFACTURARE + COMUN), **fara SVN** — SVN
|
||||
> ramane neatins pana la aprobarea finala si testele manuale. Detalii si hash-uri:
|
||||
> `docs\handoff_13_s2.md`.
|
||||
>
|
||||
> **Urmatoarea story: S3** — portarea logicii de antet in formularul unificat.
|
||||
>
|
||||
> **Capcana platita**: FoxBin2Prg ordoneaza obiectele si metodele **ASCII-lexicografic**, nu numeric —
|
||||
> `Cw10` cade intre `Cw1` si `Cw2` in textul `.vc2`, nu dupa `Cw9`. De verificat cu `vfp_symbols.ps1`
|
||||
> inainte de orice cautare pe pozitie in fisier.
|
||||
|
||||
> **RUNDA 19.08.2026 — butoanele de linie trec pe butoanele laterale ale grid-ului de articole.**
|
||||
> Cerere Marius, executata si testata; **fara commit**.
|
||||
@@ -2326,26 +2353,26 @@ Ramase: partea VFP a punctului 6 si intrarea de changelog pentru runda 6 (nu exi
|
||||
livrare nu sunt surse de stare pentru ce e in Oracle. Starea se citeste din `VERSIUNE` +
|
||||
`ALL_SOURCE`, prin diff, inainte de a re-aplica ceva.
|
||||
- Ramane valabila interdictia: **nu se re-aplica `ff_2026_08_20_01`** — ar sterge punctul 6.
|
||||
|
||||
## Runda 6 punctul 6 + runda 7 (sincronizare) - 20.08.2026, seara
|
||||
|
||||
Starea completa, cu inventar pe `fisier:linie`, ce s-a stabilit si ce e in lucru:
|
||||
**`docs\handoff_r6_r7_sincronizare.md`**. Pe scurt:
|
||||
|
||||
- **Punctul 6 (explicatie TVA in `frm_facturi`): TERMINAT**, write-back verificat prin
|
||||
reconversie (0 linii diferenta, md5 identic), probat pe ecran de Marius de doua ori.
|
||||
Filtrul final al listei: `id_jtva_coloana > 0 AND afisat > 0 AND jv = 1 AND cota_tva = <cota
|
||||
liniei>`. Pe date (`vjtva_coloane`, `MARIUSM_AUTO`): `afisat = 0` sunt liniile de TVA,
|
||||
`afisat = 1` bazele, `afisat = 2` neimpozabilele; `jv = 1` tine afara explicatiile de
|
||||
achizitie, care altfel treceau de garda `FACT-029` fiindca au aceeasi cota.
|
||||
- **Runda 7, in lucru**: sincronizarea articole-rulaje porneste doar din buton (se scoate
|
||||
declansarea de la salvare, `omodificari.vc2:14484-14494`), si `AplicaModificareTrul`
|
||||
(`ofacturare_editare.prg:924`) scrie si `pretv`/`tvav`, nu doar `pretvtva`.
|
||||
**Perimetru fixat de Marius: doar preturi, nu si `valoarev`/`valtvav`/`valoarevcTVA`** -
|
||||
sincronizarea e intre cantitate si preturi. Ramane de raspuns, ca fapt, cine recalculeaza
|
||||
acele valori dupa sincronizare.
|
||||
- **Nimic nu e comis** - decizia lui Marius e un singur commit, dupa ce sunt gata toate trei.
|
||||
- `roafacturare.PJT`/`.PJX`/`.exe` apar modificate: zgomot din sesiunea lui de VFP, se lasa asa.
|
||||
|
||||
## Runda 6 punctul 6 + runda 7 (sincronizare) - 20.08.2026, seara
|
||||
|
||||
Starea completa, cu inventar pe `fisier:linie`, ce s-a stabilit si ce e in lucru:
|
||||
**`docs\handoff_r6_r7_sincronizare.md`**. Pe scurt:
|
||||
|
||||
- **Punctul 6 (explicatie TVA in `frm_facturi`): TERMINAT**, write-back verificat prin
|
||||
reconversie (0 linii diferenta, md5 identic), probat pe ecran de Marius de doua ori.
|
||||
Filtrul final al listei: `id_jtva_coloana > 0 AND afisat > 0 AND jv = 1 AND cota_tva = <cota
|
||||
liniei>`. Pe date (`vjtva_coloane`, `MARIUSM_AUTO`): `afisat = 0` sunt liniile de TVA,
|
||||
`afisat = 1` bazele, `afisat = 2` neimpozabilele; `jv = 1` tine afara explicatiile de
|
||||
achizitie, care altfel treceau de garda `FACT-029` fiindca au aceeasi cota.
|
||||
- **Runda 7, in lucru**: sincronizarea articole-rulaje porneste doar din buton (se scoate
|
||||
declansarea de la salvare, `omodificari.vc2:14484-14494`), si `AplicaModificareTrul`
|
||||
(`ofacturare_editare.prg:924`) scrie si `pretv`/`tvav`, nu doar `pretvtva`.
|
||||
**Perimetru fixat de Marius: doar preturi, nu si `valoarev`/`valtvav`/`valoarevcTVA`** -
|
||||
sincronizarea e intre cantitate si preturi. Ramane de raspuns, ca fapt, cine recalculeaza
|
||||
acele valori dupa sincronizare.
|
||||
- **Nimic nu e comis** - decizia lui Marius e un singur commit, dupa ce sunt gata toate trei.
|
||||
- `roafacturare.PJT`/`.PJX`/`.exe` apar modificate: zgomot din sesiunea lui de VFP, se lasa asa.
|
||||
|
||||
### Runda 7 - terminata, 20.08.2026, 22:40
|
||||
|
||||
|
||||
Reference in New Issue
Block a user