Depuración y Optimización de Guiones en FileMaker Pro: Una Guía Exhaustiva

FileMaker Pro ofrece un conjunto robusto de herramientas para el desarrollo y la implementación eficiente de aplicaciones personalizadas. Entre estas herramientas, los guiones (scripts) juegan un papel fundamental en la automatización de tareas, la optimización de flujos de trabajo y la mejora de la experiencia del usuario. Sin embargo, la complejidad de los guiones a menudo requiere procesos de depuración y pruebas sistemáticas para asegurar su correcto funcionamiento. Este artículo profundiza en las funcionalidades de depuración y las utilidades avanzadas disponibles en FileMaker Pro, proporcionando una guía detallada para desarrolladores y administradores de bases de datos.

Depuración de código en un editor

El Depurador de Guiones: Una Herramienta Esencial para la Resolución de Problemas

El depurador de guiones en FileMaker Pro es una herramienta indispensable diseñada para facilitar las pruebas y depuraciones sistemáticas de los guiones creados. Permite a los desarrolladores examinar la ejecución de un guion paso a paso, identificar errores y comprender el flujo lógico del código.

Activación y Uso del Depurador de Guiones

Para iniciar el proceso de depuración, puede abrir el Depurador de Guiones desde el cuadro de diálogo "Gestionar guiones". Seleccione un guion específico y, manteniendo presionada la tecla Mayús, haga clic en el botón "Ejecutar". Esta acción abrirá la ventana del depurador, lista para comenzar el análisis. Para cerrar el depurador, pulse Ctrl (en Windows) o Comando (en Mac OS) y haga clic en el botón "Ejecutar" nuevamente.

Dentro del depurador, encontrará varias opciones de control de ejecución:

  • Asignar control al paso resaltado: Este comando asigna el control al paso actualmente resaltado en la ventana del depurador, pero no lo ejecuta inmediatamente. El paso se ejecutará solo al reanudar la ejecución del guion o al avanzar con los pasos de depuración. Es importante notar que ninguno de los pasos de guion que se encuentren entre el último paso ejecutado y el siguiente paso asignado se ejecutarán.
  • Ejecutar hasta el final o hasta un punto de interrupción: Puede alternar entre la ejecución de todos los pasos de guion hasta el final del script o hasta que se encuentre un punto de interrupción predefinido. Los puntos de interrupción permiten detener la ejecución en momentos específicos para inspeccionar el estado del guion.
  • Pausa: Al poner un guion en pausa, tiene la capacidad de hacer doble clic en el guion dentro de la lista de "Pila de llamadas" para editarlo directamente. Cada guion activo se abre en una pestaña separada dentro del "Espacio de trabajo de guiones", lo que facilita la edición simultánea de varios guiones.

Puntos de Interrupción y su Funcionalidad

Los puntos de interrupción son marcadores que puede establecer dentro de un guion. Permiten al depurador detener la ejecución en ubicaciones específicas, lo que es crucial para examinar el estado del guion en ese preciso momento. Puede establecer o borrar puntos de interrupción directamente en el depurador o al crear el guion. Para establecer un punto de interrupción al crear guiones, simplemente haga clic en el área a la izquierda del paso de guion deseado. Estos puntos de interrupción se guardan junto con el guion. FileMaker Pro ignora los puntos de interrupción cuando el depurador no está activo.

Consideraciones sobre la Ejecución de Guiones

El depurador de guiones omite ciertos pasos para optimizar el proceso de depuración. Por ejemplo, el paso de guion "Permitir cancelación del usuario" con la opción establecida en "desactivado" no impedirá detener la ejecución del guion.

En cuanto a los privilegios de acceso, si un guion con privilegios "Modificable" ejecuta un guion con acceso "Sólo ejecutable", este último se ejecutará en su totalidad sin mostrar sus pasos en el depurador. Por el contrario, si un guion "Sólo ejecutable" ejecuta un guion con privilegios "Modificable", solo se mostrarán los pasos del guion "Modificable" en el depurador.

