Blog

Fórmulas dinámicas

Fórmulas dinámicas 1En la versión 7.3 se ha implementado un nuevo tipo de campo objeto: Fórmula dinámica. Se trata de un campo cuyo contenido será una fórmula que podrá ser definida en tiempo de ejecución por el usuario final. En el campo, por tanto, se guardará la definición de la fórmula y no del cálculo de su valor efectivo. En este artículo veremos paso a paso cómo hacer uso del él.

1. Crear el campo en el proyecto de datos

Cuando en una tabla declaramos un campo de este tipo tendremos que indicar cuál será la tabla de la que se partirá como origen de la fórmula, qué podrá ser o bien la misma tabla, o bien cualquiera de sus maestros.

Fórmulas dinámicas 2

2. Crear el control en el proyecto de aplicación para que el usuario final pueda declarar la fórmula

Para ello tendremos que crear, dentro de un formulario asociado a la tabla donde hemos declarado el campo, un control del tipo Fórmulas dinámicas 3 Edición fórmula.

Este control en ejecución llevará embebido un botón que abrirá el asistente para edición de fórmulas para facilitar al usuario su creación:

Fórmulas dinámicas 4

3. Cálculo de la fórmula

La fórmula podrá ser calculada en cualquier subobjeto donde se pueda especificar una fórmula (en el contenido inicial o en la fórmula de un campo, en un control de edición de formularios, etc.). Para ello haremos uso de la función de campo llamada calcDynamicFormula(). Su sintaxis es:

#ID_CAMPO:calcDynamicFormula()

Donde #ID_CAMPO será el identificador del campo tipo objeto fórmula dinámica.

Si queremos verificar si es correcta la sintaxis de una fórmula dinámica establecida por un usuario final podremos hacerlo ejecutando un proceso que haga uso del comando de instrucción Comprobar fórmula dinámica.

Por último, comentar que tenéis a vuestra disposición un tutor de ejemplo de uso de las fórmulas dinámicas. En dicho tutor encontraréis desarrollados dos ejemplos:

  • Crear un texto definible por el usuario final usando campos de varias tablas (Su posible aplicación sería la creación de cartas tipo para mailings).
  • Crear una función que pueda ser llamada de forma remota para retornar los datos de un registro en formato XML.

Las posibilidades que tienen las fórmulas dinámicas son enormes. Además de los ejemplos del tutor podríamos usarlas para crear fórmulas para el cálculo de nóminas, para realización de operaciones matemáticas, para la generación de contenido html…

4 thoughts on “Fórmulas dinámicas

  1. Buenas tardes:
     
    Desconozco todas las diferencias existentes, pero una si la conozco:
     
    En v6 la fórmula «efectiva» está limitada a 512 caracteres y en v7 son muchos miles de caracteres (no recuerdo la cifra, pero más que suficiente).
     
    Esta limitación de v6 la he sufrido bastante en mis aplicaciones y se agradece que se haya solucionado en v7.
     
    Un saludo,
     
    Fran
    EfeUno Consultores de Gestión y Software, S.L.
    http://www.efeuno.org
    fjpnovo@efeuno.org
     
     

  2. Al tratarse de un campo objeto, tiene un tamaño mínimo por defecto de 512 bytes y el tamaño máximo es 8.589.934.592 bytes (8 GB). Imaginamos que será suficiente para cualquier fórmula ya que, además, la información se guarda comprimida, igual que los objetos texto.

Dejar un comentario