Automatizar tareas con guiones > Crear y editar guiones > Ejecutar guiones en FileMaker Server y FileMaker Cloud
 

Ejecutar guiones en FileMaker Server y FileMaker Cloud

Los guiones de archivos hospedados 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

un programa (consulte la Ayuda de FileMaker Server y la documentación 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 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 Advanced 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.

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 o FileMaker Cloud 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 Advanced, abra un guión, haga clic en Botón Nueva carpeta 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 y FileMaker Cloud, 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 OnFirstWindowOpen activador de guión se habilita cuando se inicia el guión y el OnLastWindowClose activador de guión 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 y el cliente ya los ha abierto.

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 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 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 de FileMaker Server Admin Console o FileMaker Cloud Admin Console.

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 y la documentación 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 los guiones del servidor.