Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Wiki Markup
||Descrição:|| A rotina automática TECA400 permite efetuar a manutenção de Orçamentos.  
||Sintaxe:|| TECA400 - Rotina Automática de Orçamento ( cRotina,xAutoCab, xAutoItens, xAutoApont, nOpc )
||Exemplos:||User Function MyTeca400()
Local lOk      := .T.
Local aCabec   := {}
Local aItem    := {}
Local aItens   := {}
Local aApont   := {}
Local aAponts  := {}
Local cNumOrc  := ""
PRIVATE lMsErroAuto := .F.
// Abertura do ambiente                                         
ConOut(Repl("-",80))
// Verificacao do ambiente para teste                           
dbSelectArea("SA1")
dbSetOrder(1)
If !SA1->(DbSeek(xFilial("SA1")+"00000101"))
	lOk := .F.
	ConOut("Cadastrar Cliente: 000001 Loja: 01")
EndIf
dbSelectArea("SB1")
dbSetOrder(1)
If !SB1->(DbSeek(xFilial("SB1")+"000001"))
	lOk := .F.
	ConOut("Cadastrar Produto: 000001")
EndIf
dbSelectArea("SB1")
dbSetOrder(1)
If !SB1->(DbSeek(xFilial("SB1")+"000002"))
	lOk := .F.
	ConOut("Cadastrar Produto: 000002")
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("000001",15)+"123456"))
	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("000002",15)+"654321"))
	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
	ConOut(PadC("Teste de Inclusao da Orcamento",80))
	ConOut("Inicio: "+Time())
	cNumOrc := GetSXENum("AB3","AB3_NUMORC")
	RollBackSx8()
	aadd(aCabec,\{"AB3_NUMORC",cNumOrc,Nil})
	aadd(aCabec,\{"AB3_CODCLI",SA1->A1_COD,Nil})
	aadd(aCabec,\{"AB3_LOJA"  ,SA1->A1_LOJA,Nil})
	aadd(aCabec,\{"AB3_EMISSA",dDataBase,Nil})
	aadd(aCabec,\{"AB3_ATEND" ,cUserName,Nil})
	aadd(aCabec,\{"AB3_CONPAG","001",Nil})
	aadd(aCabec,\{"AB3_HORA"  ,Time(),Nil})
	aadd(aItem,\{"AB4_ITEM"  ,StrZero(1,2),Nil})
	aadd(aItem,\{"AB4_TIPO"  ,"1",Nil})
	aadd(aItem,\{"AB4_CODPRO",AA3->AA3_CODPRO,Nil})
	aadd(aItem,\{"AB4_NUMSER",AA3->AA3_NUMSER,Nil})
	aadd(aItem,\{"AB4_CODPRB",AAG->AAG_CODPRB,Nil})
	aadd(aItens,aItem)
	aadd(aApont,\{"AB5_ITEM"  ,StrZero(1,2),Nil})
	aadd(aApont,\{"AB5_SUBITE",StrZero(1,2),Nil})
	aadd(aApont,\{"AB5_CODPRO",SB1->B1_COD,Nil})
	aadd(aApont,\{"AB5_CODSER",AA5->AA5_CODSER,Nil})
	aadd(aApont,\{"AB5_QUANT",1,Nil})
	aadd(aApont,\{"AB5_VUNIT",100,Nil})
	aadd(aApont,\{"AB5_PRCLIS",100,Nil})
	aadd(aAponts,aApont)
	TECA400(,aCabec,aItens,aAponts,3)
	If !lMsErroAuto
		ConOut("Inclusao com sucesso! ")
	Else
		ConOut("Erro na inclusao!")
	EndIf
EndIf
Return
||Idioma:|| Português(Brasil)
||Versões:|| Microsiga_Protheus10_e_Microsiga_Protheus11
||Sistemas Operacionais Suportados:||Todos
||Compatível com as Bases de Dados:||Todas
||Parâmetros:|| cRotina => Caracter
xAutoCab => Array of Records (AB3)
xAutoItens => Array of Records (AB4)
xAutoApont => Array of Records (AB5)
nOpc => Numérico
||Programa Fonte:|| TECA400