1. Puntos de Entrada en fuente
2. Puntos de entrada en MVC (Estándares)
ID DEL PUNTO DE ENTRADA | MOMENTO DE EJECUCIÓN DEL PUNTO DE ENTRADA |
MODELPRE | Antes de la alteración de cualquier campo del modelo. 1 O Objeto del formulario ó del modelo, conforme el caso. Retorno: |
MODELPOS | En la validación total del modelo 1 O Objeto del formulario o del modelo, conforme el caso. Retorno: |
FORMPRE | Antes de la alteración de cualquier campo del formulario. Parámetros recibidos: 1 O Objeto del formulario o del modelo, conforme el caso. Retorno: |
FORMPOS | En la validación total del formulario. Parámetros recibidos: 1 O Objeto del formulario o del modelo, conforme el caso. Retorno: |
FORMLINEPRE | Antes de la alteración de la línea del formulario FWFORMGRID. 1 O Objeto del formulario o del modelo, conforme al caso. Retorno: |
FORMLINEPOS | En la validación total de la línea del formulario FWFORMGRID. 1 O Objeto do formulário ou do modelo, conforme o caso Retorno: |
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. 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. Retorno: |
FORMCOMMITTTSPRE | Antes da gravação da tabela do formulário. Parâmetros Recebidos: 1 O Objeto del formulario o del modelo, conforme el caso. Retorno: |
FORMCOMMITTTSPOS | 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. Retorno: |
MODELCANCEL | El botón de cancelar. Parámetros recibidos: 1 O Objeto del formulario o del modelo, conforme el caso. Retorno: |
BUTTONBAR | 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. Parâmetros Recebidos: 1 O Objeto del formulario o del modelo, conforme el caso. Retorno: |
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 MVC | Descripcíon | |||||||||||||||||||||||||||||
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.
| |||||||||||||||||||||||||||||
FORMLINEPOS | Punto de entrada para VALIDAR los datos de retenciones en la rutina de cobros diversos.
| |||||||||||||||||||||||||||||
MODELCOMMITNTTS | Punto de entrada para MÓDIFICAR los datos de retenciones en la rutina de cobros diversos.
|
Generales:
México:
Perú:
Sentencia When
General:
Argentina/Colombia
Chile/Perú
México
Ejemplo:
User Function FINA887() |
FINA887.PRX
User Function FINA887() |
FN998CARGA.PRW
#Include "protheus.ch" //Importación de formas de pago a partir de archivo .CSV al modelo SEL_DETAIL (formas de pago de la tabla SEL) User Function FN998CARGA(oModel) //Nota: En Totvs Recibo (FINA998), las variables aHeaders y aCols nao existen como private, por lo que la función gdFieldPos no se puede utilizar Local aArea := getArea() //Inicializa la variable aCols con valores por defecto a partir del tamaño de aHeader If MsgYesNo("Deseja importar arquivo .csv ?", "Cheques") //Actualización al modelo SEL_DETAIL en grid If !Empty(aCols[nC][nPosNro]) // Se verifica que el campo EL_NUMERO no este vacío para identificar que el registro de aCols es válido restArea(aArea) RETURN **************************************************** Local nLinha := 0 //Se lee el archivo .csv If Len(cFOpen) > 0 .And. FILE(cFOpen) nNumReg := FT_FLastRec() If nLinha+1 == nNumReg aDados := Separa(FT_FReadln(),';') cValor := StrTran(Substr(aDados[7],2),".","") aBcoCh := fRetBcoCh(aDados[2]) aCols[nLinha][nPosObs] := aDados[2] Return ************************************ Local cQuery := "", aRet := {"","",""} cQuery := "SELECT FJN_COD, FJN_AGENCI, FJN_POSTAL, FJO_NOME " If Select("QRY") <> 0 dbUseArea(.T.,"TOPCONN",TcGenQry(,,cQuery),"QRY",.T.,.T.) If !QRY->(Eof()) QRY->(dbCloseArea()) Return(aRet) /*/{Protheus.doc} addLine Aadd(aCols, Array(Len(aHeader))) |
Nota:
El cIdPonto igual a BUTTONBAR adiciona un nuevo botón en la pantalla de carga de formas de pago y detona una función, para esto es necesario habilitar el parámetro MV_FPADVPL igual a .T. para utilizar la pantalla ADVPL de carga de formas de pago. Para más información véase el siguiente documento: https://tdn.totvs.com/x/kBNdMg