Visualización de Subguiones

Una característica valiosa del depurador es la capacidad de visualizar subguiones. Al desplazarse por los guiones dentro del depurador, puede ver y examinar las secuencias de comandos que son llamadas por otros guiones.

Interfaz del depurador de guiones de FileMaker

Registro de Errores de Guion: Capturando y Analizando Incidentes

La funcionalidad de registro de errores de guion es una herramienta poderosa para identificar y diagnosticar problemas que ocurren durante la ejecución de guiones. Permite recopilar información detallada sobre los errores que se producen, facilitando su posterior análisis y corrección.

Activación y Configuración del Registro de Errores

El registro de errores se controla mediante el paso de guion "Activo" o "Inactivo".

  • Activo: Inicia el registro de errores de guion. Una vez activado, se seguirán registrando errores para todos los guiones en el archivo actual hasta que el archivo se cierre o este paso de guion se ejecute nuevamente con la opción "Inactivo".
  • Inactivo: Detiene el registro de errores de guion.

Una vez que se activa el registro de errores y algún guion del archivo actual provoca el primer error de guion, se crea automáticamente un archivo llamado ScriptErrors.log en la carpeta "Documentos" del usuario. Cada vez que un paso de guion devuelve un código de error distinto de cero, se añade una entrada a este archivo de registro. Si el archivo de registro ya existe, las nuevas entradas se anexan al final del mismo.

Formato y Contenido del Archivo ScriptErrors.log

Cada línea del archivo ScriptErrors.log contiene información estructurada, separada por caracteres de tabulación, que detalla el incidente:

  • Fecha y hora: La fecha y hora en la que ocurrió el error en el cliente.
  • Número de sesión de la base de datos: El ID de la sesión en la que se estaba ejecutando el guion.
  • Extensión del archivo: El nombre del archivo de FileMaker que contiene el guion.
  • Nombre de cuenta: La cuenta de usuario que ejecutó el guion.
  • Nombre del guion [índice de guion]: El nombre del guion y su posición (empezando por 1) dentro del panel de guiones del "Espacio de trabajo de guiones".
  • Nombre del paso [número de línea]: El nombre del paso de guion específico que causó el error y su número de línea dentro del guion.
  • Código de error: El código numérico que representa el error específico. Puede consultar la documentación de FileMaker para obtener una lista detallada de los códigos de error.
  • Información de depuración personalizada: Una expresión que se evalúa cuando se registra un error de guion. Esta opción es particularmente útil para proporcionar información adicional y contextual que ayude en la depuración.

Información de Depuración Personalizada

La "información de depuración personalizada" es una expresión que se evalúa cuando se registra un error de guion. Al configurar esta opción, puede incluir variables, valores de campos o cálculos que proporcionen detalles adicionales sobre el estado del sistema en el momento del error. Esto es invaluable para diagnosticar problemas complejos que podrían no ser evidentes solo con el código de error estándar. Por ejemplo, podría incluir el valor de una variable clave o el contenido de un campo importante para entender por qué se produjo el error.

Compatibilidad y Consideraciones de Privilegios

El registro de errores de guion es una característica disponible en FileMaker Pro Advanced y FileMaker Go. No es compatible con FileMaker WebDirect, FileMaker Server, FileMaker Cloud, FileMaker Data API, Publicación en la Web personalizada o Soluciones en tiempo de ejecución.

Es importante destacar que para utilizar el paso de guion de registro de errores, el usuario o el guion deben poseer "privilegios de acceso total".

Diagrama de flujo de registro de errores

El Visor de Datos: Monitoreo en Tiempo Real de Variables y Campos

El Visor de Datos es una herramienta complementaria al depurador de guiones que permite supervisar expresiones, campos, variables y fórmulas de cálculos en tiempo real. Su utilidad se extiende tanto durante la ejecución de guiones como durante las pruebas en el depurador.

Uso y Funcionalidades del Visor de Datos

