Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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).

...

Totvs custom tabs box
tabsInclusão, Alteração, Exclusão
idsInclusao,Alteracao,Exclusao
Totvs custom tabs box items
defaultyes
referenciaInclusao

Este é o exemplo básico para a execução da Inclusão da  de Regras de Bonificação Financeira via Rotina Automática:

Bloco de código
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"

User Function MyFata080MyFata180()

Local cCodRegcCodBnf    := ""               // Código da Regra de Bonificação Financeira
Local cB1Cod     := "PRODUTO001PROTUDO001"     // 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 inclusaoinclusão de RegraRegras de Bonificação DescontoFinanceira", 80))
 
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "ACOAI1","ACPAI2","SA1","SBMFJU"
 
//****************************************************************
//* 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ódigoCódigo da Regra de Bonificação Financeira Desconto|
   //|-------------------------------------|
   cCodReg-----------|
   cCodBnf := GetSxeNum("ACOAI1", "ACOAI1_CODREGCODBNF") 
 
   //|---------------------------------|
   //| PREENCHE CABECALHO              |
   //|---------------------------------|
   aCabec   := {}
   aadd(aCabec, {"ACOAI1_CODREGCODBNF",   cCodRegcCodBnf,                          Nil})
   aadd(aCabec, {"ACOAI1_DESCRI",   "INCLUSAOINCLUSÃO DE REGRA DEBONIF. DESCONTOFIN.",  Nil})
   aadd(aCabec, {"ACOAI1_MOEDACODCLI",    1,      "FAT001",                         Nil})
   aadd(aCabec, {"ACOAI1_TPHORALOJA",     '101',                             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,{"ACPAI2_ITEM",      '00101',    Nil})
   aadd(aLinha,{"ACPAI2_CODPRO",    cB1Cod,  Nil})
   aadd(aLinha,{"ACP_PERDESAI2_VALORC",    10,      Nil})
   aadd(aLinha,{"AI2_VALORB",    10,      Nil})
   aadd(aItens, aLinha)
 
   MSExecAuto({|a, b, c| FATA080FATA180(a, b, c)}, aCabec, aItens, nOpcX, .F.)
   
   If !lMsErroAuto
      ConOut("Incluido com sucesso! " + cCodRegcCodBnf)
   Else
      ConOut("Erro na inclusao!")
   EndIf
 
Else
 
   ConOut(cMsgLog)
 
EndIf
 
ConOut("Fim: " + Time())
 
RESET ENVIRONMENT
Return
Totvs custom tabs box items
defaultno
referenciaAlteracao

Este é o exemplo básico para a execução da Alteração da de Regras de Bonificação Financeira via Rotina Automática:

Bloco de código
linenumberstrue
#INCLUDE "PROTHEUS.CH" 
#INCLUDE "TBICONN.CH"

User Function MyFata080MyFata180()

Local cCodRegcCodBnf    := "000001"         // Código da Regra  // Código da Regrade Bonificação Financeira
Local cB1Cod     := "PRODUTO002PROTUDO002"          // 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 RegraRegras de Bonificação DescontoFinanceira", 80))
 
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "ACOAI1","ACPAI2","SA1","SBMFJU"
 
//****************************************************************
//* 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, {"ACOAI1_CODREGCODBNF",   cCodRegcCodBnf,                          Nil})
   aadd(aCabec, {"ACOAI1_DESCRI",   "ALTERACAOALTERAÇÃO DE REGRA DEBONIF. DESCONTOFIN.", Nil})

   //|---------------------------------|
   //| PREENCHE ITENS                  |
   //|---------------------------------|
   aLinha := {}
   aadd(aLinha,{"LINPOSAI2_ITEM",      "ACP_ITEM", '01',    '001'Nil})
   aadd(aLinha,{"AUTDELETAAI2_CODPRO",  "N",      cB1Cod,      Nil})
   aadd(aLinha,{"ACPAI2_CODPROVALORC", cB1Cod,   15,      Nil})
   aadd(aLinha,{"ACPAI2_PERDESVALORB",    15,            Nil})
   aadd(aItens, aLinha)
 
   MSExecAuto({|a, b, c| FATA080FATA180(a, b, c)}, aCabec, aItens, nOpcX, .F.)
   
   If !lMsErroAuto
      ConOut("Alterada com sucesso! " + cCodRegcCodBnf)
   Else
      ConOut("Erro na alteração!")
   EndIf
 
Else
 
   ConOut(cMsgLog)
 
EndIf
 
ConOut("Fim: " + Time())
 
RESET ENVIRONMENT
Return
Totvs custom tabs box items
defaultno
referenciaExclusao

Este é o exemplo básico para a execução da Exclusão da de Regras de Bonificação Financeira via Rotina Automática:

Bloco de código
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"

User Function MyFata080MyFata180()

Local cCodReg    := "000001"        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 RegraRegras de Bonificação DescontoFinanceira", 80))
 
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "ACOAI1","ACPAI2","SA1","SBMFJU"   
 
aCabec   := {}
aadd(aCabec, {"ACOAI1_CODREGCODBNF",   cCodReg,                cCodBnf, Nil})

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

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

...