Histórico da Página
...
Punto de entrada MVC | Descripción | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MODELPOS | Punto de entrada ejecutado en la validación total del modelo.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FORMPRE | Punto de entrada ejecutado antes de la alteración de cualquier campo de formulario.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FORMPOS | Punto de entrada ejecutado en la validación total del formulario.
| FORMLINEPRE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Parámetros recibidos: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Respuesta: |
|
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#
|
#INCLUDE 'FWMVCDEF.CH'
User Function LOCXIN()
Local aParam := PARAMIXB
Local xRet := .T.
Local oObj := ''
Local cIdPonto := ''
Local cIdModel := ''
Local cAction := ''
Local nLinha := 0
Local nX := 0
Local cIdCpo := 0
If aParam <> NIL
oObj := aParam[1]
cIdPonto := aParam[2]
cIdModel := aParam[3]
If cIdPonto == 'FORMPOS' //Validación total del formulario.
xRet := .T.
If cIdModel == "SF1_MASTER"
If Empty(oObj:GetValue("F1_TPVENT"))
xRet := .F.
Help( ,, "HELP",, "El campo F1_TPVENT debe ser informado.", 1, 0)
EndIf
ElseIf cIdModel == "SD1_DETAIL"
For nX := 1 To oObj:Length()
If Empty(oObj:GetValue("D1_CONTA", nX))
xRet := .F.
Help( ,, "HELP",, "El campo D1_CONTA debe ser informado.", 1, 0)
EndIf
Next
EndIf
EndIf
EndIf
Return xRet |
FORMLINEPRE
Punto de entrada ejecutado antes de la alteración de cualquier campo de formulario.
Parámetros recibidos: |
| |||||||||||||||||||||
Respuesta: |
|
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE 'protheus.ch'
#INCLUDE 'FWMVCDEF.CH'
User Function LOCXIN()
Local aParam := PARAMIXB
Local xRet := .T.
Local oObj := ''
Local cIdPonto := ''
Local cIdModel := ''
Local cAction := ''
Local nLinha := 0
Local nX := 0
Local cIdCpo := 0
If aParam <> NIL
oObj := aParam[1]
cIdPonto := aParam[2]
cIdModel := aParam[3]
If cIdPonto == 'FORMLINEPRE' //Ejecutado antes de la alteración de una línea de formulário FWFORMGRID (Grid)
If cIdModel == "SD1_DETAIL"
cAction := aParam[5]
nLinha := oObj:GetLine()
If cAction == "DELETE" .and. nLinha == 1
xRet := .F. //Retorno de la validación.
Help( ,, "HELP",, "No puede ser eliminada esta linea.", 1, 0)
EndIf
EndIf
EndIf
EndIf
Return xRet |
FORMLINEPOS
Punto de entrada ejecutado al finalizar la edición de una línea.
Parámetros recibidos: |
| |||||||||||||||
Respuesta: |
|
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE 'protheus.ch'
#INCLUDE 'FWMVCDEF.CH'
User Function LOCXIN()
Local aParam := PARAMIXB
Local xRet := .T.
Local oObj := ''
Local cIdPonto := ''
Local cIdModel := ''
Local cAction := ''
Local nLinha := 0
Local nX := 0
Local cIdCpo := 0
If aParam <> NIL
oObj := aParam[1]
cIdPonto := aParam[2]
cIdModel := aParam[3]
If cIdPonto == 'FORMLINEPOS' //Ejecutado al finalizar la edición de una línea de formulário FWFORMGRID (Grid). (Validación de línea)
If cIdModel == "SD1_DETAIL"
nLinha := oObj:GetLine()
If Empty(oObj:GetValue("D1_CC", nLinha))
Help( ,, "HELP",, "El campo D1_CC debe ser informado.", 1, 0)
xRet := .F. //Retorno de la validación.
EndIf
EndIf
EndIf
EndIf
Return xRet |
FORMLINEPOS
Punto de entrada ejecutado al finalizar la edición de una línea.
Parámetros recibidos: |
| |||||||||||||||
Respuesta: |
|
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#
|
Ejemplo completo:
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE 'protheus.ch' #INCLUDE 'FWMVCDEF.CH' User Function LOCXIN() Local aParam := PARAMIXB Local xRet := .T. Local oObj := '' Local cIdPonto := '' Local cIdModel := '' Local cAction := '' Local nLinha := 0 Local nX := 0 Local cIdCpo := 0 If aParam <> NIL oObj := aParam[1] cIdPonto := aParam[2] cIdModel := aParam[3] If cIdPonto == 'MODELPOS' //Validación total del modelo. /*aParam 1 O Objeto del formulário o de modelo, conforme sea el caso 2 C ID local de ejecución del punto de entrada 3 C ID de formulário*/ xRet := .T. If Empty(oObj:GetModel("SF1_MASTER"):GetValue("F1_TPVENT")) xRet := .F. Help( ,, "HELP",, "El campo F1_TPVENT debe ser informado.", 1, 0) EndIf For nX := 1 To oObj:GetModel("SD1_DETAIL"):Length() If Empty(oObj:GetModel("SD1_DETAIL"):GetValue("D1_CONTA", nX)) xRet := .F. Help( ,, "HELP",, "El campo D1_CONTA debe ser informado.", 1, 0) EndIf Next ElseIf cIdPonto == 'FORMPRE' //Ejecutado antes de la alteración de cualquier campo de formulario. //Formulario /*aParam 1 O Objeto del formulário o de modelo, conforme sea el caso 2 C ID local de ejecución del punto de entrada 3 C ID de formulário 4 C Acción de formulario 5 C Id del campo 6 C Dato asignado al campo*/ //Grid /*aParam 1 O Objeto del formulário o de modelo, conforme sea el caso 2 C ID local de ejecución del punto de entrada 3 C ID de formulário 4 N Número de línea de FWFORMGRID 5 C Acción de FWFORMGRID 6 C Id del campo*/ If cIdModel == "SF1_MASTER" cAction := aParam[4] cIdCpo := aParam[5] elseIf cIdModel == "SD1_DETAIL" cAction := aParam[5] cIdCpo := aParam[6] EndIf If cAction == "CANSETVALUE" If cIdCpo == "F1_LOJA" xRet := !Empty(oObj:GetValue("F1_FORNECE")) EndIf ElseIf cAction == "SETVALUE" If cIdCpo == "D1_CF" If Empty(oObj:GetValue("D1_TES")) xRet := .F. Help( ,, "HELP",, "Informe primero un TES", 1, 0) EndIf EndIf EndIf ElseIf cIdPonto == 'FORMPOS' //Validación total del formulario. /*aParam 1 O Objeto del formulário o de modelo, conforme sea el caso 2 C ID local de ejecución del punto de entrada 3 C ID de formulário*/ xRet := .T. If cIdModel == "SF1_MASTER" If Empty(oObj:GetValue("F1_TPVENT")) xRet := .F. Help( ,, "HELP",, "El campo F1_TPVENT debe ser informado.", 1, 0) EndIf ElseIf cIdModel == "SD1_DETAIL" For nX := 1 To oObj:Length() If Empty(oObj:GetValue("D1_CONTA", nX)) xRet := .F. Help( ,, "HELP",, "El campo D1_CONTA debe ser informado.", 1, 0) EndIf Next EndIf ElseIf cIdPonto == 'FORMLINEPRE' //Ejecutado antes de la alteración de una línea de formulário FWFORMGRID (Grid) /*aParam 1 O Objeto del formulário o de modelo, conforme sea el caso 2 C ID local de ejecución del punto de entrada 3 C ID de formulário 4 N Número de línea de FWFORMGRID 5 C Acción de FWFORMGRID 6 C Id del campo*/ If cIdModel == "SD1_DETAIL" cAction := aParam[5] nLinha := oObj:GetLine() If cAction == "DELETE" .and. nLinha == 1 xRet := .F. //Retorno de la validación. Help( ,, "HELP",, "No puede ser eliminada esta linea.", 1, 0) EndIf EndIf ElseIf cIdPonto == 'FORMLINEPOS' //Ejecutado al finalizar la edición de una línea de formulário FWFORMGRID (Grid). (Validación de línea) /*aParam 1 O Objeto del formulário o de modelo, conforme sea el caso 2 C ID local de ejecución del punto de entrada 3 C ID de formulário 4 N Número de línea de FWFORMGRID*/ If cIdModel == "SD1_DETAIL" nLinha := oObj:GetLine() If Empty(oObj:GetValue("D1_CC", nLinha)) Help( ,, "HELP",, "El campo D1_CC debe ser informado.", 1, 0) xRet := .F. //Retorno de la validación. EndIf EndIf EndIf EndIf Return xRet |
...