Automação de tarefas com scripts

Scripts podem realizar tarefas simples, como definir a orientação de impressão ou tarefas complexas, como preparar correspondência personalizada para cada cliente.

Por exemplo, você poderia definir um conjunto complexo de tarefas para criar um e-mail de agradecimento para os clientes no seu banco de dados Clientes que tivessem feito compras na semana anterior. O script compõe um e-mail adaptado para cada cliente. O script alterna para o Modo de visualização e pausa para que você veja como ficará a mensagem antes de enviá-la. A tarefa completa é iniciada clicando em um botão no layout Entrada de vendas.

Você cria scripts fazendo seleções de uma lista de comandos do FileMaker Pro, chamados etapas de script, especificando opções (se necessário) e organizando as etapas na ordem correta para realizar a tarefa.

Normalmente, scripts são executados no cliente, mas você pode executar alguns scripts no FileMaker Server ou no FileMaker Cloud para melhorar o desempenho ou para que sejam executados automaticamente em uma programação. Consulte Sobre a execução de scripts no FileMaker Server e no FileMaker Cloud.

Planejamento de scripts

Quanto mais tempo você dedicar ao planejamento do seu script, maior a chance de ele realizar o que você deseja. Durante o planejamento, faça estas perguntas:

  • É possível separar a tarefa em tarefas menores? Você pode definir subscripts para cada tarefa pequena e, em seguida, definir um script que realize os subscripts. É mais fácil criar e testar vários scripts pequenos do que um complexo. Você também pode reutilizar subscripts em outras áreas. (Use a Etapa de script Realizar script para realizar um subscript dentro de outro script.)
  • Quais etapas de script devem ser executadas sob que condições? Cada etapa de script deve ser sempre executada? Algumas devem ser executadas uma quantidade de vezes até uma determinada condição ser atendida? O script deve chamar outros scripts e subscripts? Você pode controlar o andamento do script de diversas formas diferentes. Consulte Etapas de script de controle para obter mais informações sobre como criar scripts com etapas condicionais.
  • O script deve ser executado em um layout específico? Como os scripts são definidos no nível do arquivo e podem ser acionados a partir de qualquer layout, você deve certificar-se de que ele operará no(s) layout(s) esperado(s). Use a Etapa de script Ir para layout para alterar layouts.
  • O script deve funcionar em todos os registros no banco de dados, no conjunto encontrado atual ou em um conjunto de registros? (Use as Etapas de script de conjuntos encontrados para incluir somente os registros com os quais você deseja trabalhar no conjunto encontrado.)
  • Todos os dados necessários estão em um arquivo de banco de dados ou o script irá operar em mais de um arquivo? Se estiver usando vários arquivos, quais arquivos o script deve abrir? Em quais arquivos o(s) script(s) deve(m) ser definido(s)? Na maioria dos casos, um script deve ser definido no mesmo arquivo do que os dados que ele está processando. Os apps personalizados com mais de um arquivo podem precisar de scripts separados em cada arquivo, dependendo da complexidade da tarefa que você está tentando realizar com o script.
  • Com qual registro o script deve iniciar? Por exemplo, ao usar a Etapa de script Loop, você deve decidir se o loop iniciará no primeiro ou último registro, em um registro específico ou no registro atual no conjunto encontrado. (Use a Etapa de script Ir para registro/solicitação/página, a Etapa de script Ir para registro relacionado ou a Etapa de script Ir para linha de portal para especificar um registro de início. Se você não incluir uma etapa de script de navegação para determinar o registro atual, o loop iniciará com o registro atual quando o script for realizado.)
  • Que janela você deseja usar? Um script é anexado inicialmente a uma janela específica, que pode estar em segundo plano. O script permanecerá nessa janela até uma ação de script alternar para outra janela. Por exemplo, use a Etapa de script Selecionar janela para especificar uma janela diferente. Se você tiver especificado uma janela que não está disponível, o script alternará para a janela em primeiro plano do arquivo. Quando você pausa um script, a janela associada passa para o primeiro plano, caso esteja disponível. Consulte Etapa de script Janelas.
  • O script deve alternar entre modos? Um script pode ser executado nos modos de navegação, busca, layout ou visualização. Certifique-se de que o script esteja no modo apropriado antes de agir em algo. Por exemplo, use a Etapa de script Entrar em Modo de navegação para modificar dados em campos e registros, e use a Etapa de script Entrar em Modo de busca para configurar ou realizar uma solicitação de busca.

    Nota  Scripts realizados no Modo de layout alternam automaticamente para o Modo de navegação antes da execução.

  • De quais campos e layouts o script precisará? Algumas etapas (como a Etapa de script Ir para campo e a Etapa de script Inserir texto) exigem que um campo esteja no layout atual, enquanto outras (como a Etapa de script Definir campo), não. Use a Etapa de script Ir para layout para alternar para um layout que tenha os campos exigidos pelo seu script ou coloque os campos na área cinza à direita do layout a fim de tornar os campos disponíveis para as etapas de script, mas não para os usuários.
  • Os registros devem ser processados em uma determinada ordem ? Escolha entre a ordem de classificação atual, uma ordem de classificação especificada ou nenhuma classificação (a ordem na qual os registros foram criados). Use a Etapa de script Classificar registros ou a Etapa de script Não classificar registros antes de inserir um loop para ordenar seus registros corretamente antes de processá-los.
  • Como o script deve avançar pelos vários campos e registros? (Use as etapas de script Etapa de script Ir para registro/solicitação/página, Etapa de script Loop, Etapa de script Exit Loop If e Etapa de script End Loop para controlar vários processamentos de campo ou registro.)
  • Quando o script deve ser encerrado? Após todas as etapas de script terem sido executadas? Após uma condição especificada ser atendida? (Use as etapas de script Etapa de script If, Etapa de script Else If e Etapa de script Else para executar uma tarefa como a Etapa de script Sair do script quando o script atinge uma condição especificada.)
  • Os usuários devem poder parar o script durante sua execução? O script contém um processo que poderia resultar em dados incompletos ou incorretos, se o script for encerrado cedo demais? Use a Etapa de script Permitir anulação pelo usuário para controlar se os usuários podem interromper um script.
  • Como você testará o script? Use a Etapa de script Pausar/continuar script para pausar em pontos predefinidos do seu script. Salve uma cópia do seu banco de dados e, em seguida, defina e teste o script nela para preservar os dados originais.

    Nota  Você pode usar o Depurador de script para testar e solucionar problemas dos scripts. Consulte Depuração de scripts.

  • Como você manipulará as condições de erro (como um conjunto encontrado vazio)? Você pode capturar a última condição de erro relatada pelo FileMaker Pro usando a Função Get(LastError). Use essa função e a Etapa de script If, a Etapa de script Else If e a Etapa de script Else para criar scripts que reajam normalmente a erros do usuário ou resultados inesperados. Para ter um controle ainda maior, use a Etapa de script Definir captura de erro para suprimir os alertas de erro normalmente exibidos nessas situações e os substitua pelos seus próprios alertas usando a Etapa de script Mostrar caixa de diálogo personalizada.
  • Todos os usuários devem ter permissão para realizar todos os scripts? Use conjuntos de privilégios para controlar o acesso dos usuários aos scripts. Com o uso de conjuntos de privilégios, usuários podem ter permissão para executar ou modificar scripts individuais, nenhum scripts ou todos os scripts. Você também pode definir a permissão padrão para cada conjunto de privilégios para quaisquer scripts futuros que forem definidos no arquivo. A definição de um script para ser executado com privilégios de acesso total permite que o script realize ações em nome do usuário que possam não ser permitidas normalmente pelos seus privilégios atribuídos. Consulte Criação e edição de conjuntos de privilégios.
  • Como os usuários realizarão o script? Você deve criar um botão para realizar o script ou especificar que o script seja adicionado ao menu Script. Os scripts também podem ser executados a partir do Espaço de trabalho de script ou quando um gatilho de script for ativado. Por exemplo, você pode usar o Gatilho de script AoAbrirPrimeiraJanela para executar um script quando o banco de dados for aberto.

Após responder a essas perguntas, você estará pronto para gerenciar scripts no seu banco de dados. Consulte Criação e edição de scripts.