...
| |
| Punto de entrada ejecutado en la validación total del modelo. | 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. |
| | Respuesta: | Nombre | Tipo | Descripción |
|---|
| lRet | L | .T. indica que no hay errores. |
|
| Bloco de código |
|---|
| language | java |
|---|
| firstline | 1 |
|---|
| title | Ejemplo: |
|---|
| linenumbers | true |
|---|
| collapse | true |
|---|
| #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.
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
EndIf
EndIf
Return xRet |
|
| Punto de entrada ejecutado antes de la alteración de cualquier campo de formulario. | Parámetros recibidos: | Formulario. 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 de formulario. | | PARAMIXB[5] | C | ID del Campo. | | PARAMIXB[5] | C | Dato asignado al campo |
Grid. 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] | N | Número de línea de FWFORMGRID | | PARAMIXB[5] | C | Acción del FWFORMGRID. | | PARAMIXB[6] | C | ID del Campo. |
| | Respuesta: | Nombre | Tipo | Descripción |
|---|
| lRet | L | "CANSETVALUE" - Indica si el campo puede ser editado. "SETVALUE" - Indica si el valor no puede ser atribuido. |
|
| Bloco de código |
|---|
| language | java |
|---|
| firstline | 1 |
|---|
| title | Ejemplo: |
|---|
| linenumbers | true |
|---|
| collapse | true |
|---|
| #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 == 'FORMPRE' //Ejecutado antes de la alteración de cualquier campo de formulario.
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
EndIf
EndIf
Return xRet |
|
| Punto de entrada ejecutado en la validación total del formulario. | 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. |
| | Respuesta: | Nombre | Tipo | Descripción |
|---|
| lRet | L | En caso de que el formulario esté correcto retornar .T., si existen errores retornar .F. |
|
| Bloco de código |
|---|
| language | java |
|---|
| firstline | 1 |
|---|
| title | Ejemplo: |
|---|
| linenumbers | true |
|---|
| collapse | true |
|---|
| #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 == '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 |
|
| Punto de entrada ejecutado antes de la alteración de cualquier campo de formulario. | 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] | N | Número de línea de FWFORMGRID | | PARAMIXB[5] | C | Acción del FWFORMGRID. | | PARAMIXB[6] | C | ID del Campo. |
| | Respuesta: | Nombre | Tipo | Descripción |
|---|
| lRet | L | Indica si permite alterar la línea .T., en caso contrario .F. |
|
| Bloco de código |
|---|
| language | java |
|---|
| firstline | 1 |
|---|
| title | Ejemplo: |
|---|
| linenumbers | true |
|---|
| collapse | true |
|---|
| #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 |
|
| Punto de entrada ejecutado al finalizar la edición de una línea. | 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. | | PARAMIXB[4] | N | Número de línea. |
| | Respuesta: | Nombre | Tipo | Descripción |
|---|
| lRet | L | Si el valor retornado es .T. si la línea no tiene errores, en caso de existir un error retornar .F. |
|
| Bloco de código |
|---|
| language | java |
|---|
| firstline | 1 |
|---|
| title | Ejemplo |
|---|
| linenumbers | true |
|---|
| collapse | true |
|---|
| #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 |
|
| Punto de entrada ejecutado posterior al grabado/borrado dentro de la transacció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. |
| | Respuesta: | No espera retorno. |
| Bloco de código |
|---|
| language | java |
|---|
| firstline | 1 |
|---|
| title | Ejemplo |
|---|
| linenumbers | true |
|---|
| collapse | true |
|---|
| #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 == "MODELCOMMITTTS"
/*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*/
If oObj:GetOperation() == 3 //Inclusión
MsgAlert("Documento " + oObj:GetModel("SF1_MASTER"):GetValue("F1_DOC") + " guardado." )
ElseIf oObj:GetOperation() == 5 //Borrado
MsgAlert("Documento " + oObj:GetModel("SF1_MASTER"):GetValue("F1_DOC") + " borrado." )
EndIf
EndIf
EndIf
Return xRet |
|
| Punto de entrada ejecutado posterior al grabado/borrado después de la transacció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. |
| | Respuesta: | No espera retorno. |
| Bloco de código |
|---|
| language | java |
|---|
| firstline | 1 |
|---|
| title | Ejemplo |
|---|
| linenumbers | true |
|---|
| collapse | true |
|---|
| #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 == "MODELCOMMITNTTS"
/*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*/
If oObj:GetOperation() == 3 //Inclusión
MsgAlert("Transacción de la inclusión del documento " + oObj:GetModel("SF1_MASTER"):GetValue("F1_DOC") + " finalizada." )
ElseIf oObj:GetOperation() == 5 //Borrado
MsgAlert("Transacción del borrado del documento " + oObj:GetModel("SF1_MASTER"):GetValue("F1_DOC") + " finalizada." )
EndIf
EndIf
EndIf
Return xRet |
|
...
El sistema da aviso en caso de tener alguno de estos Puntos de Entrada compilados:

| Informações |
|---|
Los puntos de entrada que inician como "LOCXPE" (Ejemplo: LOCXPE33, LOCXPE35) utilizados en las rutinas de Factura de entrada, Remito de Entrada, Nota de Débito Proveedor y Nota de Crédito Interna no serán ejecutados dentro de estas rutinas de documentos fiscales de entrada. |
Personalización de pantalla.
...