01. DATOS GENERALES

Línea de producto:

Microsiga Protheus®

Segmento:

Servicios

Módulo:

Fiscal


02. DESCRIPCIÓN

Se utiliza para modificaciones automáticas en los complementos de los documentos fiscales después de la emisión de las facturas.

Este Punto de entrada se ejecuta después de la grabación de todos los datos de la Factura de salida o entrada digitada en el módulo fiscal, facturación y compras.


03. ESPECIFICACIÓN

  • Parámetros del punto de entrada:

Nombre

Tipo

Descripción

Estándar

Obligatorio

Referencia

aChave

Array of Record

Clave de la factura (entrada o salida), serie, número del documento, cliente o proveedor, tienda





  • Devolución
    No hay.

04. EJEMPLO DE UTILIZACIÓN

#Include 'Protheus.ch'
// _________________________________________________________________________________________________
//|Cuando se refiera a los complementos para la generación de los registros C110, C111, C112, C113, C114 y C115|
//|  la tabla CDT también debe alimentarse, porque esta establece los vínculos con las otras   |
//|  según el registro. C110 = Tab. CDT, C111 = Tab. CDG, , C112 = Tab. CDC, C113 = Tab. CDD,       |
//|  C114 = Tab. CDE y C115 = Tab. CDF                                                              |
//| Este PUNTO DE ENTRADA es solamente un ejemplo de cómo puede utilizarse, debe adecuarse de acuerdo con| 
//| la regla de negocio específica del cliente                                                        |  
//|_________________________________________________________________________________________________|*/
User Function MATUCOMP()
	
    Local lInclui   := .F.
	Local cEntSai   := ParamIXB[1] // E=Entrada o S=Salida
	Local cSerie    := ParamIXB[2] // Serie del documento fiscal
	Local cDoc      := ParamIXB[3] // Número del documento 
	Local cCliefor  := ParamIXB[4] // Cliente/Proveedor
	Local cLoja     := ParamIXB[5] // Tienda del Cliente/Proveedor
    Local lDeleta   := !Inclui .AND. !Altera

    // personalizaciones del cliente, deben adecuarse a las reglas del cliente
    If !lDeleta
    
        lInclui := !CDT->(dbSeek(xFilial("CDT")+cEntSai+cDoc+cSerie+cClieFor+cLoja))

        RecLock("CDT",lInclui)
            CDT->CDT_FILIAL := xFilial("CDT")
            CDT->CDT_TPMOV  := cEntSai
            CDT->CDT_DOC    := cDoc
            CDT->CDT_SERIE  := cSerie
            CDT->CDT_CLIFOR := cClieFor
            CDT->CDT_LOJA   := cLoja
            CDT->CDT_IFCOMP := "000001"
        CDT->(MsUnLock())

        lInclui := !CDF->(dbSeek(xFilial("CDF")+cEntSai+cDoc+cSerie+cClieFor+cLoja))
        
        RecLock("CDF",lInclui)
            CDF->CDF_FILIAL := xFilial("CDF")
            CDF->CDF_TPMOV  := cEntSai
            CDF->CDF_DOC    := cDoc
            CDF->CDF_SERIE  := cSerie
            CDF->CDF_CLIFOR := cClieFor
            CDF->CDF_LOJA   := cLoja
            CDF->CDF_IFCOMP := "000001"
        CDF->(MsUnLock())
    Else
        
        If CDT->(dbSeek(xFilial("CDT")+cEntSai+cDoc+cSerie+cClieFor+cLoja))
            RecLock("CDT",.F.)
            CDT->(DbDelete())
            CDT->(MsUnLock())
        EndIf
        
        If CDF->(dbSeek(xFilial("CDF")+cEntSai+cDoc+cSerie+cClieFor+cLoja))
            RecLock("CDF",.F.)
            CDF->(DbDelete())
            CDF->(MsUnLock())
        EndIf
        
    EndIf

Return