Puede abrir o cerrar la ventana del Visor de Datos para supervisar las expresiones especificadas. La pestaña "Observar" es donde puede introducir las expresiones que desea monitorizar, una por línea.

  • Evaluación Automática: En el cuadro de diálogo "Editar expresión", la opción "Evaluar automáticamente" actualiza el resultado de la expresión a medida que la escribe, proporcionando retroalimentación instantánea.
  • Valor Actual: Si hace doble clic en una expresión, se abrirá el cuadro de diálogo "Valor actual", que muestra el valor completo de la expresión. Este valor puede ser copiado.
  • Modificación de Valores: Puede modificar los valores de las variables directamente en el Visor de Datos, pero no los valores de los campos. Los cambios realizados en las variables se conservan hasta que se cierre el Visor de Datos o el Depurador de Guiones. Para confirmar los valores modificados, simplemente cierre el cuadro de diálogo.
  • Campos de Repetición: Los campos de repetición solo se muestran si contienen valores, indicados con el nombre del campo seguido de un corchete que contiene el valor. La primera repetición de un campo de repetición aparece sin corchetes.

Privilegios y Autenticación

Para utilizar el Visor de Datos, generalmente se requieren "privilegios de acceso total". Si intenta acceder al Visor de Datos sin los permisos adecuados, se le pedirá que inicie sesión con una cuenta que posea dichos privilegios.

Existe una interdependencia entre los privilegios de acceso al editar guiones en el depurador y al usar el visor de datos. Si inicia sesión para editar guiones restringidos en el depurador, sus privilegios de acceso se aplicarán también al visor de datos. De manera similar, si inicia sesión desde el visor de datos, sus privilegios se aplicarán al depurador de guiones. En ambos escenarios, los privilegios de edición se mantendrán hasta que cierre el depurador de guiones o el visor de datos.

Utilidades de Creador: Seguridad y Administración de Archivos

Las "Utilidades de creador" son un conjunto de herramientas avanzadas que ofrecen funcionalidades para la seguridad y la administración de archivos de bases de datos de FileMaker Pro. Estas utilidades permiten realizar acciones como cifrar y descifrar archivos, así como eliminar el acceso de administrador.

Activación de Herramientas Avanzadas

Para acceder y utilizar las "Utilidades de creador", es necesario reiniciar FileMaker Pro después de seleccionar el ajuste "Usar herramientas avanzadas". Este ajuste habilita el acceso a estas funciones de administración y seguridad.

Funcionalidades Clave

  • Cifrado y Descifrado de Archivos: Permite proteger la integridad y confidencialidad de los datos mediante el cifrado de archivos de bases de datos. El descifrado permite revertir este proceso cuando sea necesario.
  • Eliminación de Acceso de Admin: Ofrece la capacidad de eliminar el acceso de administrador de un archivo de base de datos. Esta función es crítica para la gestión de la seguridad y los permisos dentro de una solución de FileMaker.

Es fundamental tener en cuenta que el uso de estas herramientas avanzadas requiere un conocimiento profundo de la estructura y la seguridad de las bases de datos de FileMaker para evitar consecuencias no deseadas.

Fundamentos de Scripting en FileMaker: Bucles, Condiciones y Variables

Los guiones son una de las funcionalidades más potentes de FileMaker, permitiendo automatizar tareas repetitivas, crear flujos de trabajo complejos y mejorar la experiencia del usuario. Comprender los conceptos básicos de scripting es esencial para aprovechar al máximo estas capacidades.

¿Qué son los Guiones de FileMaker?

Los guiones de FileMaker son secuencias de instrucciones que se ejecutan automáticamente para completar tareas específicas dentro de una base de datos. Permiten automatizar procesos manuales, realizar cálculos complejos y optimizar la navegación y la interacción del usuario con la aplicación. Prácticamente cualquier tarea en FileMaker, desde guardar un registro hasta ejecutar flujos de trabajo multifacéticos, puede ser automatizada mediante guiones.

