Árvore de páginas

Versões comparadas

Chave

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

...

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 de Regras de Bonificação Financeira via Rotina Automática:

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

User Function MyFata180()

Local cCodBnf    := ""                                   // Código da Regra de Bonificação Financeira
Local cB1Cod     := "FATR00000000000000000000000001PROTUDO001"     // 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
Totvs custom tabs box items
defaultno
referenciaAlteracao

Este é o exemplo básico para a execução da Alteração 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 de 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 DescontoBonificação Financeira", 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 de Regras de Bonificação Financeira via Rotina Automática:

Bloco de código
linenumberstrue
#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

...