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 |
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).
MSExecAuto({|a, b, c| FATA180(a, b, c)}, aCabec, aItens, nOpcX)
Nombre | Tipo | Descripción | Estándar | Obligatorio |
aCabec | Array de registros | Array que contiene campos de encabezado(AI1) | Sí | |
aItens | Array de registros | Array que contiene los campos de los elementos(AI2) | Sí | |
nOpcX | Numérico (opción de ejecución) | 3 = Inclusión; 4 = Modificación; 5 = Borrado | Sí |
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