¿Por qué usar Guiones?

El uso de guiones en FileMaker ofrece múltiples beneficios:

  • Ahorro de Tiempo: Automatizan tareas recurrentes, liberando a los usuarios para que se enfoquen en actividades de mayor valor.
  • Reducción de Errores: Los guiones aseguran la coherencia en la ejecución de procesos, minimizando la posibilidad de errores humanos.
  • Aumento de la Eficacia: Crean flujos de trabajo optimizados que guían a los usuarios a través de la aplicación de manera más rápida y eficiente.

¿Dónde y Cómo se Escriben los Guiones?

Para crear y editar guiones, se utiliza el "Espacio de trabajo de guiones" de FileMaker. Se accede a él a través de la opción Guiones > Espacio de trabajo de guiones en la barra de menús. En este espacio, encontrará una lista de todos los guiones disponibles en su solución en la columna izquierda. La columna derecha muestra todos los comandos (pasos de guion) disponibles, los cuales se pueden filtrar por categorías y términos de búsqueda.

Conceptos Básicos de Scripting

  • Bucles: Los bucles permiten ejecutar un conjunto de instrucciones repetidamente. En FileMaker, son útiles para procesar múltiples registros de datos, por ejemplo, para aplicar un cálculo a cada registro o para validar datos en toda una tabla. Un ejemplo típico sería recorrer todos los registros de una presentación y actualizar un campo específico en cada uno.Bucle Establecer valor de campo [Tabla::Campo; Valor] Ir a registro/petición [Siguiente; Salir después del último]Fin de bucle
  • Condiciones: Las condiciones permiten que los guiones ejecuten ciertas instrucciones solo si se cumplen criterios específicos. FileMaker utiliza estructuras Si-Entonces-Si no para tomar decisiones basadas en los datos. Por ejemplo, un guion podría editar solo los registros que cumplan un criterio particular, como verificar si un campo está vacío.Si [Tabla::Campo = ""] Establecer valor de campo [Tabla::Campo; "Valor por defecto"]En caso contrario Mostrar cuadro de diálogo propio ["El campo ya está rellenado"]Fin Si
  • Variables: Las variables son contenedores temporales para almacenar datos que se pueden utilizar durante la ejecución de un guion. Pueden ser locales (prefijadas con $) o globales (prefijadas con $$). Las variables locales solo son válidas dentro del guion en el que se definen, mientras que las variables globales persisten incluso después de que el guion finaliza. Se utilizan comandos como "Establecer variable" para crear y asignar valores a estas variables.

Creación de un Guion Sencillo

  1. Abrir el Espacio de Trabajo de Guiones: Navegue a Guiones > Espacio de trabajo de guiones.
  2. Crear un Nuevo Guion: Haga clic en "Nuevo guion" y asígnele un nombre descriptivo (ej. "Guardar y Confirmar Registro").
  3. Añadir Pasos de Guion: Incorpore los pasos de guion deseados. Por ejemplo, un guion para guardar el registro actual y mostrar una confirmación podría incluir:Establecer valor de campo [Tabla::Campo; "Nuevo valor"]Guardar registro/peticiónMostrar cuadro de diálogo propio ["El registro se ha guardado correctamente."]
  4. Probar el Guion: Ejecute el guion en modo "Examinar" para verificar su funcionamiento.
  5. Personalizar y Ampliar: Si el guion funciona como se espera, puede refinarlo o añadir más funcionalidades para tareas más complejas.

Estructura de Guiones en Soluciones Empresariales

En soluciones complejas como gFM-Business, los guiones se organizan de manera metódica para garantizar la funcionalidad y la mantenibilidad del software ERP.

  • Guiones de Maquetación (lay.): Cada diseño (layout) en gFM-Business está asociado a un script de maquetación específico. Estos guiones gestionan todas las funciones relacionadas con ese diseño particular. Por ejemplo, el diseño "scr.Faktura_Rechnungen" es controlado por el script "lay.Faktura_Rechnungen". Las funciones dentro del diseño, como "Nueva factura" o "Duplicar factura", se pasan como parámetros de script a este archivo, donde se interpretan y ejecutan.
  • Guiones Parciales (ts.): Estos scripts no son unidades completas, sino fragmentos de código que ejecutan partes específicas de una funcionalidad o que pueden ser llamados genéricamente mediante parámetros. Son útiles para reutilizar código y mantener una estructura modular.

