Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Los puntos de entrada 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.


Punto  de entrada MVC

Descripción

MODELPOS

Punto de entrada ejecutado en la validación total del modelo.

Parámetros recibidos:

Nombre

Tipo

Descripción

PARAMIXB[1]OObjeto del formulario o del modelo, conforme el caso
PARAMIXB[2]CID del local de ejecución del punto de entrada.
PARAMIXB[3]CID del formulario.
Respuesta:

Nombre

Tipo

Descripción

lRetL.T. indica que no hay errores.
Bloco de código
languagejava
firstline1
titleEjemplo:
linenumberstrue
collapsetrue
#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




FORMPRE

Punto de entrada ejecutado antes de la alteración de cualquier campo de formulario.

Parámetros recibidos:

Formulario.

Nombre

Tipo

Descripción

PARAMIXB[1]OObjeto del formulario o del modelo, conforme el caso
PARAMIXB[2]CID del local de ejecución del punto de entrada.
PARAMIXB[3]CID del formulario.
PARAMIXB[4]C Acción Acción de formulario.
PARAMIXB[5]CID del Campo.
PARAMIXB[5]CDato asignado al campo

Grid.

Nombre

Tipo

Descripción

PARAMIXB[1]OObjeto del formulario o del modelo, conforme el caso
PARAMIXB[2]CID del local de ejecución del punto de entrada.
PARAMIXB[3]CID del formulario.
PARAMIXB[4]NNúmero de línea de FWFORMGRID
PARAMIXB[5]C Acción Acción del FWFORMGRID.
PARAMIXB[6]CID del Campo.
Respuesta:

Nombre

Tipo

Descripción

lRetL

"CANSETVALUE" - Indica si el campo puede ser editado.

"SETVALUE" -  Indica si el valor no puede ser atribuido.

Bloco de código
languagejava
firstline1
titleEjemplo:
linenumberstrue
collapsetrue
#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

FORMPOS

Punto de entrada ejecutado en la validación total del formulario.

Parámetros recibidos:

Nombre

Tipo

Descripción

PARAMIXB[1]OObjeto del formulario o del modelo, conforme el caso
PARAMIXB[2]CID del local de ejecución del punto de entrada.
PARAMIXB[3]CID del formulario.
Respuesta:

Nombre

Tipo

Descripción

lRetL

En caso de que el formulario esté correcto retornar .T., si existen errores retornar .F.

Bloco de código
languagejava
firstline1
titleEjemplo:
linenumberstrue
collapsetrue
#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 



FORMLINEPRE

Punto de entrada ejecutado antes de la alteración de cualquier campo de formulario.

Parámetros recibidos:

Nombre

Tipo

Descripción

PARAMIXB[1]OObjeto del formulario o del modelo, conforme el caso
PARAMIXB[2]CID del local de ejecución del punto de entrada.
PARAMIXB[3]CID del formulario.
PARAMIXB[4]NNúmero de línea de FWFORMGRID
PARAMIXB[5]C Acción Acción del FWFORMGRID.
PARAMIXB[6]CID del Campo.
Respuesta:

Nombre

Tipo

Descripción

lRetL

Indica si permite alterar la línea .T., en caso contrario .F.

Bloco de código
languagejava
firstline1
titleEjemplo:
linenumberstrue
collapsetrue
#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:

Nombre

Tipo

Descripción

PARAMIXB[1]OObjeto del formulario o del modelo, conforme el caso
PARAMIXB[2]CID del local de ejecución del punto de entrada.
PARAMIXB[3]CID del Model.
PARAMIXB[4]NNúmero de línea.
Respuesta:

Nombre

Tipo

Descripción

lRetLSi el valor retornado es .T. si la línea no tiene errores, en caso de existir un error retornar .F.
Bloco de código
languagejava
firstline1
titleEjemplo
linenumberstrue
collapsetrue
#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 

MODELCOMMITTTS

Punto de entrada ejecutado posterior al grabado/borrado dentro de la transacción.

Parámetros recibidos:

Nombre

Tipo

Descripción

PARAMIXB[1]OObjeto del formulario o del modelo, conforme el caso
PARAMIXB[2]CID del local de ejecución del punto de entrada.
PARAMIXB[3]CID del formulario.
Respuesta:

No espera retorno.

Bloco de código
languagejava
firstline1
titleEjemplo
linenumberstrue
collapsetrue
#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 


MODELCOMMITNTTS

Punto de entrada ejecutado posterior al grabado/borrado después de la transacción.

Parámetros recibidos:

Nombre

Tipo

Descripción

PARAMIXB[1]OObjeto del formulario o del modelo, conforme el caso
PARAMIXB[2]CID del local de ejecución del punto de entrada.
PARAMIXB[3]CID del formulario.
Respuesta:

No espera retorno.

Bloco de código
languagejava
firstline1
titleEjemplo
linenumberstrue
collapsetrue
#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 


...

Los puntos de entrada citados a continuación, no tienen funcionalidad dentro de las rutinas COMA221, COMA222, COMA223 , y COMA224.


