¿Cómo sustituir las fórmulas obsoletas en el formulario?
Sustitución de funciones SQL obsoletas por métodos seguros
A partir de las versiones 2.2.0.388 y 2.2.1.145, entraron en vigor nuevas reglas relacionadas con el uso de fórmulas depreciadas en el sistema.
Desde el 31 de diciembre de 2024, se ha impedido la inicialización de workflows si se identifican fórmulas depreciadas en formularios o actividades de los procesos. Sin embargo, las instancias que ya se estaban ejecutando pueden continuar utilizando las fórmulas sin interrupción.
Las funciones EXECUTESQL, ABRIRZOOMSQL y UPDATEGRIDZOOMSQL han sido depreciadas en la versión 2.1.3 y, a partir del 30 de junio de 2025, ya no serán ejecutadas por el sistema.
Es imprescindible sustituir estas llamadas por las nuevas funciones QUERYEXECUTE , QUERYZOOM y QUERYZOOMTOGRID, respectivamente.
Este cambio refuerza significativamente la seguridad, ya que impide que se incluyan comandos SQL directamente en las fórmulas.
Las nuevas funciones requieren que el SQL se registre previamente (directamente en el formulario o a través de un acceso directo en la barra de tareas), lo que garantiza un mayor control y protección de los datos.
A partir del 30 de junio de 2025, los ajustes descritos en este artículo son obligatorios para adaptar los formularios que aún utilizan las fórmulas depreciadas.
Sustitución de la función EXECUTESQL
La función EXECUTESQL ejecutaba un comando SQL y asignaba el resultado a los campos del formulario.
Por ejemplo, para obtener el líder de un usuario ingresado en el campo ID# y registrar ese valor en el campo Leader, se usaba:

Para adoptar el nuevo enfoque, siga los pasos a continuación:
1. Registre la consulta SQL en la sección Queries. Defina, en Queries, el comando que recupera el líder en función del identificador del usuario.

2. Reemplace la fórmula obsoleta EXECUTESQL con la nueva función QUERYEXECUTE. Utilice el identificador de la consulta registrada e introduzca los campos que recibirán el retorno de la consulta.
Por ejemplo:

De esta manera, todo SQL permanece registrado en la sección Queries y solo se hace referencia al identificador en la fórmula del formulario.
Sustitución de la función ABRIRZOOMSQL
La función ABRIRZOOMSQL mostraba los registros resultantes de una consulta SQL y asignaba el registro seleccionado a los campos específicos del formulario.
Suponga que se utiliza para listar departamentos y asignar el elegido al campo Department:

Para migrar al nuevo estándar, siga los pasos a continuación:
1. Registre la consulta SQL en la sección Queries. Cree una consulta que devuelva los departamentos, con columnas, como un nombre.

2. Sustituya ABRIRZOOMSQL por QUERYZOOM:
- Utilice el identificador de la consulta.
- Especifique los campos que recibirán los valores del registro seleccionado.
- Establezca las columnas que serán mostradas en el zoom.
Por ejemplo:

Así, la lógica para presentar los registros y asignarlos al formulario se centraliza en la configuración de la sección Queries, garantizando mayor claridad y seguridad.
Sustitución de la función UPDATEGRIDZOOMSQL
La función UPDATEGRIDZOOMSQL mostraba los registros devueltos por una consulta SQL y asignaba los elementos seleccionados a una tabla (grid) del formulario. Por ejemplo, para listar los productos y registrarlos en la tabla.

Para adoptar el método seguro, siga los pasos a continuación:
1. Registre la consulta SQL en la sección Queries. Cree una consulta que recupere los productos, incluyendo las columnas como Nombre y Precio.

2. Sustituya UPDATEGRIDZOOMSQL por QUERYZOOMTOGRID:
- Utilice el identificador de la consulta.
- Ingrese el identificador de la relación de la tabla.
- Especifique los campos que recibirán los valores.
- Indique si la tabla debe limpiarse antes de la actualización (VERDADERO/FALSO), además de las columnas que se mostrarán al usuario.
Por ejemplo:

De esta manera, la visualización y la inserción de los registros en la tabla están completamente vinculados a consultas previamente definidas, lo que aumenta la consistencia y la seguridad del formulario.
Actualización de registros de formulario con fórmulas obsoletas
Los registros de formulario utilizan la revisión vigente en el momento en que fueron creados. Incluso si aparecen nuevas revisiones, estos registros permanecen vinculados a esa versión.
Para aplicar las nuevas reglas y, en consecuencia, las nuevas funciones en los registros existentes, es necesario actualizar la revisión manualmente. Para eso, siga los pasos a continuación:
1. Acceda al menú Gestión > Revisión (FO017).
2. Busque el nombre del formulario cuya revisión desea actualizar y selecciónelo.
3. Haga clic en Más y seleccione la opción Sustituir revisión obsoleta.
4. Seleccione la revisión que contiene las fórmulas depreciadas y confirme el cambio.
Después de esta acción, todos los registros vinculados a la revisión antigua se migrarán automáticamente a la revisión vigente, utilizando las nuevas funciones de la consulta.
Con estos cambios, el uso de las nuevas funciones QUERYEXECUTE, QUERYZOOM y QUERYZOOMTOGRID debe garantizar más seguridad y organización a la hora de desarrollar fórmulas en los formularios, ya que todo el SQL estará centralizado en la sección Queries y ya no será incrustado directamente en las fórmulas.