Preguntas Frecuentes sobre Guiones en FileMaker

¿Qué son los guiones de FileMaker y cómo ayudan a la automatización?Los guiones de FileMaker son secuencias de comandos que automatizan tareas repetitivas, como la creación de registros, la ejecución de cálculos o la navegación entre presentaciones. Facilitan la eficiencia al reducir la necesidad de intervención manual y minimizar errores.

¿Cómo puedo crear un guion sencillo en FileMaker?Abra el "Espacio de trabajo de guiones" (Scripts > Script workspace), haga clic en "Nuevo guion", asígnele un nombre y añada los pasos de guion deseados (ej. "Nuevo registro", "Ir a la presentación", "Ordenar registros"). Guarde y ejecute el guion para probarlo.

¿Qué son los bucles en los guiones de FileMaker y cómo se utilizan?Un bucle es un comando que repite acciones hasta que se cumple una condición. Se definen con los comandos Bucle y Fin de bucle, encerrando las acciones a repetir. Se usan para procesar múltiples registros, por ejemplo, actualizando campos en cada uno hasta el final de un conjunto de datos.

¿Cómo se utilizan las condiciones en los guiones de FileMaker?Las condiciones (Si/En caso contrario) permiten ejecutar acciones solo si se cumplen ciertos criterios. Por ejemplo, un guion puede crear un nuevo registro solo si un campo específico está vacío.

¿Cómo se utilizan las variables en los guiones de FileMaker?Las variables son almacenes temporales para datos. Se crean con "Establecer variable". Las variables locales ($) son temporales al script, mientras que las globales ($$) persisten. Son útiles para guardar y reutilizar valores.

¿Cómo puedo crear un script que procese múltiples conjuntos de datos?Utilice un bucle con el comando "Ir al siguiente registro de datos" dentro del bucle. Realice las modificaciones deseadas en cada registro y asegúrese de que el bucle finalice correctamente con "Fin de bucle" al llegar al último registro.

¿Cómo puedo integrar las interacciones de los usuarios en un guión, por ejemplo, mediante diálogos?Use el comando "Mostrar cuadro de diálogo personalizado" para solicitar información al usuario o permitirle hacer selecciones. Para diálogos más complejos, puede crear un diseño personalizado y mostrarlo mediante el comando "Nueva ventana", añadiendo campos y botones interactivos.

¿Cómo puedo detectar y gestionar errores en los guiones de FileMaker?Active el registro de errores con "Activar registro de errores". Luego, utilice Get(LastErrorNo) para verificar el código de error y ejecutar acciones alternativas o informar al usuario.

¿Cómo puedo automatizar los cambios de diseño y la navegación con scripts?Utilice el comando "Ir al diseño" para cambiar entre presentaciones. Puede combinar esto con condiciones para personalizar la experiencia del usuario según roles o datos, guiando a los usuarios de manera eficiente.

¿Puedo ejecutar scripts automáticamente al iniciar una base de datos?Sí, defina un "script de inicio" en Archivo > Opciones de archivo > Abrir. Este script se ejecutará cada vez que se abra la base de datos, ideal para configuraciones iniciales o personalizaciones.

¿Cómo puedo probar y depurar un guion en FileMaker?Active el "Depurador de guiones" en el Espacio de trabajo de guiones para ejecutar el guion paso a paso. Utilice puntos de interrupción para detener la ejecución en momentos clave y examinar variables y el estado del script. El Visor de Datos es esencial para monitorear valores en tiempo real.

tags: #archivo #depurar #filemaker