Ejecutar guiones en FileMaker Server
Los
guiones de archivos hospedados por FileMaker Serve se ejecutan normalmente en el
cliente. Sin embargo, puede ejecutar un guión en el servidor (un guión del servidor) mediante:
Cómo se ejecutan los guiones de forma diferente en FileMaker Server
Un guión iniciado por cualquiera de los métodos anteriores se ejecuta mediante FileMaker Script Engine (FMSE), un componente de FileMaker Server. 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
paso de guión Ir a la presentación y
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 host.
•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.
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.
•Se puede configurar 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.
Abrir 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 y, a continuación, ejecutar solo los pasos admitidos. Por ejemplo:
If [ 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.
•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 y el cliente ya los ha abierto.
•Los guiones del servidor no pueden provocar que un cliente muestre mensajes de alerta de FileMaker 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
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.
•Los clientes no pueden anular los clientes del servidor. No obstante, un guión del servidor se puede anular si:
•un administrador del servidor detiene el guión, que aparece como un cliente independiente que puede desconectarse de la consola de administración de FileMaker Server.
•el guión que se está ejecutando supera el límite de tiempo especificado en el programa de FileMaker Server que lo ha iniciado.
•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, no del cliente.