01. VISÃO GERAL
Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Serviços |
Módulo: | SIGAFAT - Faturamento |
Função: | FATA080 - Manutenção das Regras de Desconto |
Abrangências: | Microsiga Protheus 12 |
Versões: | Microsiga Protheus 12 |
Compatível Países: | Todos |
Sistemas Operacionais: | Todos |
Compatível com as Bases de Dados: | Todos |
Nível de Acesso: | Nível 1 (Acesso Clientes) |
Idiomas: | Todos |
02. DESCRICÃO
Função utilizada para inclusão, alteração e exclusão das Regras de Desconto via rotina automática (ExecAuto).
03. SINTAXE
MSExecAuto({|a, b, c| FATA080(a, b, c)}, aCabec, aItens, nOpcX)
04. PARÂMETROS
Nome | Tipo | Descrição | Default | Obrigatório |
---|---|---|---|---|
aCabec | Array de registros | Array contendo os campos do cabeçalho (ACO) | Sim | |
aItens | Array de registros | Array contendo os campos dos itens (ACP) | Sim | |
nOpcX | Numérico (opção de execução) | 3 = Inclusão; 4 = Alteração; 5 = Exclusão | Sim |
05. RETORNO
Não há.
06. EXEMPLOS
Escolha a operação desejada abaixo de acordo com a sua necessidade de execução:
Este é o exemplo básico para a execução da Inclusão da Regra de Desconto via Rotina Automática:
#INCLUDE "PROTHEUS.CH" #INCLUDE "TBICONN.CH" 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_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
Este é o exemplo básico para a execução da Alteração da Regra de Desconto via Rotina Automática:
#INCLUDE "PROTHEUS.CH" #INCLUDE "TBICONN.CH" User Function MyFata080() Local cCodReg := "000001" // Código da Regra Local cB1Cod := "PRODUTO002" // Código do Produto Local cMsgLog := "" Local cFilSB1 := "" Local nOpcX := 4 // Alteraçã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 alteração 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 //|---------------------------------| //| CABECALHO | //|---------------------------------| aCabec := {} aadd(aCabec, {"ACO_CODREG", cCodReg, Nil}) aadd(aCabec, {"ACO_DESCRI", "ALTERACAO DE REGRA DE DESCONTO", Nil}) //|---------------------------------| //| ITENS | //|---------------------------------| aLinha := {} aadd(aLinha,{"LINPOS", "ACP_ITEM", '001'}) aadd(aLinha,{"AUTDELETA", "N", Nil}) aadd(aLinha,{"ACP_CODPRO", cB1Cod, Nil}) aadd(aLinha,{"ACP_PERDES", 15, Nil}) aadd(aItens, aLinha) MSExecAuto({|a, b, c| FATA080(a, b, c)}, aCabec, aItens, nOpcX, .F.) If !lMsErroAuto ConOut("Alterada com sucesso! " + cCodReg) Else ConOut("Erro na alteração!") EndIf Else ConOut(cMsgLog) EndIf ConOut("Fim: " + Time()) RESET ENVIRONMENT Return
Este é o exemplo básico para a execução da Exclusão da Regra de Desconto via Rotina Automática:
#INCLUDE "PROTHEUS.CH" #INCLUDE "TBICONN.CH" User Function MyFata080() Local cCodReg := "000001" // Código da Regra Local nOpcX := 5 // Exclusão Local aCabec := {} 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 exclusão de Regra de Desconto", 80)) PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "ACO","ACP","SA1","SBM" aCabec := {} aadd(aCabec, {"ACO_CODREG", cCodReg, Nil}) MSExecAuto({|a, b, c| FATA080(a, b, c)}, aCabec, {}, nOpcX, .F.) If !lMsErroAuto ConOut("Excluida com sucesso! " + cCodReg) Else ConOut("Erro na exclusão!") EndIf ConOut("Fim: " + Time()) RESET ENVIRONMENT Return
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas