Árvore de páginas


CONTEÚDO

  1. Visão Geral
  2. Descrição
  3. Sintaxe
  4. Parâmetro
  5. Retorno
  6. Exemplos


01. VISÃO GERAL

Linha de Produto:Microsiga Protheus®
Segmento:Serviços
Módulo:SIGAFAT - Faturamento
Função:FATA180 - Regras de Bonificação Financeira
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. DESCRIÇÃO

Função utilizada para inclusão, alteração e exclusão das Regras de Bonificação Financeira para clientes ou grupo de clientes via rotina automática (ExecAuto).

03. SINTAXE

MSExecAuto({|a, b, c| FATA180(a, b, c)}, aCabec, aItens, nOpcX)

04. PARÂMETRO

Nome

TipoDescriçãoDefaultObrigatório
aCabecArray de registrosArray contendo os campos do cabeçalho (AI1)
Sim
aItensArray de registrosArray contendo os campos dos itens (AI2)
Sim
nOpcXNumé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 de Regras de Bonificação Financeira via Rotina Automática:

#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"

User Function MyFata180()

Local cCodBnf    := ""               // Código da Regra de Bonificação Financeira
Local cB1Cod     := "PROTUDO001"     // 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 inclusão de Regras de Bonificação Financeira", 80))
 
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "AI1","AI2","SA1","FJU"
 
//****************************************************************
//* 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 Bonificação Financeira |
   //|------------------------------------------------|
   cCodBnf := GetSxeNum("AI1", "AI1_CODBNF") 
 
   //|---------------------------------|
   //| PREENCHE CABECALHO              |
   //|---------------------------------|
   aCabec   := {}
   aadd(aCabec, {"AI1_CODBNF",   cCodBnf,                          Nil})
   aadd(aCabec, {"AI1_DESCRI",   "INCLUSÃO DE REGRA BONIF. FIN.",  Nil})
   aadd(aCabec, {"AI1_CODCLI",   "FAT001",                         Nil})
   aadd(aCabec, {"AI1_LOJA",     '01',                             Nil})

   //|---------------------------------|
   //| PREENCHE ITENS                  |
   //|---------------------------------|
   aLinha := {}
   aadd(aLinha,{"AI2_ITEM",      '01',    Nil})
   aadd(aLinha,{"AI2_CODPRO",    cB1Cod,  Nil})
   aadd(aLinha,{"AI2_VALORC",    10,      Nil})
   aadd(aLinha,{"AI2_VALORB",    10,      Nil})
   aadd(aItens, aLinha)
 
   MSExecAuto({|a, b, c| FATA180(a, b, c)}, aCabec, aItens, nOpcX, .F.)
   
   If !lMsErroAuto
      ConOut("Incluido com sucesso! " + cCodBnf)
   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 de Regras de Bonificação Financeira via Rotina Automática:

#INCLUDE "PROTHEUS.CH" 
#INCLUDE "TBICONN.CH"

User Function MyFata180()

Local cCodBnf    := "000001"         // Código da Regra de Bonificação Financeira
Local cB1Cod     := "PROTUDO002"     // 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 Regras de Bonificação Financeira", 80))
 
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "AI1","AI2","SA1","FJU"
 
//****************************************************************
//* 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

   //|---------------------------------|
   //| PREENCHE CABECALHO              |
   //|---------------------------------|
   aCabec   := {}
   aadd(aCabec, {"AI1_CODBNF",   cCodBnf,                          Nil})
   aadd(aCabec, {"AI1_DESCRI",   "ALTERAÇÃO DE REGRA BONIF. FIN.", Nil})

   //|---------------------------------|
   //| PREENCHE ITENS                  |
   //|---------------------------------|
   aLinha := {}
   aadd(aLinha,{"AI2_ITEM",      '01',    Nil})
   aadd(aLinha,{"AI2_CODPRO",    cB1Cod,  Nil})
   aadd(aLinha,{"AI2_VALORC",    15,      Nil})
   aadd(aLinha,{"AI2_VALORB",    15,      Nil})
   aadd(aItens, aLinha)
 
   MSExecAuto({|a, b, c| FATA180(a, b, c)}, aCabec, aItens, nOpcX, .F.)
   
   If !lMsErroAuto
      ConOut("Alterada com sucesso! " + cCodBnf)
   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 de Regras de Bonificação Financeira via Rotina Automática:

#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"

User Function MyFata180()

Local cCodBnf	:= "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 Regras de Bonificação Financeira", 80))
 
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "AI1","AI2","SA1","FJU"   

aCabec := {}
aadd(aCabec, {"AI1_CODBNF", cCodBnf, Nil})

MSExecAuto({|a, b, c| FATA180(a, b, c)}, aCabec, {}, nOpcX, .F.)
   
If !lMsErroAuto
   ConOut("Excluída com sucesso! " + cCodReg)
Else
   ConOut("Erro na exclusão!")
EndIf

ConOut("Fim: " + Time())
 
RESET ENVIRONMENT
Return