sync SVN r18094

This commit is contained in:
2026-09-11 11:43:44 +03:00
parent 3996a4cced
commit 9aff8509c5
2 changed files with 14 additions and 1 deletions

View File

@@ -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

View File

@@ -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