From 9aff8509c5f04894218f683f821ccbb24db6456c Mon Sep 17 00:00:00 2001 From: Marius Mutu Date: Fri, 11 Sep 2026 11:43:44 +0300 Subject: [PATCH] sync SVN r18094 --- docs/scripturi-migrare-db.md | 12 ++++++++++++ programe/acces_meniu.prg | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/docs/scripturi-migrare-db.md b/docs/scripturi-migrare-db.md index fa1215d..61d5bcf 100644 --- a/docs/scripturi-migrare-db.md +++ b/docs/scripturi-migrare-db.md @@ -127,6 +127,18 @@ Optiunea devine vizibila prin `COMUN\programe\acces_meniu.prg`, care citeste `contafin_oracle.vdef_util_obiecte` pentru utilizatorul si programul curent si activeaza obiectele de clasa `cw` a caror cheie (literele nodurilor + `COD`) se regaseste acolo. +Pentru **barele din meniul propriu-zis** (nu butoanele `cw`) cheia porneste din nodul `Z` ("Meniu"): +`dezactiveaza_meniuri(90)` parcurge lista `laPad`, **hardcodata per `gnIdProgram`** in acelasi +`acces_meniu.prg`, si construieste `Z` + `CHR(64+j)` pentru pad-ul j, plus `01`, `02`... pentru +barele lui; ce nu se regaseste in `vdef_util_obiecte` primeste `SET SKIP OF BAR`. Deci o optiune de +meniu noua cere trei lucruri, nu doua: randul in `DEF_OBIECTE`, intrarea in `laPad` si numele +popup-ului din `.mnx` **identic** cu textul din `laPad` (max 10 caractere). Nepotrivirea nu da +eroare: `CNTBAR` intoarce 0, `TRY/CATCH` inghite, si drepturile nu se aplica deloc - asa e azi in +ROACONT, unde `laPad[5] = [eFactura]` nu corespunde popup-ului real `SPVeFactur`. + +Optiunile de meniu sunt frunze: spre deosebire de butoanele `cw`, nu au sub ele obiecte de acces +(`1`=adaugare ... `4`=vizualizare), deci dreptul se acorda direct pe frunza. + ## Compatibilitate cu serverele clientilor Serverul de dezvoltare e mai nou decat serverele clientilor, deci un script care trece local poate diff --git a/programe/acces_meniu.prg b/programe/acces_meniu.prg index 45dcbac..a00d8d0 100644 --- a/programe/acces_meniu.prg +++ b/programe/acces_meniu.prg @@ -176,8 +176,9 @@ Procedure dezactiveaza_meniuri() laPad[4] = [_5100zlkwx] laPad[5] = [eFactura] Case gnIdProgram = 5 && ROAGEST - Dimension laPad[1] + Dimension laPad[2] laPad[1] = [actualizar] + laPad[2] = [eFactura] Case gnIdProgram = 8 && ROAAUTO Return Case gnIdProgram = 7 && ROAMANAGER