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
This commit is contained in:
78
docs/cercetare/rec_s9_documentatie.md
Normal file
78
docs/cercetare/rec_s9_documentatie.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# S9 — documentatia fluxului de editare a facturii, adaugata in flux-modificare-stergere-nota-jurnal.md
|
||||
|
||||
Fisier editat: `D:\ROA\ROAGEST\COMUN\docs\flux-modificare-stergere-nota-jurnal.md`.
|
||||
Diff salvat: `D:\ROA\ROAFACTURARE\docs\diff_s9_flux_nota_jurnal.patch`.
|
||||
**Nimic comis** (nici git, nici SVN) - `COMUN` e dublu-versionat SVN+git, `git stash` acolo e
|
||||
interzis; nu s-a folosit.
|
||||
|
||||
## Ce s-a adaugat si unde
|
||||
|
||||
Doua sectiuni noi, dupa `## Atentie: nu e valabil la fel pentru stergerea simpla` si inainte de
|
||||
`## Implicatii practice`:
|
||||
|
||||
1. **`## Ramura noua: editare factura de vanzare (VANZARI/VANZARI_DETALII)`** - conditia de
|
||||
activare, cele doua puncte de intrare cu garzile lor, secventa de scriere in tranzactia manuala,
|
||||
contractul lui `ScrieArticoleFacturaEditate`, procedura Oracle de recalcul, view-ul sursa, si
|
||||
comportamentul gridului de articole (editabilitate per linie, stergere logica, validari la
|
||||
inchidere).
|
||||
2. Doua bullet-uri noi in `## Implicatii practice`, in continuarea listei existente.
|
||||
|
||||
## Din ce fisiere vine fiecare afirmatie
|
||||
|
||||
- **Cele doua puncte de intrare si garzile lor**: `COMUN\clase\ofacturare_comun.vc2:3715-3872`
|
||||
(`do_editare_factura` - garzi la `:3742-3768`, incarcare articole la `:3793`, agatare la
|
||||
`:3828-3830`) si `COMUN\clase\comun.vc2:2222-2567` (`do_modifica` - luna curenta `:2265-2268`,
|
||||
pregatire articole `:2435-2437`, agatare `:2491-2493`). Verificat explicit ca `EsteInEFactura` si
|
||||
`ReferinteDocumenteNota` **nu** apar in `comun.vc2` (grep pe fisier, zero rezultate) - de-aia
|
||||
afirmatia ca garda eFactura/referinte exista doar pe punctul din ROAFACTURARE.
|
||||
- **Inregistrarea `ofacturare_editare.prg` in toate trei aplicatiile**: grep confirmat separat in
|
||||
`ROAFACTURARE\Programe\roafacturare.prg:214`, `ROACONT\Programe\roacont.prg:212`,
|
||||
`ROAGEST\Programe\roagest.prg:260` - toate cu `SET PROCEDURE TO ofacturare_editare.prg ADDITIVE`.
|
||||
- **Helperele**: `COMUN\programe\ofacturare_editare.prg` citit integral. `EsteInEFactura` (`:16-25`),
|
||||
`PregatesteArticoleFacturaEditare` (`:332-348`), `IncarcaVanzareDinNota`/`IncarcaArticoleFactura`
|
||||
(`:161-324`), `ScrieArticoleFacturaEditate` (`:468-555`, cei 4 pasi citati din corpul functiei).
|
||||
- **Formularul**: `COMUN\clase\omodificari.vc2` - `Load` (`:14645-14682`), `Show`
|
||||
(`:14731-14814`, in special `:14769-14794` pentru decizia `PageCount`), validarile din
|
||||
`inainte_de_do_termin` (`:14282-14387`), gridul `grdArticoleFactura` (definitia coloanelor
|
||||
`:12320-...`, caption PAGE3 `:8707`), handlerele `When`/`Valid` pe `cCantitateArt`/`cPretArt`/
|
||||
`cPretAchizitieArt`/`cPretCuTvaArt` (`:16519-16566`) si `cmdStergeArticol.Click` (`:16508-16517`).
|
||||
- **Oracle**: `D:\ROA\DATABASE\SCRIPTURI_CLAR\2026\08\ff_2026_08_09_01_COMUN_PACK_FACTURARE.sql`
|
||||
(`recalculeaza_totaluri_vanzari`, `:16023-16228`, citit integral - coloanele scrise, agregarea pe
|
||||
linii proprii si pe seturi, coloanele de incasare neatinse) si
|
||||
`...\ff_2026_08_09_02_COMUN_VVANZARI_ARTICOLE.sql` (view-ul, citit integral).
|
||||
|
||||
## Ce am lasat deliberat afara
|
||||
|
||||
- **Totalurile de control / verdictul ACT-RUL** (`ActualizeazaBaraTotaluri`,
|
||||
`ActualizeazaVerdictActRul`, `omodificari.vc2:12966-13105`) - exista in cod si e parte din S4b,
|
||||
dar e o functionalitate de afisare/avertizare, nu parte a fluxului de stergere-scriere-realiniere
|
||||
pe care il documenteaza fisierul tinta. L-am scos ca sa nu ingreunez sectiunea cu un subiect
|
||||
distinct (planul cere explicit doar "ramura de facturi" pe fluxul de modificare/stergere).
|
||||
- **Actiunea de sincronizare cu enumerarea liniilor vechi->noi** - nu exista inca in cod (S4b
|
||||
partial, per `docs\handoff_punct6_dupa_s5.md`), n-am documentat ceva nelivrat.
|
||||
- **Eticheta text "linie din set"** - handoff-ul S5 o mentioneaza, dar in cod (grep pe
|
||||
`omodificari.vc2`) nu exista un literal cu acest text; marcajul e doar vizual, prin
|
||||
`DynamicForeColor` (culoare distincta). Am scris "culoare distincta", nu "eticheta", ca sa nu
|
||||
inventez un text care nu exista.
|
||||
- **Drepturile (tokenul "3", `lactiv3`)** - documentul tinta nu discuta permisiuni pentru niciun
|
||||
flux existent (nici stergerea, nici modificarea simpla), asa ca am pastrat consistenta si n-am
|
||||
adaugat-o nici pentru factura.
|
||||
- **`nom_lucrari`/`gest_inventar`/`atasamente_vanzari`** din `finalizeaza_modificare_nota` - deja
|
||||
documentate mai sus in fisier (sectiunea "Unde"), n-am repetat.
|
||||
|
||||
## Intrebari deschise
|
||||
|
||||
1. **Asimetria de garzi intre cele doua puncte de intrare e by design sau gap de acoperit?**
|
||||
`do_editare_factura` (ROAFACTURARE) verifica eFactura si referinte de incasari/plati;
|
||||
`do_modifica` (Registrul Jurnal, comun tuturor notelor) nu le verifica deloc - doar restrictia
|
||||
generica de luna curenta. Codul confirma asta explicit (am citit ambele metode integral), dar nu
|
||||
pot spune din documentatie daca e o omisiune ramasa din S1 sau o decizie asumata (planul spune
|
||||
doar ca "garzile trebuie sa fie in formular sau in codul comun", fara sa specifice care cale
|
||||
trebuia sa le primeasca). Am documentat faptul, nu l-am calificat drept bug.
|
||||
2. **Eticheta "linie din set"** mentionata in `handoff_s5.md` (decizia 39) nu exista ca text in cod
|
||||
la verificare - posibil ramasa doar la nivel de intentie sau inlocuita de marcajul de culoare in
|
||||
implementarea finala. N-am putut confirma din git log/istoric fara sa ies din scop; las-o ca
|
||||
discrepanta cunoscuta intre document de decizie si livrare.
|
||||
|
||||
Nu am atins niciun fisier de cod (`.prg`/`.vc2`/`.sc2`/`.sql`) si niciun alt fisier de documentatie
|
||||
in afara celui cerut.
|
||||
Reference in New Issue
Block a user