Automatizar tareas con guiones > Crear y editar guiones > Ejecutar guiones en FileMaker Server
 
Ejecutar guiones en FileMaker Server
Los guiones de archivos hospedados por FileMaker Serve se ejecutan normalmente en el cliente. Sin embargo, puede ejecutar un guion en el servidor (un guion del servidor) mediante:
un paso de guion Ejecutar guion en el servidor en un guion que se ejecute en un cliente
un programa de FileMaker Server (consulte la Ayuda de FileMaker Server)
Cómo se ejecutan los guiones de forma diferente en FileMaker Server
Un guion 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 guion 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 guion del servidor mediante el parámetro de guion del paso de guion Ejecutar guion en el servidor. El guion del servidor puede utilizar esa información en los pasos de guion, como paso de guion Ir a la presentación y paso de guion Ejecutar búsqueda, para especificar la presentación y el conjunto encontrado en los que se actuará.
Admiten parámetros de guion y resultados de guion 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 guion 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 guion Ejecutar guion en el servidor tiene la opción de esperar a que el guion 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 guion que se está ejecutando supera el límite de tiempo especificado.
Pasos de guion incompatibles
El FMSE no admite muchos pasos de guion. Sin embargo, al intentar ejecutar un guion 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 guion puede utilizar el paso de guion 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 guion Abrir archivo, por lo que el siguiente guion que se ejecuta en el servidor omitirá ese paso y devolverá la cadena "incompatible" en el resultado.
Abrir archivo ["Copia de seguridad de facturas"]
If [Get ( LastError ) = 3]
Salir del guion [Resultado de texto: "incompatible"]
End If
La función Get ( HostApplicationVersion ) antes de otros pasos para comprobar si el guion se ejecuta en FileMaker Server y, a continuación, ejecutar solo los pasos admitidos. Por ejemplo:
If [LeftWords ( Get ( HostIPAddress ; 1 ) = "Servidor"]
# Continuar con pasos de guion admitidos por el FMSE
End If
Para comprobar los pasos de guion compatibles con el FMSE, en el Espacio de trabajo de guiones de FileMaker Pro, abra un guion, haga clic en Botón Nueva carpeta y, a continuación, seleccione Servidor. Los pasos de guion que no sean compatibles aparecerán en un color diferente. También puede consultar la tabla de compatibilidad de cada paso de guion en Referencia de pasos de guion.
Motivos para ejecutar un guion 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 guion 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 guion OnFirstWindowOpen se habilita cuando se inicia el guion y OnLastWindowClose se habilita cuando finaliza el guion.
Los guiones del servidor pueden utilizar el paso de guion Ejecutar guion 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 guion en el servidor utilizan la misma cuenta que el cliente. Los guiones ejecutados por un programa de FileMaker Server utilizan la cuenta especificada en este (consulte la Ayuda de FileMaker Server).
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 guion 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.
Los clientes no pueden anular los clientes del servidor. No obstante, un guion del servidor se puede anular si:
Un administrador del servidor detiene el guion, que aparece como un cliente independiente que puede desconectarse de la consola de administración de FileMaker Server.
El guion que se está ejecutando supera el límite de tiempo especificado en el programa de FileMaker Server que lo ha iniciado.
El guion encuentra un paso de guion desconocido (consulte el paso de guion Permitir cancelación del usuario).
Consulte la Ayuda de FileMaker Server.
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.