Realizar script em servidor com callback
Executa um script no servidor que hospeda o arquivo atual sem travar o cliente e executa o script de retorno de chamada especificado quando o primeiro é concluído.
Consulte também
Opções
-
Script é o script que é executado no servidor.
-
Script de callback é o script que é executado no cliente após a conclusão do script de servidor no servidor.
Compatibilidade
Produto | Compatível |
---|---|
FileMaker Pro |
Sim |
FileMaker Go |
Sim |
FileMaker WebDirect |
Sim |
FileMaker Server |
Não |
FileMaker Cloud |
Não |
FileMaker Data API |
Não |
Publicação na Web personalizada |
Não |
Originada na versão
20.1
Descrição
O arquivo atual deve estar hospedado no FileMaker Server ou no FileMaker Cloud. Caso contrário, esta etapa de script retornará um erro. Consulte Sobre a execução de scripts no FileMaker Server e no FileMaker Cloud.
O script de callback está programado para ser executado no cliente após a conclusão de qualquer script atual, assim como os scripts acionados pela etapa de script Instalar script OnTimer e pelo acionador de script OnWindowTransaction. O contexto no qual o script é executado é desconhecido e não pode ser considerado o mesmo de quando esta etapa de script foi executada. Se necessário, use o parâmetro do script de callback para retornar contexto suficiente para que ele seja executado conforme o esperado no cliente, como o layout e o conjunto encontrado a ser usado.
Nota Se você especificar um cálculo como parâmetro no script de callback, ele será avaliado quando o script for executado no cliente.
No exemplo abaixo, nada seria retornado porque $data não existe quando o script de callback é executado no cliente.
-
Chamador
-
Definir variável [ $data ; Valor: 1 ]
-
Realizar script em servidor com callback [ Script: "Testar" ; Script de callback: "Callback" ; Parâmetro: $data ]
-
-
Testar
-
Definir variável [ $data ; Valor: 2 ]
-
-
Callback
-
Definir variável [ $param ; Valor: Get ( ScriptParameter ) ]
-
Mostrar caixa de diálogo personalizada [ $param ]
-
Exemplo 1
Executa um script no servidor e envia o nome do layout atual, a ID do cliente e o endereço de e-mail do cliente como parâmetros do script. O servidor navega até o layout e o registro especificados no parâmetro, salva um link de instantâneo do registro atual, envia o link do instantâneo por e-mail ao endereço especificado no parâmetro e retorna um resultado. O cliente busca o resultado do script no servidor e o exibe em uma caixa de diálogo personalizada.
Script principal: Enviar link do instantâneo por e-mail (Cliente)
Realizar script em servidor com callback [ Script: "Enviar link para instantâneo por e-mail (Servidor)" ; Parâmetro: Lista ( Get ( LayoutName ) ; Clientes::ID ; Clientes::E-mail ) ; Script de callback: "Mensagem de conclusão (Cliente)" ]
Subscript: Enviar link do instantâneo por e-mail (Servidor)
Ir para layout [ GetValue ( Get ( ScriptParameter ) ; 1 ) ; Animação: Nenhum ]
Entrar em Modo de busca [ Pausar: Desativado ]
Definir campo [ Clientes::ID; GetValue ( Get ( ScriptParameter ) ; 2 ) ]
Realizar busca [ ]
Definir variável [ $PATH ; Valor: Get ( TemporaryPath ) & "Instantâneo.fmpsl" ]
Salvar registros como link para instantâneo [ "$PATH" ; Registro atual ; Criar pastas: Desativado ]
Enviar e-mail [ Enviar por Servidor SMTP ; Sem diálogo; Para: GetValue ( Get ( ScriptParameter ) ; 3 ) ; "$PATH" ]
Sair do script [ Resultado do texto: "Link para instantâneo enviado." ]
Script de callback: Mensagem de conclusão (Cliente)
Exibir caixa de diálogo personalizada [ Get ( ScriptResult ) ]
Tópicos relacionados
Notas
-
O script de callback não será chamado nos seguintes cenários:
-
O servidor ou cliente fecha de forma inesperada.
-
O usuário sai do cliente ou fecha o arquivo antes que o script seja concluído no servidor.
-
A conexão de rede é perdida enquanto a etapa de script está em execução. No entanto, reconectar dentro de 10 minutos após a conclusão do script no servidor faz com que o script de callback seja executado.
-
-
Várias instâncias desta etapa de script podem ser executadas sucessivamente. Os scripts de callback são executados na ordem em que essas etapas de script são concluídas.
-
Se um script de callback não for especificado, esta etapa de script será executada de forma semelhante à etapa de script Executar script no servidor.