Tempo aproximado para leitura: 00:02:00 min
Dúvida
Exemplo do Execauto Ordem de Serviço - TECA450
Ambiente
Prestadores de Serviços - SIGATEC - Todas as versões;
Solução
Exemplo Execauto Ordem de Serviço - TECA450
#include'TOTVS.CH'
#include'TBICONN.CH'
USER Function MyTeca450()
Local lOk := .T.
Local aCabec := {}
Local aItem := {}
Local aItens := {}
Local aApont := {}
Local aAponts := {}
Local cNumOS := ""
Local nOPC := 3 //inclusão 4//alteração 5//exclusão
Private lMsErroAuto := .F.
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//| Abertura do ambiente |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ConOut(Repl("-",80))
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01"
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//| Verificacao do ambiente para teste |
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
/*DbSelectArea("SA1")
DbSetOrder(1)
If !SA1->(DbSeek(xFilial("SA1")+"000001"))
lOk := .F.
ConOut("Cadastrar Cliente: 000001 Loja: 01")
EndIf
DbSelectArea("SB1")
DbSetOrder(1)
If !SB1->(DbSeek(xFilial("SB1")+"CODIGO "))
lOk := .F.
ConOut("Cadastrar Produto: CODIGO ")
EndIf
DbSelectArea("SB1")
DbSetOrder(1)
If !SB1->(DbSeek(xFilial("SB1")+"COTACAO "))
lOk := .F.
ConOut("Cadastrar Produto: COTACAO ")
EndIf
DbSelectArea("SE4")
DbSetOrder(1)
If !SE4->(DbSeek(xFilial("SE4")+"001"))
lOk := .F.
ConOut("Cadastrar Condicao de Pagamento: 001")
EndIf
DbSelectArea("SE4")
DbSetOrder(1)
If !SE4->(DbSeek(xFilial("SE4")+"002"))
lOk := .F.
ConOut("Cadastrar Condicao de Pagamento: 002")
EndIf
DbSelectArea("AA3")
DbSetOrder(1)
If !AA3->(DbSeek(xFilial("AA3")+"00000101"+PadR("2-EMEPNHO",30)+"00000000000000000001"))
lOk := .F.
ConOut("Cadastrar Base Instalada Cliente/Loja: 000001/01 Produto: 000001 Série: 123456")
EndIf
DbSelectArea("AA3")
DbSetOrder(1)
If !AA3->(DbSeek(xFilial("AA3")+"00000101"+PadR("3-EMPENHO",30)+"00000000000000000002"))
lOk := .F.
ConOut("Cadastrar Base Instalada Cliente/Loja: 000001/01 Produto: 000002 Série: 654321")
EndIf
DbSelectArea("AAG")
DbSetOrder(1)
If !AAG->(DbSeek(xFilial("AAG")+"000001"))
lOk := .F.
ConOut("Cadastrar Ocorrencia: 000001")
EndIf /*
DbSelectArea("AA5")
DbSetOrder(1)
If !AA5->(DbSeek(xFilial("AA5")+"000001"))
lOk := .F.
ConOut("Cadastrar Servico: 000001")
EndIf*/
If lOk
If nOPC == 3
//======================Inclusao======================//
ConOut(PadC("Teste de Inclusao da OS",80))
ConOut("Inicio: "+Time())
cNumOS := GetSXENum("AB6","AB6_NUMOS")
RollBackSx8()
// Cabeçalho
aAdd(aCabec,{"AB6_NUMOS" ,cNumOS ,Nil})
aAdd(aCabec,{"AB6_CODCLI" ,"CLI001",Nil})
aAdd(aCabec,{"AB6_LOJA" ,"01",Nil})
aAdd(aCabec,{"AB6_EMISSA" ,dDataBase ,Nil})
aAdd(aCabec,{"AB6_ATEND" ,cUserName ,Nil})
aAdd(aCabec,{"AB6_CONPAG" ,"1 " ,Nil})
aAdd(aCabec,{"AB6_HORA" ,Time() ,Nil})
// Item
aAdd(aItem,{"AB7_ITEM" ,StrZero(1,2) ,Nil})
aAdd(aItem,{"AB7_TIPO" ,"1" ,Nil})
aAdd(aItem,{"AB7_CODPRO" ,"PROD0007 ",Nil})
aAdd(aItem,{"AB7_NUMSER" ,"PROD00070001 ",Nil})
aAdd(aItem,{"AB7_CODPRB" ,"OCO001",Nil})
aAdd(aItens,aItem)
// Apont
aAdd(aApont,{"AB8_ITEM" ,StrZero(1,2) ,Nil})
aAdd(aApont,{"AB8_SUBITE" ,StrZero(1,2) ,Nil})
aAdd(aApont,{"AB8_CODPRO" ,"PROD0007 ",Nil})
aAdd(aApont,{"AB8_CODSER" ,"000001",Nil})
aAdd(aApont,{"AB8_QUANT" ,1 ,Nil})
aAdd(aApont,{"AB8_VUNIT" ,100 ,Nil})
aAdd(aApont,{"AB8_PRCLIS" ,100 ,Nil})
aAdd(aAponts,aApont)
TECA450(,aCabec,aItens,aAponts,3)
If !lMsErroAuto
ConOut("Inclusao com sucesso! ")
Else
ConOut("Erro na inclusao!")
EndIf
aCabec := {}
aItem := {}
aItens := {}
aApont := {}
aAponts:= {}
Endif
If nOPC == 5
//======================Alteracao======================//
ConOut(PadC("Teste de Alteracao da OS",80))
aAdd(aCabec,{"AB6_NUMOS" ,cNumOS ,Nil})
aAdd(aCabec,{"AB6_CODCLI" ,SA1->A1_COD ,Nil})
aAdd(aCabec,{"AB6_LOJA" ,SA1->A1_LOJA ,Nil})
aAdd(aCabec,{"AB6_EMISSA" ,dDataBase ,Nil})
aAdd(aCabec,{"AB6_ATEND" ,cUserName ,Nil})
aAdd(aCabec,{"AB6_CONPAG" ,"002" ,Nil})
aAdd(aCabec,{"AB6_HORA" ,Time() ,Nil})
aAdd(aItem,{"LINPOS" ,"AB7_ITEM","01"})
aAdd(aItem,{"AB7_ITEM" ,StrZero(1,2) ,Nil})
aAdd(aItem,{"AB7_TIPO" ,"1" ,Nil})
aAdd(aItem,{"AB7_CODPRO" ,"000002" ,Nil})
aAdd(aItem,{"AB7_NUMSER" ,"654321" ,Nil})
aAdd(aItem,{"AB7_CODPRB" ,AAG->AAG_CODPRB,Nil})
aAdd(aItens,aItem)
aAdd(aApont,{"LINPOS" ,"AB8_SUBITE","01"})
aAdd(aApont,{"AB8_SUBITE" ,StrZero(1,2) ,Nil})
aAdd(aApont,{"AB8_CODPRO" ,"000002" ,Nil})
aAdd(aApont,{"AB8_CODSER" ,AA5->AA5_CODSER ,Nil})
aAdd(aApont,{"AB8_QUANT" ,1 ,Nil})
aAdd(aApont,{"AB8_VUNIT" ,100 ,Nil})
aAdd(aApont,{"AB8_PRCLIS" ,100 ,Nil})
aAdd(aAponts,aApont)
TECA450(,aCabec,aItens,aAponts,4)
If !lMsErroAuto
ConOut("Alteracao com sucesso! ")
Else
ConOut("Erro na Alteracao!")
EndIf
aCabec := {}
aItem := {}
aItens := {}
aApont := {}
aAponts:= {}
EndIf
If nOPC == 6
//======================Exclusao======================//
ConOut(PadC("Teste de Exclusao da OS",80))
aAdd(aCabec,{"AB6_NUMOS",cNumOS,Nil})
aAdd(aCabec,{"AB6_CODCLI",SA1->A1_COD,Nil})
aAdd(aCabec,{"AB6_LOJA" ,SA1->A1_LOJA,Nil})
aAdd(aCabec,{"AB6_EMISSA",dDataBase,Nil})
aAdd(aCabec,{"AB6_ATEND" ,cUserName,Nil})
aAdd(aCabec,{"AB6_CONPAG","002",Nil})
aAdd(aCabec,{"AB6_HORA" ,Time(),Nil})
aAdd(aItem,{"AB7_ITEM" ,StrZero(1,2),Nil})
aAdd(aItem,{"AB7_TIPO" ,"1",Nil})
aAdd(aItem,{"AB7_CODPRO","000002",Nil})
aAdd(aItem,{"AB7_NUMSER","654321",Nil})
aAdd(aItem,{"AB7_CODPRB",AAG->AAG_CODPRB,Nil})
aAdd(aItens,aItem)
aAdd(aApont,{"AB8_SUBITE",StrZero(1,2),Nil})
aAdd(aApont,{"AB8_CODPRO","000002",Nil})
aAdd(aApont,{"AB8_CODSER",AA5->AA5_CODSER,Nil})
aAdd(aApont,{"AB8_QUANT",1,Nil})
aAdd(aApont,{"AB8_VUNIT",100,Nil})
aAdd(aApont,{"AB8_PRCLIS",100,Nil})
aAdd(aAponts,aApont)
TECA450(,aCabec,aItens,aAponts,5)
If !lMsErroAuto
ConOut("Exclusao com sucesso! ")
Else
ConOut("Erro na Exclusao!")
EndIf
aCabec := {}
aItem := {}
aItens := {}
aApont := {}
aAponts:= {}
ConOut("Fim : "+Time())
ENDIF
EndIf
RESET ENVIRONMENT
Return(.T.)
Saiba Mais
0 Comentários