Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Puntos de Entrada en MVC (Funcionales)

Aviso
titleImportante

Al utilizar uno de los siguientes Puntos de Entrada, y al tener configurado un mensaje personalizado de error (HELP), este mensaje será priorizado sobre el mensaje de error o información (HELP) descrito desde el módulo configurador (SIGACFG). En caso de no contar con ninguno de los dos mensajes, se mostrará vacío.

Punto  de entrada MVC

Descripcíon

Âncora
F998BRFLT
F998BRFLT

FORMPRE

Punto de entrada con la finalidad de habilitar o deshabilitar el campo Cobrador (FJT_COBRAD) de la tabla Encabezado de Recibo (FJT) y no permitir su edición.

Parámetros recibidos:

Nombre

Tipo

Descripción

PARAMIXB[1]OObjeto del formulario o del modelo, conforme el caso
PARAMIXB[2]CID del local de ejecución del punto de entrada.
PARAMIXB[3]CID del formulario.
PARAMIXB[4]C Acción del FWFORMGRID.
PARAMIXB[5]CID del Campo.
Respuesta:

Nombre

Tipo

Descripción

lRetLSi el valor retornado es .T. el campo Cobrador (FJT_COBRAD) sera habilitado, de lo contrario sera inhabilitado.
Bloco de código
languagejava
firstline1
titleEjemplo:
linenumberstrue
collapsetrue
#include "Protheus.ch"
#include "FWMVCDEF.CH"

User Function FINA887()
    Local aParam    := PARAMIXB
    Local oModel    := aParam[1]
    Local cIdPonto  := ""
    Local cIdModel  := ""
    Local lRet      := .T.

    If aParam <> NIL
        If cIdPonto == 'FORMPRE'
            oModel      := aParam[1]
            cIdPonto    := aParam[2]
            cIdModel    := aParam[3]
            cAccion        := aParam[4]
            cIdCamp        := aParam[5]
            CONOUT('FORMPRE')
            IF cIdModel == 'FJT_MASTER' .AND. cAccion == 'CANSETVALUE' .AND. cIdCamp == 	      
'FJT_COBRAD' //Deshabilitamos en la accion de CANSETVALUE el campo retornando un .F.
                lRet := .F.
            ENDIF
        EndIf
    EndIf
Return lRet

Âncora
FORMLINEPOS
FORMLINEPOS

FORMLINEPOS

Punto de entrada para VALIDAR los datos de retenciones en la rutina de cobros diversos.

Parámetros recibidos:

Nombre

Tipo

Descripción

PARAMIXB[1]OObjeto del formulario o del modelo, conforme el caso
PARAMIXB[2]CID del local de ejecución del punto de entrada.
PARAMIXB[3]CID del Model.
Respuesta:

Nombre

Tipo

Descripción

lRetLSi el valor retornado es .T. el campo es permitido , de lo contrario retornar un .F. 
HELP()ORetornar un mensaje de error para mostrar por que no es permitido el campo.
Bloco de código
languagejava
firstline1
titleEjemplo
linenumberstrue
collapsetrue
#include "Protheus.ch"
#include "FWMVCDEF.CH"

User Function FINA887()
	Local aParam    := PARAMIXB
	Local oModel    := aParam[1]
	Local oModelSEL   := oModel:GetModel("SEL_DETAIL") //Datos correspondientes a los registros de la tabla SEL
	Local cIdPonto  := ""
	Local cIdModel  := ""
	Local lRet      := .T.

	If aParam <> NIL
		oModel      := aParam[1]
		cIdPonto    := aParam[2]
		cIdModel    := aParam[3]

		If cIdPonto == 'FORMLINEPOS'
			CONOUT('FORMLINEPOS')
			IF ALLTRIM(oModelSEL:GetValue("SEL_DETAIL","EL_TIPODOC")) == 'RB'
				Help(,,'Help',,'No se permite una retencion RB',1,0)
				lRet := .F.
			ENDIF
		EndIf
	EndIf
Return lRet

Âncora
F998BRFLT
F998BRFLT

MODELCOMMITNTTS


Punto de entrada para MÓDIFICAR los datos de retenciones en la rutina de cobros diversos.

