User Function MyFata080()
Local cCodReg := "" // Código da Regra
Local cB1Cod := "PRODUTO001" // Código do Produto
Local cMsgLog := ""
Local cFilSB1 := ""
Local nOpcX := 3 // Inclusão
Local aCabec := {}
Local aItens := {}
Local aLinha := {}
Local lOk := .T.
Private lMsErroAuto := .F. // Indica se houve erro na execução da rotina automática
Private lMsHelpAuto := .T. // Gera mensagem de erro como aquivo .LOG na system
//****************************************************************
//* Abertura do ambiente
//****************************************************************
ConOut("Inicio: " + Time())
ConOut(Repl("-",80))
ConOut(PadC("Processo de inclusao de Regra de Desconto", 80))
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "ACO","ACP","SA1","SBM"
//****************************************************************
//* Verifica se o produto existe
//****************************************************************
SB1->(dbSetOrder(1))
cFilSB1 := xFilial("SB1")
If SB1->(! MsSeek(cFilSB1 + cB1Cod))
cMsgLog += "Cadastrar o Produto: " + cB1Cod + CRLF
lOk := .F.
EndIf
If lOk
//|---------------------------------|
//| Gera código da Regra de Desconto|
//|---------------------------------|
cCodReg := GetSxeNum("ACO", "ACO_CODREG")
//|---------------------------------|
//| PREENCHE CABECALHO |
//|---------------------------------|
aCabec := {}
aadd(aCabec, {"ACO_CODREG", cCodReg, Nil})
aadd(aCabec, {"ACO_DESCRI", "INCLUSAO DE REGRA DE DESCONTO", Nil})
aadd(aCabec, {"ACO_DESCRI", "INCLUSAO DE REGRA DE DESCONTO", Nil})
aadd(aCabec, {"ACO_MOEDA", 1, Nil})
aadd(aCabec, {"ACO_TPHORA", '1', Nil})
aadd(aCabec, {"ACO_HORADE", '00:00', Nil})
aadd(aCabec, {"ACO_HORATE", '23:59', Nil})
aadd(aCabec, {"ACO_DATDE", Date(), Nil})
//|---------------------------------|
//| PREENCHE ITENS |
//|---------------------------------|
aLinha := {}
aadd(aLinha,{"ACP_ITEM", '001', Nil})
aadd(aLinha,{"ACP_CODPRO", cB1Cod, Nil})
aadd(aLinha,{"ACP_PERDES", 10, Nil})
aadd(aItens, aLinha)
MSExecAuto({|a, b, c| FATA080(a, b, c)}, aCabec, aItens, nOpcX, .F.)
If !lMsErroAuto
ConOut("Incluido com sucesso! " + cCodReg)
Else
ConOut("Erro na inclusao!")
EndIf
Else
ConOut(cMsgLog)
EndIf
ConOut("Fim: " + Time())
RESET ENVIRONMENT
Return(.T.) |