Árvore de páginas

01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Serviços
Módulo:Fiscal


02. DESCRIÇÃO

Utilizado para alterações automáticas nos complementos dos documentos fiscais após a emissão das Notas Fiscais.

Este Ponto de Entrada é executado após gravação de todos os dados da NF de saída ou entrada digitadas no modulo fiscal, faturamento e compras.


03. ESPECIFICAÇÃO

  • Parâmetros do ponto de entrada:
NomeTipoDescriçãoDefaultObrigatórioReferência
aChaveArray of RecordChave da Nota Fiscal (Entrada ou Saída), Serie, Número do Documento ,Cliente ou Fornecedor, Loja



  • Retorno
    Não há.

04. EXEMPLO DE UTILIZAÇÃO

#Include 'Protheus.ch'
// _________________________________________________________________________________________________
//|Quando se referir aos complementos para geracao dos registros C110, C111, C112, C113, C114 e C115|
//|  a tabela CDT também deve ser alimentada, pois ela que efetua o relacionamentos com as outras   |
//|  conforme registro. C110 = Tab. CDT, C111 = Tab. CDG, , C112 = Tab. CDC, C113 = Tab. CDD,       |
//|  C114 = Tab. CDE e C115 = Tab. CDF                                                              |
//| Este PONTO DE ENTRADA é apenas um exemplo de como pode ser utilizado, deve ser adequado conforme| 
//| a regra de negócio específica do cliente                                                        |  
//|_________________________________________________________________________________________________|*/
User Function MATUCOMP()
	
    Local lInclui   := .F.
	Local cEntSai   := ParamIXB[1] // E=Entrada ou S=Saida
	Local cSerie    := ParamIXB[2] // Serie do documento fiscal
	Local cDoc      := ParamIXB[3] // Numero do documento 
	Local cCliefor  := ParamIXB[4] // Cliente/Fornecedor
	Local cLoja     := ParamIXB[5] // Loja do Cliente/Fornecedor
    Local lDeleta   := !Inclui .AND. !Altera

    // customizações do cliente, deve ser adequadas as regras do 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