Punto de entradaDescripciónPunto de entrada sugerido
LOCXPE4| MT100GRV  Punto de entrada pre grabación de la nota.FORMPOS
LOCXPE5Punto de entrada post grabación del libro fiscal.MODELCOMMITTTS o MODELCOMMITNTTS
LOCXPE6 | A103VLRPunto de entrada para alterar valor total de la nota para base de calculo de los títulos.No habilitado.
LOCXPE7 | GQREENTRPunto de entrada para integración con Celerina.No habilitado.
LOCXPE8 | M466SF1Punto de entrada post grabación de encabezado.MODELCOMMITTTS
LOCXPE9Punto de entrada post grabaciones de campos del encabezado.MODELCOMMITTTS
LOCXPE11 | A466CRTOPunto de entrada post grabaciones finalizada la transacción.MODELCOMMITNTTS
LOCXPE13Punto de entrada para alterar cantidad de la segunda unidad de medida.MODELCOMMITTTS
LOCXPE14 | M466SD1Punto de entrada post actualizaciones de cada ítem.FORMLINEPOS
LOCXPE15Punto de entrada para ejecutar rdmakes para tratamiento especifico.MODELCOMMITTTS
LOCXPE16 | MT100TOKPunto de entrada para incluir validaciones en el tudook.FORMPOS
LOCXPE17 | MT100LOKPunto de entrada para agregar validaciones de línea.FORMLINEPOS
LOCXPE19 | A100F4CPPunto de entrada para notas de entrada que no sea devoluciones para agregar teclas.LOCX60VIEW.PRW
LOCX62VIEW.PRW
LOCX10VIEW.PRW
LOCX13VIEW.PRW
LOCX14VIEW.PRW
LOCX20VIEW.PRW
LOCX10AUTV.PRW
LOCX10SOPV.PRW
LOCX08VIEW.PRW
LOCX23VIEW.PRW
LOCX09VIEW.PRW
LOCXPE24 | M460NUMPunto de entrada para numeración de NF.MODELPOS
LOCXPE30Punto de entrada para colocar campos obligatorios.LOCX60VIEW.PRW
LOCX62VIEW.PRW
LOCX10VIEW.PRW
LOCX13VIEW.PRW
LOCX14VIEW.PRW
LOCX20VIEW.PRW
LOCX10AUTV.PRW
LOCX10SOPV.PRW
LOCX08VIEW.PRW
LOCX23VIEW.PRW
LOCX09VIEW.PRW
LOCXPE37Punto de entrada post grabación de SE1/SE2.MODELCOMMITTTS
LOCXPE38Punto de entrada post grabación de SE1/SE2.MODELCOMMITTTS
LOCXPE45 | M101SERPunto de entrada para alterar serie de NF.No habilitado.
LOCXPE62Punto de entrada para fecha de emisión.FORMLINEPOS
LOCXPE68Punto de entrada para manipular los valores de costo de entrada en las monedas. MODELCOMMITTTS
LOCXPE72Punto de entrada para incluir campos de usuario al encabezado del documento.

Si se quiere agregar campos al encabezado usar:
LOCX60VIEW.PRW
LOCX62VIEW.PRW
LOCX10VIEW.PRW
LOCX13VIEW.PRW
LOCX14VIEW.PRW
LOCX20VIEW.PRW
LOCX10AUTV.PRW
LOCX10SOPV.PRW
LOCX08VIEW.PRW
LOCX23VIEW.PRW
LOCX09VIEW.PRW

Para informar un campo:

MODELPOS

LOCXPE74Punto de entrada para permitir alterar la provincia de entrega.No habilitado.

A103CND2

Punto de entrada para alterar condición de pago.FORMLINEPOS

LXHORANFIS

Punto de entrada para ajustar valor del campo F1_HORA.MODELCOMMITTTS

LOCXDREM

Punto de entrada para descripción del Remito.LOCX60VIEW.PRW
LOCX62VIEW.PRW
LOCX10VIEW.PRW
LOCX13VIEW.PRW
LOCX14VIEW.PRW
LOCX20VIEW.PRW
LOCX10AUTV.PRW
LOCX10SOPV.PRW
LOCX08VIEW.PRW
LOCX23VIEW.PRW
LOCX09VIEW.PRW

M100L001

Punto de entrada para actualizar la tasa en las tablas fiscales.No habilitado.

MAGENTE

Punto de entrada para verificar si  es agente de percepción de IVA.No habilitado.

MT462MNU

Punto de entrada para agregar opciones al menú.No habilitado.

LOCXPE61

Punto de entrada para agregar campos al browseUso de visiones Gráficos e Visões do Browse

LOCXPE54

Punto de entrada para modificar información al cargar una factura.No habilitado.

LOCXPE66

Punto de entrada para validar parámetros informados en grupo de preguntas MT466ENo habilitado.

LOCXPE47

Punto de entrada para no actualizar la numeración de la nota en SX5.No habilitado.

LOCXPE10

Punto de entrada posterior a actualizaciones de SB2.MODELCOMMITTTS o  MODELCOMMITNTTS

LOCXPE34

Punto de entrada usado en la selección de facturas.No habilitado.

LOCXPE28

Punto de entrada posterior al borrado de ítems.MODELCOMMITTTS

LOCXPE29

Punto de entrada posterior al borrado del documento.MODELCOMMITTTS

LOCXPE49

Punto de entrada usado en la selección de remitos.No habilitado.

LOCXPE46

Punto de entrada usado en la selección de remitos.No habilitado.


El sistema da aviso en caso de tener alguno de estos Puntos de Entrada compilados (este mensaje solo aplica para la rutina donde se detone):

...

Informações

Los puntos de entrada que inician como "LOCXPE" (Ejemplo: LOCXPE16, LOCXPE16 ), 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.

...