Ejecutar guiones en FileMaker Server y FileMaker Cloud
Los guiones de archivos alojados por FileMaker Server y FileMaker Cloud se ejecutan normalmente en el cliente. Sin embargo, puede ejecutar un guión en el servidor (un guión del servidor) mediante:
-
el paso de guión Ejecutar guión en el servidor en un guión que se ejecute en un cliente.
-
el paso de guión Ejecutar guión en el servidor con devolución de llamada en un guión que se ejecute en un cliente
-
una programación (consulte la Ayuda de FileMaker Server o la Ayuda de FileMaker Cloud)
Cómo se ejecutan de forma diferente los guiones del servidor
Un guión iniciado por cualquiera de los métodos anteriores se ejecuta mediante FileMaker Script Engine (FMSE), un componente de FileMaker Server y FileMaker Cloud. El FMSE es un cliente que ejecuta cada guión en una sesión independiente en el servidor. Por consiguiente, los guiones del servidor:
-
No tienen el contexto del cliente (la presentación actual, el conjunto encontrado, el tipo de ordenación, los valores de campos globales o los valores de variables globales).
Puede transferir información sobre el contexto del cliente a un guión del servidor mediante el parámetro de guión del paso de guión Ejecutar guión en el servidor. El guión del servidor puede utilizar esa información en los pasos de guión, como el paso de guión Ir a la presentación y el paso de guión Ejecutar búsqueda, para especificar la presentación y el conjunto encontrado en los que se actuará.
-
Admiten parámetros de guión y resultados de guión de hasta 1 millón de caracteres.
-
Pueden acceder a otros archivos de FileMaker Pro solo cuando se dan las siguientes circunstancias:
-
Los archivos se encuentran en el mismo anfitrión.
-
Los archivos ya habían sido abiertos por el cliente que inició el guión del servidor o se habían configurado con el nombre de cuenta y la contraseña especificadas en el cuadro de diálogo Opciones de archivo del archivo (solo FileMaker Pro).
-
Los guiones del servidor se ejecutan de la misma forma independientemente de cómo se hayan iniciado, excepto en los siguientes casos:
-
Un cliente que utiliza el paso de guión Ejecutar guión en el servidor tiene la opción de esperar a que el guión se complete en el servidor y utiliza la función Get ( ScriptResult ) para capturar el resultado.
-
Un programa de FileMaker Server para anular la operación si el guión que se está ejecutando supera el límite de tiempo especificado.
Pasos de guión incompatibles
El FMSE no admite muchos pasos de guión. Sin embargo, al intentar ejecutar un guión no admitido se devuelve el error 3 ("El comando no está disponible"), se omite el paso incompatible y se continúa con el paso siguiente. Para administrar pasos incompatibles, el guión puede utilizar el paso de guión If con:
-
la función Get ( LastError ) después de un paso para comprobar si se admite ese paso y, a continuación, ejecutar los pasos admitidos. Por ejemplo, el FMSE no admite el paso de guión Abrir archivo, por lo que el siguiente guión que se ejecuta en el servidor omitirá ese paso y devolverá la cadena "incompatible" en el resultado.
CopiarAbrir archivo [Abrir minimizada: Inactivo; "Copia de seguridad de facturas"]
If [ Get(LastError) = 3 ]
Salir del guión [ Resultado de texto: "incompatible" ]
End If
-
la función Get ( ApplicationVersion ) antes de otros pasos para comprobar si el guión se ejecuta en FileMaker Server o FileMaker Cloud y, a continuación, ejecutar solo los pasos admitidos. Por ejemplo:
CopiarIf [ PatternCount ( Get ( ApplicationVersion ) ; "Servidor" ) > 0 ] # Continuar con pasos de guión admitidos por el FMSE End If
Para comprobar los pasos de guión compatibles con el FMSE, en el Espacio de trabajo de guiones de FileMaker Pro, abra un guión, haga clic en y, a continuación, seleccione Servidor. Los pasos de guión que no sean compatibles aparecerán en un color diferente. También puede consultar la tabla de compatibilidad de cada paso de guión en Referencia de pasos de guión.
Motivos para ejecutar un guión en el servidor
-
Para mejorar el rendimiento mediante la reducción de la cantidad de tráfico de red entre el cliente y el servidor.
-
Para descargar las tareas de larga duración de los clientes más lentos a un servidor más rápido.
-
Para permitir que los clientes de FileMaker Go realicen tareas que requieran plug-ins, que se admiten en FileMaker Server, pero no en FileMaker Go.
-
Para utilizar los pasos de guión Importar registros o Ejecutar SQL con una fuente de datos ODBC que utilice el DSN del servidor.
Notas
-
Si un cliente bloquea los registros, los guiones del servidor no pueden acceder a los datos sin consignar ni cambiar el contenido de esos registros.
-
Al ejecutar guiones del servidor, se abren y cierran los archivos que contienen los guiones. Por lo tanto, el activador de guión OnFirstWindowOpen se habilita cuando se inicia el guión y el activador de guión OnLastWindowClose se habilita cuando finaliza el guión.
-
Los guiones del servidor pueden utilizar el paso de guión Ejecutar guión para ejecutar subguiones, que también se ejecutan en el servidor, solo si estos subguiones se encuentran en los archivos del mismo servidor. Además, cuando un cliente utiliza el paso de guión Ejecutar guión en el servidor para ejecutar un guión que ejecuta subguiones en otro archivo, el cliente debe haber abierto anteriormente el archivo que contiene los subguiones.
-
Los guiones ejecutados por Ejecutar guión en el servidor utilizan la misma cuenta que el cliente. Los guiones ejecutados por un programa utilizan la cuenta especificada en este.
-
Los guiones del servidor no pueden provocar que un cliente de FileMaker muestre mensajes de alerta como cuando los guiones se ejecutan en clientes, por lo que los guiones del servidor se ejecutarán siempre como si el paso de guión Establecer captura de errores se hubiera establecido en Activo. Utilice la función Get ( LastError ) en los guiones del servidor para administrar las situaciones de error. Para ayudarle a resolver problemas, los errores también se escriben en el registro de eventos de FileMaker Server y FileMaker Cloud.
-
Los clientes no pueden detener los guiones del servidor. No obstante, un guión del servidor se puede detener si:
-
un administrador del servidor detiene el guión, que aparece como un cliente independiente que puede desconectarse en la Admin Console de FileMaker Server o FileMaker Cloud.
-
el guión que se está ejecutando supera el límite de tiempo especificado en el programa que lo ha iniciado.
-
el guión encuentra un paso de guión desconocido (consulte paso de guión Permitir cancelación del usuario).
Consulte la Ayuda de FileMaker Server o la Ayuda de FileMaker Cloud.
-
-
En los guiones del servidor, las funciones relacionadas con el hardware como, por ejemplo, Get ( SystemIPAddress ), devuelven información del componente de servidor de base de datos de FileMaker Server y FileMaker Cloud, no del cliente.
-
En los guiones del servidor, el acceso a los archivos está limitado a la carpeta Documentos y la carpeta temporal. Consulte Rutas en guiones del servidor.
-
En los guiones del servidor, los pasos de guión con la opción Con diálogo activada no pueden mostrar cuadros de diálogo y es posible que devuelvan un error. Para evitar este error, desactive Con diálogo en los guiones del servidor.