Histórico da Página
Los puntos de entrada utrilizados utilizados en las rutinas de documentos fiscales (MATA101N, MATA102N, MATA466N) no se encuentran disponibles dentro de las nuevas rutinas de documentos fiscales, sin embargo; por medio de los puntos de entrada padrón de MVC es posible realizar validaciones de datos en los documentos de entrada, como se ejemplifican la información a continuación.
...
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 |
Aviso | ||
---|---|---|
| ||
La función función de usuario debe llamarse "LOCXIN", sin embargo; es importante que el nombre del fuente no sea "LOCXIN". Para más información verificar: Punto de entrada padrón MVC |
Puntos de entrada descontinuados.
Los puntos de entrada citados a continuación no tienen funcionalidad dentro de las rutinas COMA221, COMA222, COMA223, COMA224.
Punto de entrada | Descripción |
---|---|
LOCXPE4| MT100GRV | Punto de entrada pre grabación de la nota. |
LOCXPE5 | Punto de entrada post grabación del libro fiscal. |
LOCXPE6 | A103VLR | Punto de entrada para alterar valor total de la nota para base de calculo de los titulos. |
LOCXPE7 | GQREENTR | Punto de entrada para integración con Celerina. |
LOCXPE8 | M466SF1 | Punto de entrada post grabación de enecabezado. |
LOCXPE9 | Punto de entrada post grabaciones de campos del encabezado. |
LOCXPE11 | A466CRTO | Punto de entrada post grabaciones finalizada la transacción. |
LOCXPE13 | Punto de entrada para alterar cantidad de la segunda unidad de medida. |
LOCXPE14 | M466SD1 | Punto de entrada post actualizaciones de cada item. |
LOCXPE15 | Punto de entrada para ejecutar rdmakes para tratamiento especifico. |
LOCXPE16 | MT100TOK | Punto de entrada para incluir validaciones en el tudook. |
LOCXPE17 | MT100LOK | Punto de entrada para agregar validaciones de linea. |
LOCXPE19 | A100F4CP | Punto de entrada para notas de entrada que no sea devoluciones para agregar teclas. |
LOCXPE24 | M460NUM | Punto de entrada para numeración de NF. |
LOCXPE30 | Punto de entrada para colocar campos obligatorios. |
LOCXPE37 | Punto de entrada post grabación de SE1/SE2. |
LOCXPE38 | Punto de entrada post grabación de SE1/SE2. |
LOCXPE45 | M101SER | Punto de entrada para alterar serie de NF. |
LOCXPE62 | Punto de entrada para fecha de emisión. |
LOCXPE68 | Punto de entrada para manipular los valores de costo de entrada en las monedas. |
LOCXPE72 | Punto de entrada para incluir campos de usuario al encabezado del documento. |
LOCXPE74 | Punto de entrada para permitir alterar la provincia de entrega. |
A103CND2 | Punto de entrada para alterar condición de pago. |
LXHORANFIS | Punto de entrada para ajustar valor del campo F1_HORA. |
LOCXDREM | Punto de entrada para descripción del Remito. |
M100L001 | Punto de entrada para actualizar la tasa en los tablos las tablas fiscales. |
MAGENTE | Punto de entrada para verificar si es agente de percepción de IVA. |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas