#include "protheus.ch"
User Function GrpEmp()
Local aEmp := {{""}}
Local aAllGrp := AllGroups()
Local aGrp := {}
Local oDlgLocaloDlg
Local oCbx Local oListLocal oBtn
Local oList
Local oBtn
Local oPanel1, oPanel2Local nI oPanel2
Local nI
Local cGrp := ""
// Armazena os códigos dos grupos de usuários cadastradosForcadastrados
For nI := 1 to len(aAllGrp)
aadd(aGrp, aAllGrp[ni][1][1])
Next
// Monta a janela para exibição dos dadosDEFINEdados
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 Empresas" SIZE 60,11 PIXEL OF oPanel1 ACTION (If(!Empty(cGrp), (LoadEmp(cGrp, @aEmp), RefreshList(@oList, aEmp)), ) )
@00,00 MSPANEL oPanel2 PROMPT "" SIZE 00,200 OF oDlg
oPanel2:Align := CONTROL_ALIGN_ALLCLIENT
@ 005, 005 LISTBOX oList FIELDS HEADER "Empresa\Filial" SIZE 280, 250 OF oPanel2 PIXEL
oList:SetArray(aEmp)
oList:bLine := {|| {aEmp[oList:nAt] }}
ACTIVATE MSDIALOG oDlg CENTERED Return
Return
// Carrega as informações de empresa\filial do grupo informadoStaticinformado
Static Function LoadEmp(cGroup, aEmp)
aEmp := FWGrpEmp(cGroup) Return
Return
// atualiza a lista de empresa\filial no listboxStaticlistbox
Static Function RefreshList(oList, aEmp)
oList:SetArray(aEmp)
oList:bLine := {|| {aEmp[oList:nAt]} }
oList:Refresh()
Return