Descrição
O ponto de entrada ADMSELFIL foi implementado para substituir a tela padrão de seleção de filiais apresentada pela função AdmOpcoes(), de forma que o usuário possa escolher as filiais desejadas sem uma tela, ou criar sua própria tela para seleção das filiais. Especialidade para atender ao modelo de sigamat "EE|FF".
Ponto de Entrada
Descrição: | O ponto de entrada ADMSELFIL será executado sempre que utilizada a função AdmGetFil() e permitirá que o usuário selecione as filiais da forma desejada, por tela ou sem interface gráfica. | ||||||||
Localização: | Todas as rotinas de Adm que atendem à gestão corporativa. Ex: FINA241, FINR130, ATFA450, ATFR070, CTBR400. | ||||||||
Eventos: | Pergunta "Seleciona Filiais?" | ||||||||
Programa Fonte: | AdmXFun.PRW | ||||||||
Função: | AdmGetFil() | ||||||||
Retorno: |
|
Nota: Caso a rotina fazer a busca da função AdmSelecFil() ou FwSelectGC() para utilizá-las ao invés da AdmGetFil(), o ponto de entrada não será executado.
Exemplo:
#Include 'Protheus.ch'
User Function ADMSELFIL()
Local cTitle := ParamIxb[1] // Utilizado para montagem de tela, se desejado
Local aOpcs := ParamIxb[2] // Array contendo filial, nome da empresa e CGC
Local cOpcs := ParamIxb[3] // aOpcs macro-executado armazenando apenas o codigo da filial
Local nTamFil:= ParamIxb[4] // Tamanho da filial
Local aRet := {} // Retorno das filiais selecionadas
Local nI := 0
Alert("Ponto de entrada ADMSELFIL executado.")
If MsgYesNo("Deseja selecionar todas as filiais?")
For nI := 1 to Len(aOpcs)
AADD(aRet, PadR(aOpcs[nI][1], nTamFil) )
Next
Else
For nI := 1 to Len(aOpcs)
If MsgYesNo("Deseja selecionar a filial ( "+aOpcs[nI][2]+" ) ?")
AADD(aRet, aOpcs[nI][1])
MsgAlert("Filial "+aOpcs[nI][2]+" selecionada.")
EndIf
Next
If Empty(aRet)
aRet := cFilAnt
EndIf
EndIf
Return aRet