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
-
Especificado:
-
Da lista permite selecionar o script que você deseja executar.
-
Por nome permite especificar o nome do script por um cálculo. O nome do script não faz distinção entre maiúsculas e minúsculas.
-
-
Parâmetro especifica um parâmetro de script para o script especificado.
-
Script de callback especificado é o script executado no cliente após a conclusão do script no servidor. Escolha:
-
Da lista permite selecionar o script que você deseja executar.
-
Por nome permite especificar o nome do script por um cálculo. O nome do script não faz distinção entre maiúsculas e minúsculas.
-
-
Parâmetro especifica um parâmetro de script para o script especificado.
-
Estado especifica como lidar com um script atualmente em execução quando o script de callback é executado. As opções são Continuar, Interromper, Sair, Retomar e Pausar. Consulte Opções para manusear o script atual ao iniciar novos scripts.
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: Da lista ; "Teste" ; Parâmetro: ; Script de callback especificado: Da lista ; "Callback" ; Parâmetro: $data ; Estado: Continuar ]
-
Testar
Definir variável [ $data ; Valor: 2 ]
-
Callback
Definir variável [ $param ; Valor: Get ( ScriptParameter ) ]
Mostrar caixa de diálogo personalizada [ $param ]
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.
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: Link de instantâneo de e-mail (Cliente)
Realizar script em servidor com callback [ Especificado: Da lista ; "Link de snapshot do e-mail (Servidor)" ;
Parâmetro: Lista ( Get ( LayoutName ) ; Clientes::ID ; Clientes::E-mail ) ;
Script de callback especificado: Da lista ; "Mensagem de conclusão (Cliente)" ; Parâmetro: ; Estado: Continuar ]
Subscript: Link instantâneo de e-mail (Servidor)
Ir para layout [ GetValue ( Get ( ScriptParameter ) ; 1 ) ; Animação: Nenhuma ]
Entrar em Modo de busca [ Pausar: Desativado ]
Definir campos [ Clientes::ID ; GetValue ( Get ( ScriptParameter ) ; 2 ) ]
Realizar localizar [ ]
Definir varíavel [ $PATH ; Valor: Get ( TemporaryPath ) & "Snapshot.fmpsl" ]
Salvar registros como link para instantâneo [ "$PATH" ; Registro atual ; Criar pastas: Desativado ]
Enviar e-mail [ Enviar pelo servidor SMTP ; Sem diálogo ; Para: GetValue ( Get ( ScriptParameter ) ; 3 ) ; "$PATH" ]
Sair do script [ Resultado de texto: "Link de instantâneo enviado" ]
Script de callback: Mensagem completa (Cliente)
Exibir caixa de diálogo personalizada [ Get ( ScriptResult ) ]