Automatização de tarefas com scripts > Criação e edição de gráficos > Sobre a execução de scripts no FileMaker Server
 
Sobre a execução de scripts no FileMaker Server
Normalmente, os scripts nos arquivos hospedados pelo FileMaker Server são executados no cliente. Entretanto, você pode executar um script no servidor (um script no lado do servidor) usando:
Realizar script em servidor etapa de script em um script executado em um cliente
uma programação do FileMaker Server (consulte a Ajuda do FileMaker Server)
Como scripts são executados de forma diferente no FileMaker Server
Um script iniciado por qualquer um dos métodos acima é executado pelo FileMaker Script Engine (FMSE), um componente do FileMaker Server. O FMSE é um cliente que executa cada script em uma sessão separada no servidor. Como resultado, os scripts no lado do servidor:
não têm o contexto do cliente (layout atual, conjunto encontrado, ordem de classificação, registro, valores de campo global e valores de variável local ou global)
Você pode transmitir informações sobre o contexto do cliente a um script no lado do servidor usando o parâmetro de script na etapa de script Realizar script em servidor. O script no lado do servidor pode usar essas informações nas etapas de script como Ir para layout etapa de script e Realizar busca etapa de script para especificar em qual layout e conjunto encontrado agir.
são compatíveis com parâmetros de script e resultados de script de até 1 milhão de caracteres
podem acessar outros arquivos do FileMaker Pro somente quando as duas condições forem verdadeiras:
os arquivos estiverem no mesmo host
os arquivos já tiverem sido abertos pelo cliente que iniciou o script no lado do servidor ou configurados com o nome de conta e senha especificados na caixa de diálogo Opções de arquivo
Os scripts no lado do servidor são executados da mesma forma, independentemente de como são iniciados, com as seguintes exceções:
Um cliente usando a etapa de script Realizar script em servidor tem a opção de aguardar a conclusão do script no servidor e usar a Get ( ScriptResult ) função para capturar o resultado.
Uma programação do FileMaker Server pode ser configurada para cancelar, se o script em execução exceder o limite de tempo especificado.
Como lidar com etapas de script incompatíveis
Muitas etapas de script são compatíveis com o FMSE. Entretanto, tentar realizar uma etapa de script incompatível retorna o erro 3 ("Comando indisponível"), ignora a etapa incompatível e segue para a próxima etapa. Para lidar com etapas incompatíveis, o script pode usar a etapa de script If com:
a Get ( LastError ) função após uma etapa para verificar se a etapa é incompatível e realizar as etapas compatíveis em seu lugar. Por exemplo, a etapa de script Abrir arquivo não é compatível com o FMSE, então o seguinte script executado no servidor ignorará essa etapa e retornará "incompatível" no resultado.
Abrir arquivo [Abrir oculto: Desativado ; "Backup de faturas"]
If [ Get (LastError) = 3 ]
Sair do script [Text Result: "incompatível" ]
End If
a Get ( ApplicationVersion ) função antes de outras etapas para verificar se o script está sendo executado no FileMaker Server e realizar somente as etapas compatíveis. Por exemplo:
If [ PatternCount ( Get (ApplicationVersion) ; "Server" ) > 0 ]
# Continuar com etapas de script compatíveis com o FMSE
End If
Para visualizar quais etapas de script são compatíveis com o FMSE, no Espaço de trabalho de script no FileMaker Pro, abra um script, clique em Botão Compatibilidade e selecione Server. As etapas de script que não forem compatíveis aparecerão em uma cor diferente. Você também pode consultar a tabela Compatibilidade para cada etapa de script em Referências de etapas de script.
Motivos para executar um script no servidor
aprimorar o desempenho reduzindo o volume de tráfego de rede entre o cliente e o servidor
descarregar tarefas de longa execução de clientes mais lentos para um servidor mais rápido
permitir que clientes do FileMaker Go realizem tarefas que exigem plug-ins, que são compatíveis com o FileMaker Server, mas não com o FileMaker Go
usar as etapas de script Importar registros ou Executar SQL com uma fonte de dados ODBC que utiliza a DSN do servidor
Notas 
Se os registros estiverem bloqueados por um cliente, os scripts no lado do servidor não poderão acessar os dados não salvos ou alterar o conteúdo desses registros.
A execução de scripts no lado do servidor abre e fecha os arquivos que contêm os scripts. Dessa forma, o AoAbrirPrimeiraJanela gatilho de script é ativado quando o script inicia e o AoFecharÚltimaJanela gatilho de script é ativado quando o script termina.
Scripts no lado do servidor podem usar a Realizar script etapa de script para realizar subscripts, que também são executados no servidor, apenas se esses subscripts estiverem em arquivos no mesmo servidor e já estiverem abertos pelo cliente.
Os scripts executados por Realizar script no servidor usam a mesma conta do que o cliente. Os scripts executados por uma programação do FileMaker Server usam a conta especificada na programação (consulte a Ajuda do FileMaker Server). O conjunto de privilégios da conta deve ter o privilégio estendido fmapp ativado. Consulte Edição de privilégios estendidos para um conjunto de privilégios.
Os scripts no lado do servidor não podem fazer um cliente exibir mensagens de alerta do FileMaker como quando os scripts são executados em clientes, de forma que os scripts no lado do servidor sempre serão executados como se a Definir captura de erro etapa de script estivesse definida como Ativado. Use a Get ( LastError ) função nos scripts no lado do servidor para lidar com condições de erro. Para ajudá-lo a solucionar problemas, os erros também são gravados no log do evento no FileMaker Server.
Os clientes não podem anular scripts no lado do servidor. Entretanto, um script no lado do servidor pode ser anulado se:
um administrador do servidor parar o script, que aparece como um cliente separado que pode ser desconectado no Admin Console do FileMaker Server
o script em execução exceder o limite de tempo especificado na programação do FileMaker Server que o iniciou
o script encontrar uma etapa de script desconhecida (consulte Permitir anulação pelo usuário etapa de script)
Consulte a Ajuda do FileMaker Server.
Nos scripts no lado do servidor, as funções relacionadas ao hardware, como Get (SystemIPAddress),retornam informações do componente de servidor de banco de dados do FileMaker Server, não do cliente.