Árvore de páginas


Produto:

Microsiga Protheus®

Ocorrência:

Como incluir um registro na base de atendimento via execauto

Ambiente:

Microsiga Protheus - SIGATEC -  Gestão de Serviços

Solução:

Está solução é uma explicação de como é criado um registro via execauto na base de atendimento

Passo a passo:

Vamos criar um exemplo de execauto para a inclusão de um registro para a base de atendimento

Exemplo de Uso
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TOPCONN.CH"
#INCLUDE "XMLXFUN.CH"
#INCLUDE "TBICONN.CH"

User Function MyTECA040()
Local aCab040   := {}    // Cabecalho do AA3
Local aItens040 := {}    // Itens AA4
Local lRet      := .T.  
Local nI
Local aNrsSerie := {} // Array com o numero de serie para exclusao da base instalada
Local nRegs     := 0
Local nOpc      := 3 //3-inclusão/5-Exclusão

PRIVATE lMsErroAuto := .F.

ConOut(Repl("-",80))
ConOut(PadC("Teste de Exclusao da Base Instalada",80))

PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "TEC" TABLES "AA3","AA4"

Aadd(aNrsSerie,"26122023-11         ")

nRegs     := Len(aNrsSerie) 

For nI := 1 to nRegs                                        
    Aadd(aCab040, { "AA3_FILIAL"    , "D MG    "                	, NIL } )               
    Aadd(aCab040, { "AA3_CODCLI"    , "000001"          	, NIL } )               
    Aadd(aCab040, { "AA3_LOJA"      , "01"             		, NIL } )               
    Aadd(aCab040, { "AA3_CODPRO"    , " COM00000000000000000000000011" 				, NIL } )               
    Aadd(aCab040, { "AA3_NUMSER"    , aNrsSerie[nI]     	, NIL } )                
    Aadd(aCab040, { "AA3_DTVEN"     , dDataBase             , NIL } )
	
    TECA040(,aCab040,aItens040,nOpc)   

    If lMsErroAuto                              
        lRet := !lMsErroAuto
        ConOut("Inclusão/exclusão com sucesso! ")              
    Else 
      ConOut("Exclusao/Inclusão com sucesso! ")
    Endif
                                                                              
    aCab040 := {}
Next
RESET ENVIRONMENT

Return lRet

Veja que inciamos a Empresa e sua Filial, elas devem existir e o campo AA3_FILIAL deve ser preenchido com uma filial valida dentro da empresa incializada.


Vamos executar o codigo através do VSCode.


Veja que o registro foi criado normalmente.



Agora vamos executar a exclusão do mesmo


Exemplo de Uso
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TOPCONN.CH"
#INCLUDE "XMLXFUN.CH"
#INCLUDE "TBICONN.CH"

User Function MyTECA040()
Local aCab040   := {}    // Cabecalho do AA3
Local aItens040 := {}    // Itens AA4
Local lRet      := .T.  
Local nI
Local aNrsSerie := {} // Array com o numero de serie para exclusao da base instalada
Local nRegs     := 0
Local nOpc      := 5 //3-inclusão/5-Exclusão

PRIVATE lMsErroAuto := .F.

ConOut(Repl("-",80))
ConOut(PadC("Teste de Exclusao da Base Instalada",80))

PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "TEC" TABLES "AA3","AA4"

Aadd(aNrsSerie,"26122023-11         ")

nRegs     := Len(aNrsSerie) 

For nI := 1 to nRegs                                        
    Aadd(aCab040, { "AA3_FILIAL"    , "D MG    "                	, NIL } )               
    Aadd(aCab040, { "AA3_CODCLI"    , "000001"          	, NIL } )               
    Aadd(aCab040, { "AA3_LOJA"      , "01"             		, NIL } )               
    Aadd(aCab040, { "AA3_CODPRO"    , " COM00000000000000000000000011" 				, NIL } )               
    Aadd(aCab040, { "AA3_NUMSER"    , aNrsSerie[nI]     	, NIL } )                
    Aadd(aCab040, { "AA3_DTVEN"     , dDataBase             , NIL } )
	
    TECA040(,aCab040,aItens040,nOpc)   

    If lMsErroAuto                              
        lRet := !lMsErroAuto
        ConOut("Inclusão/exclusão com sucesso! ")              
    Else 
      ConOut("Exclusao/Inclusão com sucesso! ")
    Endif
                                                                              
    aCab040 := {}
Next
RESET ENVIRONMENT

Return lRet

Importante

Os dados enviados para exclusão devem existir, pois internamente é realizado um posicionamento no registro para a exclusão do mesmo



Observações: