Tradicionalmente en Velneo hemos usado el comando ¿Ha cambiado el campo? para controlar cuando el valor de un campo había sido modificado.
Ahorrando código y subobjetos
Gracias al uso de la función de campo isModified() podemos detectar si el valor de un campo ha cambiado de forma directa en la fórmula ahorrándonos dos cosas:
- Una línea con el comando ¿Ha cambiado el campo?
- Una variable local booleana
Ejemplos comparativos
Vemos a continuación la diferencia entre hacerlo con el comando y con la función de campo.
Con el comando.
Este código muestra las líneas donde se controla si ha cambiado el campo dejando en una variable local booleana el valor.
Estas son las variables que es necesario declarar para usar con los comandos de instrucción del código anterior.
Con la función de campo.
Este es el código que se necesita para hacer lo mismo con la función de campo. El ahorro de código y subobjetos es muy notable.
Para escribir funciones de campos en el editor de la fórmula, simplemente tenemos que escribir dos puntos «:» después del identificador del campo y se abrirá una lista de selección, donde si comenzamos a escribir «ism» ya se mostrará la función isModified().
¿Merece la pena hacer Refactoring?
En principio el código antiguo no es necesario repasarlo, pero sí utilizarlo en el nuevo código.
Esteban dice
Es una pena que este comando no esté acompañado de otro que nos permita consultar el contenido del campo antes de la modificación, tipo oldValue()
Alex dice
Buen artículo, ayuda bastante a mejorar.