Esta vitamina te ayudará a optimizar altas con muchas fórmulas o contenidos iniciales en Velneo. Si necesitas optimizar las altas y modificaciones de muchos registros en una tabla que tenga decenas o cientos de campos, con muchos campos fórmula o campos que usan contenidos iniciales con dependencias al contenido de otros campos, a continuación aprenderás como hacerlo de forma sencilla.
Existe una forma sencilla de optimizar esa transacción consiguiendo un importante ahorro de tiempo dependiendo del número de campos y de la complejidad de los contenidos iniciales.
La tabla donde queremos crear o modificar los registros
En este ejemplo vamos a usar esta tabla de estadísticas:
Los campos fórmula INGRESOS_T1 a INGRESOS_T4 se calculan como la suma de los ingresos de cada trimestre. El campo fórmula INGRESOS_TOT se calcula como la suma de los ingresos de los 4 trimestres.
Por lo tanto cada vez que se cambia el valor del ingreso en un mes se fuerza el cálculo del total del trimestre correspondiente y también del total ingresos.
Y esto mismo ocurriría con los gastos, resultados brutos, y los múltiples cálculos que se suelen realizar en este tipo de tablas.
Proceso sin optimizar
Tal y como vemos en este proceso y continuando con lo comentado en la tabla, cada vez que modificamos un campo de la tabla estamos forzando el cálculo de múltiples fórmulas que a su vez intervienen en otros contenidos iniciales que también se calculan, y así sucesivamente de forma recursiva.
¿Se puede optimizar de forma sencilla? Sí
¿Cómo?
Gracias al uso de dos nuevos comandos de instrucción que aparecieron en la versión 7.12. Con ellos vamos a conseguir modificar todos los campos de la tabla sin que se disparen los contenidos iniciales y cuando hayamos alimentado el valor de todos los campos forzaremos una única vez el cálculo de todos los contenidos iniciales.
A continuación vemos como sería el proceso optimizado:
Si te fijas en el proceso verás 2 cambios sutiles respecto al proceso original. Ahora en lugar de utilizar el comando modificar campo usamos el comando modificar campo solamente que no disparará los contenidos iniciales tras modificar el valor de cada campo en el registro. Al finalizar la modificación de los campos se ha añadido el comando Calcula campos dependientes que se encarga de realizar una única vez el cálculo de los contenidos iniciales.
Otras consideraciones
Aunque en nuestro ejemplo no tenemos campos con contenidos iniciales y persistencia en disco el utilizar esta técnica nos permitirá evitar que se calculen los campos fórmula con lo que también ahorramos tiempo.
Si durante la modificación de los campos necesitásemos tener realizado en ese momento algún cálculo de fórmulas o basado en contenidos iniciales, siempre podremos ejecutar en ese punto del proceso el comando Calcula campos dependientes que puede ejecutarse cuantas veces sea necesario. Sin embargo, al ser el programador el que decide cuando debe ejecutarse lo optimizará para que se calcule el menor número de veces posible.
Ahorro de tiempo considerable
La cantidad de tiempo que ahorrarás usando estos nuevos comandos puede llegar a ser muy notable, por lo que deberías potenciar su uso siempre que sea viable. Recuerda que una aplicación rápida siempre ofrece una mejor experiencia al usuario.
Humberto Celis dice
El comando «Calcular campos dependientes» calcula los campos dependientes únicamente de los campos modificados con el comando «Modificar campo solamente»? o calcula todos los contenidos iniciales de la ficha?
jarboleya dice
Hola Humberto.
El comando de instrucción Calcular campos dependientes calcula los contenidos iniciales de todos los campos que tengan dependencia, es decir, que tengan definido un contenido inicial en cuya fórmula intervenga algún campo que haya cambiado.
Haciendo Modificar campo solamente y al final Calcular campos dependientes obtendrás el mismo resultado que si hicieses Modificar campo, pero con mejor rendimiento.
Un saludo.