Descripción

El punto de entrada ADMSELFIL se implementó para sustituir la pantalla estándar de selección de sucursales mostrada por la función AdmOpcoes(), de tal manera que el usuario pueda seleccionar las sucursales deseadas sin una pantalla, o crear su propia pantalla para selección de las sucursales. Especialidad para atender al modelo de sigamat "EE|FF".


Punto de entrada

Descripción:

El punto de entrada ADMSELFIL se ejecutará siempre que se utilice la función AdmGetFil() y permitirá que el usuario seleccione las sucursales de la forma deseada, por pantalla o sin interfaz gráfica.

Ubicación:

Todas las rutinas de Adm que atienden a gestión corporativa. Ej: FINA241, FINR130, ATFA450, ATFR070, CTBR400.

Eventos:

Pregunta "¿Selecciona sucursales?"

Programa fuente:

AdmXFun.PRW

Función:

AdmGetFil()

Devolución:

Nombre

Tipo

Descripción

Obligatorio

 aRet

Array

Contiene las sucursales seleccionadas

 Nota: Si la rutina hiciera la búsqueda de la función AdmSelecFil() o FwSelectGC() para utilizarlas en lugar de AdmGetFil(), el punto de entrada no se ejecutará.Ejemplo:

#Include 'Protheus.ch'


User Function ADMSELFIL()


Local cTitle := ParamIxb[1]  // Se utiliza para montaje de la pantalla, si se deseara

Local aOpcs  := ParamIxb[2] // Array con la sucursal, nombre de la empresa y RCPJ

Local cOpcs  := ParamIxb[3] // aOpcs macroejecutado almacenando solamente el código de la sucursal

Local nTamFil:= ParamIxb[4] // Tamaño de la sucursal

Local aRet   := {}                 // Devolución de las sucursales seleccionadas

Local nI     := 0


Alert("Punto de entrada ADMSELFIL ejecutado.")


If MsgYesNo("¿Desea seleccionar todas las sucursales?")

      For nI := 1 to Len(aOpcs)

            AADD(aRet, PadR(aOpcs[nI][1], nTamFil) )

      Next

Else

      For nI := 1 to Len(aOpcs)

            If MsgYesNo("¿Desea seleccionar la sucursal ( "+aOpcs[nI][2]+" ) ?")

                  AADD(aRet, aOpcs[nI][1])

                  MsgAlert("Sucursal "+aOpcs[nI][2]+" seleccionada.")

            EndIf

      Next

      If Empty(aRet)

            aRet := cFilAnt

      EndIf

EndIf


Return aRet