Árvore de páginas

Versões comparadas

Chave

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

01. DADOS GERAIS

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


02. DESCRIÇÃO

Índice

...

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

Bloco de código
languagecppjava
themeMidnight
#Include 'Protheus.ch'
// _________________________________________________________________________________________________
//User Function Matucomp()
	Local lExiste := .F.
	
	dbSelectArea("CD7")
	CD7->(dbSetOrder(1))
	
	lExiste := CD7->(dbSeek(xFilial("CD7")+ParamIXB[1]+ParamIXB[2]+PADR(ParamIXB[3],TamSX3("CD7_DOC")[1])+ParamIXB[4]+ParamIXB[5]))
	If lExiste 
		RecLock(CD7,.F.)	
		Replace CD7->CD7_LOTE	With  "55555555"	
		MsUnlock("CD7")   
	EndIf
	
Return
		
		//---------------------------------------------------------------------------------------------------
		//|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 FuncationFunction MATUCOMP()
	
    Local lInclui   := .F.
	Local cEntSai   := ParamIXB[1] // E=Entrada ou S=Saida
	cDocLocal cSerie    := ParamIXB[2]
	cSerie // Serie do documento fiscal
	Local cDoc      := ParamIXB[3] // Numero do documento 
	Local cCliefor  := ParamIXB[4] // Cliente/Fornecedor
	Local cLoja     := ParamIXB[5]
	lExiste // 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))
	
	If lExiste	
		
        RecLock("CDT",.F.)
	Else	
		RecLock("CDT",.T.)	
		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	   := cLojaEndIf									
		cLoja
            CDT->CDT_IFCOMP := "000001"
        CDT->(MsUnLock()FkCommit()))

        lInclui := !CDF->(dbSeek(xFilial("CDF")+cEntSai+cDoc+cSerie+cClieFor+cLoja))
        
        RecLock("CDF",.T.)
		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("
	EndIf
		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