CONTEÚDO
- Dados Gerais
- Descrição
- Sintaxe
- Parâmetros
- Retorno
- Exemplos
01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Serviços |
Módulo: | SIGAFAT - Faturamento |
Função: | FATA050 - Metas de Venda |
Abrangências: | Microsiga Protheus 12, Protheus 11 |
Versões: | Microsiga Protheus 12, Protheus 11 |
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. DESCRIÇÃO
Função utilizada para inclusão, alteração ou exclusão de Metas de Venda via rotina automática (ExecAuto).
Observação
Apesar do cadastro de Metas de Vendas possuir cabeçalho e grid, as informações são registradas em uma única tabela (SCT)
03. SINTAXE
MSExecAuto({|a, b, c| FATA050(a, b, c)}, aCabec, aGrid, nOpcX)
04. PARÂMETROS
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
aCabec | Array de registros | Array contendo os campos do cabeçalho (SCT) | Sim |
aGrid | Array de registros | Array contendo os campos da Grid (SCT) | Sim |
nOpcX | Numérico (opção de execução) | 3 = Inclusão; 4 = Alteração; 5 = Exclusão | Sim |
05. RETORNO
{}
06. EXEMPLOS
Escolha o modelo desejado abaixo de acordo com a operação a ser executada:
Exemplo básico para a execução de Inclusão de Metas de Venda via Rotina Automática:
#INCLUDE "PROTHEUS.CH" #INCLUDE "TBICONN.CH" User Function MyFATA050 Local cDescri := "META DE VENDA" Local cVend1 := "Vend01" Local nQtd1 := 1 Local nValor1 := 100 Local cVend2 := "Vend02" Local nQtd2 := 2 Local nValor2 := 200 Local nOpcX := 3 Local nCount := 0 Local aErroAuto := {} Private lMsErroAuto := .F. Private lAutoErrNoFile := .F. //* Abertura do ambiente ConOut("Inicio: " + Time()) ConOut(Repl("-",80)) ConOut(PadC("Inclusao de Meta de Venda", 80)) PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "SCT","SA3" //* Inclusao - INÍCIO aCabec := {} aGrid := {} aLinha := {} //--- Informando os dados do Cabeçalho //**************************************************************** //* Por default da rotina o código da meta de venda é gerado de forma automática //* Caso queira informar um código especifico adicione o campo CT_DOC na array aCabec //* Exemplo: aadd(aCabec, {"CT_DOC", "Meta00001", Nil}) //**************************************************************** aadd(aCabec, {"CT_DESCRI", cDescri, Nil}) //--- Informando os dados da Grid aLinha := {} aadd(aLinha,{"CT_SEQUEN", '001', Nil}) aadd(aLinha,{"CT_VEND", cVend1, Nil}) aadd(aLinha,{"CT_QUANT", nQtd1, Nil}) aadd(aLinha,{"CT_VALOR", nValor1, Nil}) aadd(aGrid, aLinha) aLinha := {} aadd(aLinha,{"CT_SEQUEN", '002', Nil}) aadd(aLinha,{"CT_VEND", cVend2, Nil}) aadd(aLinha,{"CT_QUANT", nQtd2, Nil}) aadd(aLinha,{"CT_VALOR", nValor2, Nil}) aadd(aGrid, aLinha) //--- Commit da rotina MSExecAuto({|a, b, c| FATA050(a, b, c)}, aCabec, aGrid, nOpcX) If !lMsErroAuto ConOut("Incluida com sucesso!) Else ConOut("Erro na inclusao!") aErroAuto := GetAutoGRLog() For nCount := 1 To Len(aErroAuto) cLogErro += StrTran(StrTran(aErroAuto[nCount], "<", ""), "-", "") + " " ConOut(cLogErro) Next nCount EndIf RESET ENVIRONMENT Return(.T.)
Exemplo básico para a execução de Alteração de Metas de Venda via Rotina Automática:
#INCLUDE "PROTHEUS.CH" #INCLUDE "TBICONN.CH" User Function MyFATA050 Local cMeta := "Meta00001" //Meta a ser alterada Local cDescri := "META DE VENDA ALT" Local nOpcX := 4 Local nCount := 0 Local cSequen := "002" Local aErroAuto := {} Private lMsErroAuto := .F. Private lAutoErrNoFile := .F. //* Abertura do ambiente ConOut("Inicio: " + Time()) ConOut(Repl("-",80)) ConOut(PadC("Alteracao de Meta de Venda", 80)) PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "SCT","SA3" // Verifica se o registro que sera alterado existe SCT->(DBSetOrder(1)) If SCT->(! MsSeek(xFilial("SCT") + cMeta + cSequen)) cMsgLog += "Não foi localizada a Meta de Venda: " + cB1Cod + ",Sequencia: " + cSequen + CRLF lOk := .F. EndIf //* Alteracao - INÍCIO aCabec := {} aGrid := {} aLinha := {} //************************************************************************************************ //*** Neste exemplo estamos alterando a descrição no cabeçalho e a quantidade da sequencia 002 *** //************************************************************************************************ //--- Informando os dados do Cabeçalho aadd(aCabec, {"CT_DOC", cMeta, Nil}) aadd(aCabec, {"CT_DESCRI", cDescri, Nil}) //--- Informando os dados da Grid aLinha := {} aadd(aLinha,{"LINPOS", "CT_SEQUEN", '002'}) // Para alterar um item da grid é necessario informar sua sequencia com "LIMPOS" aadd(aLinha,{"AUTDELETA", "N", Nil}) aadd(aLinha,{"CT_QUANT", 5, Nil}) aadd(aGrid, aLinha) //--- Commit da rotina MSExecAuto({|a, b, c| FATA050(a, b, c)}, aCabec, aGrid, nOpcX) If !lMsErroAuto ConOut("Alterada com sucesso! " + cMeta) Else ConOut("Erro na alteração!") aErroAuto := GetAutoGRLog() For nCount := 1 To Len(aErroAuto) cLogErro += StrTran(StrTran(aErroAuto[nCount], "<", ""), "-", "") + " " ConOut(cLogErro) Next nCount EndIf RESET ENVIRONMENT Return(.T.)
Exemplo básico para a execução de Exclusão de Metas de Venda via Rotina Automática:
#INCLUDE "PROTHEUS.CH" #INCLUDE "TBICONN.CH" User Function MyFATA050 Local cMeta := "Meta00001" Local nOpcX := 5 Local nCount := 0 Local aErroAuto := {} Private lMsErroAuto := .F. Private lAutoErrNoFile := .F. //* Abertura do ambiente ConOut("Inicio: " + Time()) ConOut(Repl("-",80)) ConOut(PadC("Exclusão de Meta de Venda", 80)) PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "SCT","SA3" // Verifica se o registro que sera alterado existe SCT->(DBSetOrder(1)) If SCT->(! MsSeek(xFilial("SCT") + cMeta)) cMsgLog += "Não foi localizada a Meta de Venda: " + CRLF lOk := .F. EndIf //* Exclusão - INÍCIO aCabec := {} //--- Informando os dados do Cabeçalho aadd(aCabec, {"CT_DOC", cMeta, Nil}) //--- Commit da rotina MSExecAuto({|a, b, c| FATA050(a, b, c)}, aCabec, , nOpcX) If !lMsErroAuto ConOut("Excluida com sucesso! ") Else ConOut("Erro na exclusão!") aErroAuto := GetAutoGRLog() For nCount := 1 To Len(aErroAuto) cLogErro += StrTran(StrTran(aErroAuto[nCount], "<", ""), "-", "") + " " ConOut(cLogErro) Next nCount EndIf RESET ENVIRONMENT Return(.T.)
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas