Árvore de páginas

FWGrpMenu - Informações de menu

 

Descrição:
Esta função retorna as informações de menu do grupo de usuários informado. 
Compatível com as Bases de Dados:Todas

Sistemas Operacionais Suportados:

 Todos
Idioma:Português(Brasil)
Exemplos:

#include "protheus.ch"
User Function GrpMenu()
Local aMenu := {{""}}
Local aAllGrp := AllGroups()
Local aGrp := {}
Local oDlg
Local oCbx
Local oList
Local oBtn
Local oPanel1, oPanel2
Local nI
Local cGrp := "" // Armazena os códigos dos grupos de usuários cadastrados
For nI := 1 to len(aAllGrp)
aadd(aGrp, aAllGrp[ni][1][1])
Next
// Monta a janela para exibição dos dados
DEFINE MSDIALOG oDlg TITLE "Teste AllGroups" FROM 010, 010 TO 600, 600 OF oMainWnd PIXEL
@00,00 MSPANEL oPanel1 PROMPT "" SIZE 00,35 OF oDlg
oPanel1:Align := CONTROL_ALIGN_TOP
@ 010, 005 COMBOBOX oCbx VAR cGrp ITEMS aGrp SIZE 080, 012 OF oPanel1 PIXEL
@ 010, 090 BUTTON oBtn PROMPT "Carrega Menu" SIZE 40,11 PIXEL OF oPanel1 ACTION (If(!Empty(cGrp), (LoadMenu(cGrp, @aMenu), RefreshList(@oList, aMenu)), ) )
@00,00 MSPANEL oPanel2 PROMPT "" SIZE 00,200 OF oDlg
oPanel2:Align := CONTROL_ALIGN_ALLCLIENT
@ 005, 005 LISTBOX oList FIELDS HEADER "Menus" SIZE 280, 250 OF oPanel2 PIXEL
oList:SetArray(aMenu)
oList:bLine := {|| {aMenu[oList:nAt] }}
ACTIVATE MSDIALOG oDlg CENTERED
Return
// Carrega as informações do menu do grupo informado
Static Function LoadMenu(cGroup, aMenu)
aMenu := FWGrpMenu(cGroup)
Return
// atualiza a lista de menus no listbox
Static Function RefreshList(oList, aMenu)
oList:SetArray(aMenu)
oList:bLine := {|| {aMenu[oList:nAt]} }
oList:Refresh()
Return

 

Parâmetros: cGrpID - Código do grupo de usuários
Retorno: aMenu

Exemplo:

aMenu[1] - "01X\\system\\SIGAATF.XNU"

aMenu[2] - "025\\system\\SIGACOM.XNU"

Obs: Caso o Grupo não tenha acesso a algum módulo será acrescentado "X" apos o código do módulo,

como mostra o exemplo abaixo.

 
aMenu[1] - "01X\\system\\SIGAATF.XNU"

                   01 - Código do módulo

                    X  -  Mostra que o grupo não tem acesso ao módulo

                    system\\SIGAATF.XNU  -  Diretório do arquivo

 

aMenu[2] - "025\\system\\SIGACOM.XNU"

                   02 - Código do módulo

                    5  -  Mostra nível de acesso

                    system\\SIGAATF.XNU  -  Diretório do arquivo

 

Programa Fonte:
SIGAPSW.PRG 

 

 

Veja Também