...
ID DEL PUNTO DE ENTRADA | MOMENTO DE EJECUCIÓN DEL PUNTO DE ENTRADA |
MODELPRE | Antes de la alteración de cualquier campo del modelo. Parámetros recibidos: 1 O Objeto del formulario ó del modelo, conforme el caso. 2 C ID del local de ejecución del punto de entrada. 3 C ID del formulario. Retorno: Requiere un retorno lógico. |
MODELPOS | En la validación total del modelo Parámetros recibidos: 1 O Objeto del formulario o del modelo, conforme el caso. 2 C ID del local de ejecución del punto de entrada. 3 C ID del formulario. Retorno: Requiere un retorno lógico. |
| Antes de la alteración de cualquier campo del formulario. Parámetros recibidos: 1 O Objeto del formulario o del modelo, conforme el caso. 2 C ID del local de ejecución del punto de entrada. 3 C ID del formulario. 4 C Acción del FWFORMGRID. 5 C ID del Campo.
Retorno: Requiere un retorno lógico. |
| En la validación total del formulario. Parámetros recibidos: 1 O Objeto del formulario o del modelo, conforme el caso. 2 C ID del local de ejecución del punto de entrada. 3 C ID del formulario. Retorno: Requiere un retorno lógico. |
| Antes de la alteración de la línea del formulario FWFORMGRID. Parámetros recibidos: 1 O Objeto del formulario o del modelo, conforme al caso. 2 C ID del local de ejecución del punto de entrada. 3 C ID del formulario. 4 N Numero de linea del FWFORMGRID 5 C Acción del FWFORMGRID 6 C Id del campo Retorno: Requiere un retorno lógico. |
| En la validación total de la línea del formulario FWFORMGRID. Parámetros recibidos: 1 O Objeto do formulário ou do modelo, conforme o caso 2 C ID do local de execução do ponto de entrada 3 C ID do formulário 4 N Número da Linha da FWFORMGRID Retorno: Requiere un retorno lógico. |
MODELCOMMITTTS | Despúes de la grabación total del modelo y dentro de la transacción. Parámetros Recibidos: 1 O Objeto del formulario del modelo, conforme el caso. 2 C ID del local de ejecución del punto de entrada. 3 C ID del formulario. Retorno: No espera retorno. |
MODELCOMMITNTTS | Después de la grabación total del modelo y fuera de la transacción. Parámetros recibidos: 1 O Objeto del formulario o del modelo, conforme el caso. 2 C ID del local de ejecución del punto de entrada. 3 C ID del formulario. Retorno: No espera retorno |
| Antes da gravação da tabela do formulário. Parâmetros Recebidos: 1 O Objeto del formulario o del modelo, conforme el caso. 2 C ID del local de ejecución del punto de entrada. 3 C ID del formulario. 4 L Si es .T. indica nuevo registro (inclusión) si es .F. registro ya existente (Alteración/ Exclusión) Retorno: No espera retorno. |
| Después de la grabación de la tabla del formulario. Parâmetros Recebidos: 1 O Objeto del formulario o del modelo, conforme el caso. 2 C ID del local de ejecución del punto de entrada. 3 C ID del formulario. 4 L Si es .T. indica nuevo registro (inclusión) si es .F. registro ya existente (Alteración/ Exclusión) Retorno: No espera retorno. |
MODELCANCEL | El botón de cancelar. Parámetros recibidos: 1 O Objeto del formulario o del modelo, conforme el caso. 2 C ID del local de ejecución del punto de entrada. 3 C ID del formulario. Retorno: No espera retorno. |
| Incluir botones en el ControlBar. Para crear los botones se debe retornar un array bidimensional con la siguiente estructura de cada ítem: 1 C Titulo para el botón. 2 C Nombre del Bitmap para mostrar. 3 B CodeBlock a ser ejecutado. 4 C ToolTip (Opcional) Parâmetros Recebidos: 1 O Objeto del formulario o del modelo, conforme el caso. 2 C ID del local de ejecución del punto de entrada. 3 C ID del formulario. Retorno: Array con la estructura pre-definida. |
...
Usos de los Puntos de Entrada
...
estándares de MVC
Aviso |
---|
|
Al utilizar uno de los siguientes Puntos de Entrada MVC, y al tener configurado un mensaje personalizado de error (HELP), este mensaje del Punto de Entrada 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 (HELP), se mostrará vacío el detalle del mensaje. Este comportamiento también se aplica al título del mensaje configurado en el HELP.
Ejemplos: 
|
| |
| 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] | O | Objeto del formulario o del modelo, conforme el caso | PARAMIXB[2] | C | ID del local de ejecución del punto de entrada. | PARAMIXB[3] | C | ID del formulario. | PARAMIXB[4] | C | Acción del FWFORMGRID. | PARAMIXB[5] | C | ID del Campo. |
| Respuesta: | Nombre | Tipo | Descripción |
---|
lRet | L | Si el valor retornado es .T. el campo Cobrador (FJT_COBRAD) sera habilitado, de lo contrario sera inhabilitado. |
|
Bloco de código |
---|
language | java |
---|
firstline | 1 |
---|
title | Ejemplo: |
---|
linenumbers | true |
---|
collapse | true |
---|
| #include "Protheus.ch"
#include "FWMVCDEF.CH"
User Function FINA887()
Local aParam := PARAMIXB
Local oModel := aParam[1]
Local cIdPonto := aParam[2]
Local cIdModel := ""
Local lRet := .T.
If aParam <> NIL
If cIdPonto == 'FORMPRE'
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 |
|
| Punto de entrada para VALIDAR los datos de retenciones en la rutina de cobros diversos. Parámetros recibidos: | Nombre | Tipo | Descripción |
---|
PARAMIXB[1] | O | Objeto del formulario o del modelo, conforme el caso | PARAMIXB[2] | C | ID del local de ejecución del punto de entrada. | PARAMIXB[3] | C | ID del Model. |
| Respuesta: | Nombre | Tipo | Descripción |
---|
lRet | L | Si el valor retornado es .T. el campo es permitido , de lo contrario retornar un .F. | HELP() | O | Retornar un mensaje de error para mostrar por que no es permitido el campo. |
|
Bloco de código |
---|
language | java |
---|
firstline | 1 |
---|
title | Ejemplo |
---|
linenumbers | true |
---|
collapse | true |
---|
| #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
|
|
| 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] | O | Objeto del formulario o del modelo, conforme el caso | PARAMIXB[2] | C | ID del local de ejecución del punto de entrada. | PARAMIXB[3] | C | ID del Model. |
| Respuesta: | N/A |
Bloco de código |
---|
language | java |
---|
firstline | 1 |
---|
title | Ejemplo |
---|
linenumbers | true |
---|
collapse | true |
---|
| #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
|
|
...
Campos de validaciones para el punto de entrada
Generales:
- EL_LOJA = Tienda del cliente.
- EL_LOJORIG = Tienda original.
- EL_TIPO = Tipo de título.
- EL_BCOCHQ = Banco Cheque.
...
- EL_CEPCAD = Cadena CEP.
- EL_CEPCER = Certificado CEP.
- EL_CEPSEL = Sello CEP.
- EL_CEPTIP = Tipo CEP.
- EL_CTABEN = Cuenta beneficiario.
- EL_CTAORD = Cuenta ord.
- EL_RFCEMI = RFC Emisor.
- EL_TPCRED = Tipo de crédito.
Ejemplo de punto de entrada:
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 := .F. Help(Nil,Nil,'Help',Nil,'Numero no informado',1,0,Nil,Nil,Nil,Nil,Nil,{"Debe introducir un numero"}) 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 |