Dynamiczne SubMenu

Program umożliwia definiowanie pozycji SubMenu które będą wynikały z konfiguracji systemu np. utworzonych przez administratora skorowidzy. W przypadku gdy administrator dopisze nową pozycję skorowidza, program zbuduje automatycznie submenu uwzględniając nowy zapis.

Konfiguracja

Pozycję konfiguracji skorowidza definiuje się w analogiczny sposób jak zwykły statyczny zapis submenu, z tą różnicą że zamiast wskazywać konkretną transakcję do uruchomienia podajemy zapytanie SQL, która ma zwrócić listę pozycji. Lista ta będzie podstawą do zbudowania SubMenu, dlatego zapytanie to musi spełniać określone warunki.

  • Zapytanie musi zwracać 4 kolumny
    • NAME – unikalna identyfikator pozycji submenu np. kod, prx itp.
    • TEKST – treść wyświetlana jako informacja dla użytkownika na ekranie
    • TARGETURL – polecenia do przejścia (uruchomienia) określonej transakcji, po kliknięciu przez użytkownika wybranej pozycji submenu.
    • IKONA – wskazenie jaki obrazek (zalecany rozmiar 24×24) ma być wyświetlony przy pozycji submenu

Przykład zapytania SQL budującego pozycje SubMenu

select kod AS NAME, opis AS TEKST, (‚~/role_sys/x_grid.aspx?status=’+kod) as TARGETURL, IKONA  from x_skorowidze WHERE (PRX = ‚STA’) AND (KOD1 = ‚CRMZD’) AND (AKTYWNE = 1) order by KOLEJNOSC, OPIS

 

W wyniku zapytania otrzymany listę:

0 Planowane ~/role_sys/x_grid.aspx?status=0 ~/images_m/24×24/telephone.png
1 W trakcie realizacji ~/role_sys/x_grid.aspx?status=1 ~/images_m/24×24/user_telephone.png
2 Wykonane ~/role_sys/x_grid.aspx?status=2 ~/images_m/24×24/checks.png
3 Rozliczone ~/role_sys/x_grid.aspx?status=3 ~/images_m/24×24/cash_flow.png
X Anulowane ~/role_sys/x_grid.aspx?status=X ~/images_m/24×24/selection_delete.png

 

Przykład zastosowania

StudioSystem ma zdefiniowany skorowidz statusów

statusy

 

 

Chcemy wyświetlić submenu zawierającą listę tych pozycji, tworzymy więc pozycję w konfiguacji SubMenu wprowadzając zapytanie:

select kod AS NAME, opis AS TEKST, (‚~/role_sys/x_grid.aspx?refno=CRM_WIZYTY&status=’+kod) as TARGETURL, IKONA  from x_skorowidze WHERE (PRX = ‚STA’) AND (KOD1 = ‚CRMZD’) AND (AKTYWNE = 1) order by KOLEJNOSC, OPIS

menu budowane dynamicznie

 

Po zapisaniu na liście parametrów dla dodanej pozycji wpisujemy identyfikator w kolumnie TypDok np. WIZ

lista pozycji submenu

 

Następnym krokiem jest dodanie pozycji menu głównego która uruchomi transakcję role_sys/sub_menu.aspx

definiowanie menu wywołanie submenu

 

 

Gotowe. Można przejeść do modułu użytkownika i wybrać pozycję menu, która wyświetli listę submenu zbudowaną dynamicznie na podstawie zapytania SQL

submenu dynamiczne