Parámetros recibidos:

Nombre

Tipo

Descripción

PARAMIXB[1]OObjeto del formulario o del modelo, conforme el caso
PARAMIXB[2]CID del local de ejecución del punto de entrada.
PARAMIXB[3]CID del Model.
Respuesta:

N/A

Bloco de código
languagejava
firstline1
titleEjemplo
linenumberstrue
collapsetrue
#include "Protheus.ch"
#include "FWMVCDEF.CH"

User Function FINA887()
	Local aParam    := PARAMIXB
	Local oModel    := aParam[1]
	Local oModelSEL   := oModel:GetModel("SEL_DETAIL") //Datos correspondientes a los registros de la tabla SEL
	Local cIdPonto  := ""
	Local cIdModel  := ""
	Local lRet      := .T.
	Local nSEL		:= 1


	If aParam <> NIL
		oModel      := aParam[1]
		cIdPonto    := aParam[2]
		cIdModel    := aParam[3]

		If cIdPonto == 'MODELCOMMITNTTS'
			CONOUT('MODELCOMMITNTTS')
			IF cIdModel == 'FINA887'
				For nSEL:= 1 To oModelSEL:Length()
					If oModelSEL:GetValue("EL_TIPODOC",nSEL) $ 'RI|RB|RG|RM|RS|RR'
						SEL->(DbSetOrder(8))
						SEL->(DbGotop())
						SEL->(MsSeek(xFilial("SEL")+oModelSEL:GetValue("EL_SERIE",nSEL)+oModelSEL:GetValue("EL_RECIBO",nSEL)))
						RecLock("SEL",.F.)
						If SEL->(ColumnPos('EL_EJEMPLO')) > 0
							SEL->EL_EJEMPLO := "MODIFI"
						ENDIF
						MsUnlock()
						nSEL := oModelSEL:Length()
					ENDIF
				NEXT
			ENDIF
			CONOUT('BUTTONBAR')
		EndIf
	EndIf
Return lRet

...

User Function FINA887()
Local aParam    := PARAMIXB
Local oModel    := Nil
Local oModelFJT := Nil
Local oModelSEL := Nil
Local cIdPonto  := ""
Local cIdModel  := ""
Local nLineas   := 0
Local nX        := 0
Local lRet      := .T.
 
 
    If aParam <> NIL
        oModel      := aParam[1]
        oModelFJT   := oModel:GetModel("FJT_MASTER") //Datos del encabezado
        oModelSEL   := oModel:GetModel("SEL_DETAIL") //Datos correspondientes a los registros de la tabla SEL
        cIdPonto    := aParam[2]
        cIdModel    := aParam[3]
 
        If cIdPonto == 'MODELPOS'
            If Len(AllTrim(oModelFJT:GetValue("FJT_RECIBO"))) < 12
                Help(Nil,Nil,'Help',Nil,'Tamaño del número de recibo',1,0,Nil,Nil,Nil,Nil,Nil,{"Debe introducir un numero menor a 12"})                      
lRet:= .F.
            EndIf
            nLineas := oModelSEL:Length()
            For nX := 1 To nLineas
               If Empty(oModelSEL:GetValue("EL_NUMERO",nX)) .AND. lRet
                    lRet                    lRet := .F.
                  IF lRet == .F.
                    Help(Nil,Nil,'Help',Nil,'Numero no informado',1,0,Nil,Nil,Nil,Nil,Nil,{"Debe introducir un numero"})
                  ENDIF
                EndIf
            Next nX
        ElseIf cIdPonto == 'MODELCOMMITTTS'
            //'Llamada después de la grabación total del modelo y dentro de la transacción (MODELCOMMITTTS).'
        ElseIf cIdPonto == 'MODELCOMMITNTTS'
            //'Llamada después de la grabación total del modelo y fuera de la transacción (MODELCOMMITNTTS).'
        ElseIf cIdPonto == 'FORMCOMMITTTSPOS'
            //'Llamada después de la grabación de la tabla del formulario (FORMCOMMITTTSPOS).
        EndIf
    EndIf
 
Return lRet

...