Árvore de páginas


Produto:

Microsiga Protheus®

Ocorrência:

Como incluir um registro no contrato de manutenção 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 no contrato de manutenção

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 "TOTVS.CH"
#INCLUDE "TBICONN.CH"
 
User Function MyTeca200()
Local aCabec    := {}
Local aItens    := {}
Local aItem     := {}
Local cContrato := ""
Local lOk       := .T.
 
PRIVATE lMsErroAuto := .F.
 
ConOut(Repl("-",80))
ConOut(PadC("Teste de Inclusao de 2 chamado tecnico com 1 itens cada",80))

PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "TEC" TABLES "SA1","SB1","SE4","AA3","AAH"

DbSelectArea("SA1")
SA1->(DbSetOrder(1))
If !SA1->(DbSeek(xFilial("SA1")+"00000501"))
    lOk := .F.
    ConOut("Cadastrar cliente: 00000501")
EndIf
 
AA3->(dbSetOrder(4))
If !AA3->(DbSeek(xFilial("AA3")+ Space( Len( AA3->AA3_CODFAB ) ) + Space( Len( AA3->AA3_LOJAFA ) ) + "AGRUPRH        " + "JHJSHDJHKJHDKAHKJDS " ))
    lOk := .F.
    ConOut("Cadastrar base instalada: Produto : " + Padr( "PA2",LEN( AA3->AA3_CODPRO ) ) + " - Identificador :  " + Padr( "001",LEN( AA3->AA3_NUMSER ) )  )
EndIf
 
If !AA3->(DbSeek(xFilial("AA3")+ Space( Len( AA3->AA3_CODFAB ) ) + Space( Len( AA3->AA3_LOJAFA ) ) + "FLDPCA00       " + "ID 20231124-11      " ))
    lOk := .F.
    ConOut("Cadastrar base instalada: Produto : " + Padr( "PA2",LEN( AA3->AA3_CODPRO ) ) + " - Identificador :  " + Padr( "002",LEN( AA3->AA3_NUMSER ) )  )
EndIf
 
SB1->(DbSetOrder(1))
If !SB1->(DbSeek(xFilial("SB1")+ "AGRUPRH        " ))
    lOk := .F.
    ConOut("Cadastrar produto: " + Padr( "AGRUPRH        ",15 ) )
EndIf
 
If !SB1->(DbSeek(xFilial("SB1")+"FLDPCA00       "))
    lOk := .F.
    ConOut("Cadastrar produto: " + Padr( "FLDPCA00       ",15 ) )
EndIf
 
SE4->(DbSetOrder(1))
If !SE4->(DbSeek(xFilial("SE4")+"001") )
    lOk := .F.
    ConOut("Cadastrar condicao de pagto : 1" )
EndIf
 
If lOk
    ConOut("Inicio inclusao : "+Time())
    cContrato := "000000000000007" //informa o numero do contrato
 
    aCabec := {}
    aItens := {}
    aAdd(aCabec,{"AAH_CONTRT" ,cContrato    ,Nil})
    aAdd(aCabec,{"AAH_CODCLI" ,"000005"     ,Nil})
    aAdd(aCabec,{"AAH_LOJA"   ,"01"         ,Nil})
    aAdd(aCabec,{"AAH_TPCONT" ,"1"          ,Nil})
    aAdd(aCabec,{"AAH_CONPAG" ,"001"          ,Nil})
    aAdd(aCabec,{"AAH_INIVLD" ,dDataBase    ,Nil})
    aAdd(aCabec,{"AAH_CPAGPV" ,"001"          ,Nil})
    aAdd(aCabec,{"AAH_CODPRO" ,"AGRUPRH        "        ,Nil})

        //informa a base de atendimento para o contrato
        aItem := {}
        aAdd(aItem,{"AA3_CODFAB"  , "      " } )
        aAdd(aItem,{"AA3_LOJAFA"  , "  " } )
        aAdd(aItem,{"AA3_CODPRO"  , "AGRUPRH        "} )
        aAdd(aItem,{"AA3_NUMSER"  , "JHJSHDJHKJHDKAHKJDS " } )
        aAdd(aItem,{"M_A_R_K_"  , .T. } )
        aAdd(aItens,aItem)
    
        aItem := {}
        aAdd(aItem,{"AA3_CODFAB"  , "      " } )
        aAdd(aItem,{"AA3_LOJAFA"  , "  " } )
        aAdd(aItem,{"AA3_CODPRO"  , "FLDPCA00       "} )
        aAdd(aItem,{"AA3_NUMSER"  , "ID 20231124-11      " } )
        aAdd(aItem,{"M_A_R_K_"  , .T. } )
        aAdd(aItens,aItem) 

    //Teste de Inclusao
    TECA200(NIL,aCabec,aItens,3)
    If !lMsErroAuto
        ConOut("Incluido com sucesso! " + cContrato )
    Else
        ConOut("Erro na inclusao!")
    EndIf
    ConOut("Fim inclusao : "+Time())
    

    ConOut("Inicio alteração : "+Time())
    aCabec := {}
    aItens := {}
    aAdd(aCabec,{"AAH_CONTRT" ,cContrato    ,Nil})
    aAdd(aCabec,{"AAH_CODCLI" ,"000005"     ,Nil})
    aAdd(aCabec,{"AAH_LOJA"   ,"01"         ,Nil})
    aAdd(aCabec,{"AAH_TPCONT" ,"1"          ,Nil})
    aAdd(aCabec,{"AAH_CONPAG" ,"001"          ,Nil})
    aAdd(aCabec,{"AAH_INIVLD" ,dDataBase    ,Nil})
    aAdd(aCabec,{"AAH_CPAGPV" ,"001"          ,Nil})
    aAdd(aCabec,{"AAH_CODPRO" ,"AGRUPRH        "        ,Nil})
    
        aItem := {}
        aAdd(aItem,{"AA3_CODFAB"  , "      " } )
        aAdd(aItem,{"AA3_LOJAFA"  , "  " } )
        aAdd(aItem,{"AA3_CODPRO"  , "AGRUPRH        "} )
        aAdd(aItem,{"AA3_NUMSER"  , "JHJSHDJHKJHDKAHKJDS " } )
        aAdd(aItem,{"M_A_R_K_"  , .T. } )
        aAdd(aItens,aItem)
    
        aItem := {}
        aAdd(aItem,{"AA3_CODFAB"  , "      " } )
        aAdd(aItem,{"AA3_LOJAFA"  , "  " } )
        aAdd(aItem,{"AA3_CODPRO"  , "FLDPCA00       "} )
        aAdd(aItem,{"AA3_NUMSER"  , "ID 20231124-11      " } )
        aAdd(aItem,{"M_A_R_K_"  , .T. } )
        aAdd(aItens,aItem) 
 
    // Teste de Inclusao
    TECA200(NIL,aCabec,aItens,4)
    If !lMsErroAuto
        ConOut("Alterado com sucesso ! " + cContrato )
    Else
        ConOut("Erro na alteração !")
    EndIf
    ConOut("Fim alteração : "+Time())
    
EndIf

RESET ENVIRONMENT

Return(.T.)






Observações: