ÍNDICE

  1. Visión general
  2. Descripción
  3. Sintaxis
  4. Parámetro
  5. Devolución
  6. Ejemplos

01. VISIÓN GENERAL

Línea de producto:

Microsiga Protheus®

Segmento:

Servicios

Módulo:

SIGAFAT - Facturación

Función:

FATA180 - Reglas de bonificación financiera

Alcances:

Microsiga Protheus 12

Versiones:

Microsiga Protheus 12

Compatible países:

Todos

Sistemas operativos:

Todos

Compatible con las bases de datos:

Todos

Nivel de acceso:

Nivel 1 (Acceso Clientes)

Idiomas:

Todos


02. DESCRIPCIÓN

Una función utilizada para incluir, cambiar y eliminar las Reglas de bonificación financiera para clientes o grupos de clientes a través de la rutina automática (ExecAuto).

03. SINTAXIS

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

04. PARÁMETRO

Nombre

Tipo

Descripción

Estándar

Obligatorio

aCabec

 Array de registros

Array que contiene campos de encabezado(AI1)


aItens

 Array de registros

 Array que contiene los campos de los elementos(AI2)


nOpcX

Numérico (opción de ejecución)

3 = Inclusión; 4 = Modificación; 5 = Borrado



05. RESPUESTA

  • No hay.

06. EJEMPLOS

Seleccione la siguiente operación deseada según su necesidad de ejecución:


Este es el ejemplo básico para ejecutar la Inclusión de Reglas de Bonificación Financiera mediante la Rutina Automática:

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

User Function MyFata180()

Local cCodBnf    := ""               // Código de la regla de bonificación
Local cB1Cod     := "PROTUDO001"     // Código del producto
Local cMsgLog    := ""
Local cFilSB1    := ""
Local nOpcX      := 3                // Inclusión
Local aCabec     := {}
Local aItens     := {}
Local aLinha     := {}
Local lOk        := .T.
 
Private lMsErroAuto    := .F. // Indica si hubo error al ejecutar la rutina automática
Private lMsHelpAuto	  := .T. // Genera un mensaje de error como archivo .LOG en la system
 
//****************************************************************
//* Apertura del entorno
//****************************************************************
ConOut("Inicio: " + Time())
 
ConOut(Repl("-",80))
ConOut(PadC("Proceso de inclusión de las reglas de bonificación financiera", 80))
 
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "AI1","AI2","SA1","FJU"
 
//****************************************************************
//* Verifica si el producto existe //****************************************************************
SB1->(dbSetOrder(1))
cFilSB1 := xFilial("SB1")
If SB1->(! MsSeek(cFilSB1 + cB1Cod))
   cMsgLog += "Registrar el producto: " + cB1Cod + CRLF
   lOk     := .F.
EndIf
 
If lOk

   //|----------------------------------------------------|
   //| Genera código de reglas de bonificación financiera |
   //|----------------------------------------------------|
   cCodBnf := GetSxeNum("AI1", "AI1_CODBNF") 
 
   //|---------------------------------|
   //| INFORMA ENCABEZADO              |
   //|---------------------------------|
   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})

   //|---------------------------------|
   //| INFORMA ITEMS                  |
   //|---------------------------------|
   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 con éxito! " + cCodBnf)
   Else
      ConOut("¡Error en la inclusión!")
   EndIf
 
Else
 
   ConOut(cMsgLog)
 
EndIf
 
ConOut("Fin: " + Time())
 
RESET ENVIRONMENT
Return

Este es el ejemplo básico para ejecutar la Modificación de Reglas de Bonificación Financiera mediante la Rutina automática:

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

User Function MyFata180()

Local cCodBnf    := "000001"         // Código de la regla de bonificación financiera
Local cB1Cod     := "PROTUDO002"     // Código del producto
Local cMsgLog    := ""
Local cFilSB1    := ""
Local nOpcX      := 4                // Modificación
Local aCabec     := {}
Local aItens     := {}
Local aLinha     := {}
Local lOk        := .T.
 
Private lMsErroAuto    := .F. // Indica si hubo error al ejecutar la rutina automática
Private lMsHelpAuto	  := .T. // Genera un mensaje de error como archivo .LOG en la system
 
//****************************************************************
//* Apertura del entorno
//****************************************************************
ConOut("Inicio: " + Time())
 
ConOut(Repl("-",80))
ConOut(PadC("Proceso de modificación de las reglas de bonificación financiera", 80))
 
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FAT" TABLES "AI1","AI2","SA1","FJU"
 
//****************************************************************
//* Verifica si el producto existe //****************************************************************
SB1->(dbSetOrder(1))
cFilSB1 := xFilial("SB1")
If SB1->(! MsSeek(cFilSB1 + cB1Cod))
   cMsgLog += "Registrar el producto: " + cB1Cod + CRLF
   lOk     := .F.
EndIf
 
If lOk

   //|---------------------------------|
   //| INFORMA ENCABEZADO              |
   //|---------------------------------|
   aCabec   := {}
   aadd(aCabec, {"AI1_CODBNF",   cCodBnf,                          Nil})
   aadd(aCabec, {"AI1_DESCRI",   "MODIFICACIÓN DE REGLA BONIF. FIN.", Nil})

   //|---------------------------------|
   //| INFORMA ITEMS                  |
   //|---------------------------------|
   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("¡Modificado con éxito! " + cCodBnf)
   Else
      ConOut("¡Error al modificar!")
   EndIf
 
Else
 
   ConOut(cMsgLog)
 
EndIf
 
ConOut("Fin: " + Time())
 
RESET ENVIRONMENT
Return

Este es el ejemplo básico para ejecutar el Borrado de Reglas de Bonificación Financiera mediante la Rutina automática:

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

User Function MyFata180()

Local cCodBnf	:= "000001" // Código de la regla
Local nOpcX     := 5        // Borrado
Local aCabec    := {}
 
Private lMsErroAuto := .F. // Indica si hubo error al ejecutar la rutina automática
Private lMsHelpAuto := .T. // Genera un mensaje de error como archivo .LOG en la system
 
//****************************************************************
//* Apertura del entorno
//****************************************************************
ConOut("Inicio: " + Time())
 
ConOut(Repl("-",80))
ConOut(PadC("Proceso de eliminación de las reglas de bonificación financiera", 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("¡Eliminado con éxito! " + cCodReg)
Else
   ConOut("¡Error al eliminar!")
EndIf

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