Ejecutar guión en el servidor con devolución de llamada

Ejecuta un guión en el servidor que aloja el archivo actual sin pausar el cliente y ejecuta el guión de devolución de llamada especificado en el cliente cuando finaliza el guión del servidor.

Temas relacionados 

Opciones 

  • Guión es el guión que se va a ejecutar en el servidor.

  • Guión de devolución de llamada es el guión que se ejecutará en el cliente después de que el guión del servidor se haya completado en el servidor.

Compatibilidad 

Producto Compatible

FileMaker Pro

FileMaker Go

FileMaker WebDirect

FileMaker Server

No

FileMaker Cloud

No

FileMaker Data API

No

Publicación en la Web personalizada

No

Se origina en 

20.1

Descripción 

El archivo actual se debe alojar en FileMaker Server o FileMaker Cloud. De lo contrario, este paso de guión devuelve un error. Consulte Ejecutar guiones en FileMaker Server y FileMaker Cloud.

El guión de devolución de llamada se ha programado para ejecutarse en el cliente después de que se haya completado cualquier guión actual, al igual que los guiones que se activan mediante el paso de guión Instalar guión OnTimer y el activador de guión OnWindowTransaction. Se desconoce el contexto en el que se ejecuta el guión y no se puede confiar en que sea igual que cuando se ejecutó este paso de guion. Si es necesario, utilice el parámetro del guión de devolución de llamada para devolver el contexto suficiente para que se ejecute como se espera en el cliente, como el diseño y el conjunto encontrado que se deben utilizar.

Nota  Si especifica un cálculo como parámetro en el guión de devolución de llamada, el cálculo se evaluará cuando ese guión se ejecute en el cliente.

En el ejemplo siguiente, no se devolvería nada porque $datos no existe cuando se ejecuta el guión de devolución de llamada en el cliente.

  • Iniciador de llamada

    • Establecer variable [ $datos ; Valor: 1 ]

    • Ejecutar guión en el servidor con devolución de llamada [ Guión: "Prueba" ; Guión de devolución de llamada: "Devolución de llamada" ; Parámetro: $datos ]

  • Prueba

    • Establecer variable [ $datos ; Valor: 2 ]

  • Devolución de llamada

    • Establecer variable [ $param ; Valor: Get ( ScriptParameter ) ]

    • Mostrar cuadro de diálogo personalizado [ $param ]

Ejemplo 1 

Ejecuta un guión en el servidor y envía la dirección de correo electrónico del cliente, el ID de cliente y el nombre de la presentación actuales como parámetro de guión. El servidor se desplaza a una presentación o registro especificado en el parámetro, guarda un enlace de snapshot del registro actual, envía el enlace de snapshot por correo electrónico a la dirección de correo electrónico especificada en el parámetro y devuelve un resultado. El cliente obtendrá el resultado del guión del servidor y se mostrará en un cuadro de diálogo personalizado.

Guión principal: Enviar enlace de snapshot por correo electrónico (cliente)

Copiar
Ejecutar guión en el servidor con devolución de llamada [ Guión: "Enviar enlace a Snapshot por correo electrónico (servidor)" ; Parámetro: List ( Get ( LayoutName ) ; Clientes::ID ; Clientes::Correo electrónico ) ; Guión de devolución de llamada: "Mensaje completo (cliente)" ]

Subguión: Enviar enlace de snapshot por correo electrónico (servidor)

Copiar
Ir a presentación [ GetValue ( Get ( ScriptParameter ) ; 1 ) ; Animación: Ninguno ]
Modo Buscar [ Pausa: Inactivo ]
Establecer campo [ Clientes::ID; GetValue ( Get ( ScriptParameter ) ; 2 ) ]
Ejecutar búsqueda [ ]
Establecer variable [ $RUTA; Valor: Get ( TemporaryPath ) & "Snapshot.fmpsl" ]
Guardar registros como enlace a snapshot [ "$RUTA" ; Registro actual; Crear carpetas: Inactivo ]
Enviar correo [ Enviar vía servidor SMTP ; Con diálogo ; Para: GetValue ( Get ( ScriptParameter ) ; 3 ) ; "$RUTA" ]
Salir del guión [ Resultado de texto: "Enlace a snapshot enviado." ]

Guión de devolución de llamada: Mensaje completo (cliente)

Copiar
Mostrar cuadro de diálogo personalizado [ Get ( ScriptResult ) ]

Notas 

  • No se llamará al guión de devolución de llamada en las siguientes situaciones:

    • El servidor o el cliente se cierran inesperadamente.

    • El usuario sale del cliente o cierra el archivo antes de que finalice el guión en el servidor

    • Se pierde la conexión de red mientras se ejecuta el paso de guión. Sin embargo, la nueva conexión en los 10 minutos siguientes a la finalización del guión del servidor provoca la ejecución del guión de devolución de llamada.

  • Se pueden ejecutar varias instancias de este paso de guión de forma consecutiva. Los guiones de devolución de llamada se ejecutan en el orden en que se completan estos pasos de guión.

  • Si no se ha especificado un guión de devolución de llamada, este paso de guión se ejecutará de forma similar al paso de guión Ejecutar guión en el servidor.