Árvore de páginas

Versões comparadas

Chave

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

...

Portuguese

Pagetitle
Rotina Automática Pré-Nota de Entrada (MATA140)
Rotina Automática Pré-Nota de Entrada (MATA140)

Função: MATA140 - Pré-Nota de Entrada


Abrangências:Microsiga Protheus 11 , Protheus 10
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Nível de Acesso:Nível 1 (Acesso Clientes)
Idiomas:Português (Brasil) , Português (Portugal) , Espanhol , Inglês


Descrição:
Esta rotina permite a inclusão de Notas Fiscais de Entrada sem os dados Fiscais, através do mecanismo de rotina automática.

Sintaxe:

MATA140 - Pré - Documento de Entrada ( aCabec, aItens, nOpc, lSimulaca, nTelaAuto )


Retorno:
    (nulo)

Exemplos

Obs: Para que seja utilizado bloqueio de tolerância, deve ser informado o USER e PASSWORD no PREPARE ENVIRONMENT.


Bloco de código
languagejava
linenumbersthemetrueMidnight
//INCLUSÃO DE PRE-NOTA 
#INCLUDE "RWMAKE.CH" 
#INCLUDE "TBICONN.CH"
 

User Function eMata140EXEC140I() 
 
Local nOpc := 3
 

	    Private aCabec		      := {}
	    Private aItens		      := {}
	    Private aLinha		      := {}
	    Private lMsErroAuto := .F.
 
	    PREPARE ENVIRONMENT EMPRESA "99T1" FILIAL "D MG 01" MODULO "COM" TABLES "SF1","SD1","SA1","SA2","SB1","SB2","SF4" USER "admin" PASSWORD "1234"
 
	
	     
    aAdd(aCabec,{'F1_TIPO','N',NIL})
	    aAdd(aCabec,{'F1_FORMUL','N',NIL})
	    aAdd(aCabec,{'F1_DOC','000005INC000001',NIL})
	    aAdd(aCabec,{"F1_SERIE","01001",NIL})
	    aAdd(aCabec,{"F1_EMISSAO",dDataBase,NIL})
	    aAdd(aCabec,{'F1_FORNECE','000001',NIL})
	    aAdd(aCabec,{'F1_LOJA','01',NIL})
	    aAdd(aCabec,{"F1_ESPECIE","NFNFE",NIL})
	    aAdd(aCabec,{"F1_COND",'001',NIL})
	    aAdd(aCabec,{"F1_STATUS",'',NIL})
	      
	    aAdd(aItens,{'D1_ITEM',StrZero(1,4),NIL})
	    aAdd(aItens,{'D1_COD',"01",NIL})
	    aAdd(aItens,{"D1_QUANT",1,Nil})
	    aAdd(aItens,{"D1_VUNIT",1,Nil})
	    aAdd(aItens,{"D1_TOTAL",1,Nil})
    aAdd(aItens,{"D1_TES",'',NIL})
	      
	    aAdd(aLinha,aItens)
	      
	    MSExecAuto({|x,y,z,a,b| MATA140(x,y,z,a,b)}, aCabec, aLinha, nOpc,,)
	      
	If lMsErroAuto 
		mostraerro()
	Else 
		Alert("Execauto MATA140     If lMsErroAuto
        mostraerro()
    Else
        Alert("Execauto MATA140 de inclusão executado com sucesso!")
    EndIf
     
    RESET ENVIRONMENT
  
Return

//ALTERAÇÃO DE PRÉ-NOTA
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
 
User Function EXEC140A()
 
    Local nOpc := 4
    Local nX

    Private aCabec      := {}
    Private aItens      := {}
    Private aLinha      := {}
    Private lMsErroAuto := .F.
 
    PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "COM" TABLES "SF1","SD1","SA1","SA2","SB1","SB2","SF4" USER "admin" PASSWORD "1234"
 
     
    aAdd(aCabec,{'F1_TIPO','N',NIL})
    aAdd(aCabec,{'F1_FORMUL','N',NIL})
    aAdd(aCabec,{'F1_DOC','INC000001',NIL})
    aAdd(aCabec,{"F1_SERIE","001",NIL})
    aAdd(aCabec,{"F1_EMISSAO",dDataBase,NIL})
    aAdd(aCabec,{'F1_FORNECE','000001',NIL})
    aAdd(aCabec,{'F1_LOJA','01',NIL})
    aAdd(aCabec,{"F1_ESPECIE","NFE",NIL})
    aAdd(aCabec,{"F1_COND",'001',NIL})
    aAdd(aCabec,{"F1_STATUS",'',NIL})

    For nX := 1 To 2    
        aItens := {}
        
        aAdd(aItens,{'D1_ITEM',StrZero(nX,4),NIL})
        aAdd(aItens,{'D1_COD',IIF(nX==1,"01","001"),NIL})
        aAdd(aItens,{"D1_QUANT",1,Nil})
        aAdd(aItens,{"D1_VUNIT",1,Nil})
        aAdd(aItens,{"D1_TOTAL",1,Nil})
        aAdd(aItens,{"D1_TES",'',NIL})
        
        aAdd(aLinha,aItens)
    Next  
    
    
    MSExecAuto({|x,y,z,a,b| MATA140(x,y,z,a,b)}, aCabec, aLinha, nOpc,,)
      
    If lMsErroAuto
        mostraerro()
    Else
        Alert("Execauto MATA140 de alteração executado com sucesso!")
    EndIf
     
    RESET ENVIRONMENT
  
Return

//EXCLUSÃO DE PRÉ-NOTA
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
 
User Function EXEC140EX()
 
    Local nOpc := 5 
    Local nX

    Private aCabec      := {}
    Private aItens      := {}
    Private aLinha      := {}
    Private lMsErroAuto := .F.
 
    PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "COM" TABLES "SF1","SD1","SA1","SA2","SB1","SB2","SF4" USER "admin" PASSWORD "1234"
 
     
    aAdd(aCabec,{'F1_TIPO','N',NIL})
    aAdd(aCabec,{'F1_FORMUL','N',NIL})
    aAdd(aCabec,{'F1_DOC','INC000001',NIL})
    aAdd(aCabec,{"F1_SERIE","001",NIL})
    aAdd(aCabec,{"F1_EMISSAO",dDataBase,NIL})
    aAdd(aCabec,{'F1_FORNECE','000001',NIL})
    aAdd(aCabec,{'F1_LOJA','01',NIL})
    aAdd(aCabec,{"F1_ESPECIE","NFE",NIL})
    aAdd(aCabec,{"F1_COND",'001',NIL})
    aAdd(aCabec,{"F1_STATUS",'',NIL})

    For nX := 1 To 2    
        aItens := {}
        
        aAdd(aItens,{'D1_ITEM',StrZero(nX,4),NIL})
        aAdd(aItens,{'D1_COD',IIF(nX==1,"01","001"),NIL})
        aAdd(aItens,{"D1_QUANT",1,Nil})
        aAdd(aItens,{"D1_VUNIT",1,Nil})
        aAdd(aItens,{"D1_TOTAL",1,Nil})
        aAdd(aItens,{"D1_TES",'',NIL})
        
        aAdd(aLinha,aItens)
    Next  
    
    
    MSExecAuto({|x,y,z,a,b| MATA140(x,y,z,a,b)}, aCabec, aLinha, nOpc,,)
      
    If lMsErroAuto
        mostraerro()
    Else
        Alert("Execauto MATA140 de exclusão executado com sucesso!")
 
	EndIf 
	
	   EndIf
     
    RESET ENVIRONMENT
  
Return

//ESTORNO DE CLASSIFICAÇÃO DE PRÉ-NOTA
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
 
User Function EXEC140EST()
 
    Local nOpc := 7

    Private aCabec      := {}
    Private aItens      := {}
    Private aLinha      := {}
    Private lMsErroAuto := .F.
 
    PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "COM" TABLES "SF1","SD1","SA1","SA2","SB1","SB2","SF4" USER "admin" PASSWORD "1234"
 
     
    aAdd(aCabec,{'F1_TIPO','N',NIL})
    aAdd(aCabec,{'F1_DOC','INC000001',NIL})
    aAdd(aCabec,{"F1_SERIE","001",NIL})
    aAdd(aCabec,{'F1_FORNECE','000001',NIL})
    aAdd(aCabec,{'F1_LOJA','01',NIL})
    
       
    aItens := {}
        
    aAdd(aItens,{'D1_ITEM',StrZero(1,4),NIL})
    aAdd(aItens,{'D1_COD',"01","001",NIL})
    aAdd(aItens,{"D1_QUANT",1,Nil})
    aAdd(aItens,{"D1_VUNIT",1,Nil})
    aAdd(aItens,{"D1_TOTAL",1,Nil})
    
    aAdd(aLinha,aItens)  
    
    
    MSExecAuto({|x,y,z,a,b| MATA140(x,y,z,a,b)}, aCabec, aLinha, nOpc,,)
      
    If lMsErroAuto
        mostraerro()
    Else
        Alert("Execauto MATA140 de estorno de classificação executado com sucesso!")
    EndIf
     
    RESET ENVIRONMENT
  
Return
       


Parâmetros:



Nome

Tipo

Descrição

Default

Obrigatório

Referência

aCabec

Array of Record

Cabeçalho da nota




X




aItens

Array of Record

Itens da Nota




X




nOpc

Array of Record

3 = Inclusão, 4 = Alteração, 5 = Exclusão, 7 = Estorna Classificação




X




lSimula

Lógico

.T. para habilitar simulação / .F. para desabilitar a simulação










nTelaAuto

Numérico

0 - Não mostra tela, 1 - Mostra tela e valida tudo, 2 - Mostra tela e valida somente cabeçalho











Observação

Informações
titlePara opção Inclusão

Quando utilizado o Formulário Próprio = "S, deve-se enviar somente a serie do documento


Bloco de código
languagedelphi
titleLINPOS
cSerie := "001"

//aAdd(aCab,{"F1_DOC" ,cNum ,NIL})
aAdd(aCab,{"F1_SERIE" ,cSerie ,NIL})