Planejamento de scriptsQuanto mais tempo você dedicar ao planejamento do seu script, maior a chance dele 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 Realizar script etapa de script para realizar um subscript dentro de outro script.)
• Quais etapas de script devem ser executadas sob essas 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 Ir para layout etapa de script 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. As soluções de banco de dados 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 Loop etapa de script, 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 Ir para registro/solicitação/página etapa de script, Ir para registro relacionado etapa de script ou Ir para linha de portal etapa de script 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 Selecionar janela etapa de script 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.
• O script deve alternar entre modos? Um script pode ser executado nos modos de procura, busca, layout ou visualização. Certifique-se de que o script esteja no modo apropriado antes de agir em algo. Por exemplo, use a Entrar em Modo de navegação etapa de script para modificar dados em campos e registros e use a Entrar em Modo de busca etapa de script para configurar ou realizar uma solicitação de busca.
• De quais campos e layouts o script precisará? Algumas etapas (como a Ir para campo etapa de script e a Inserir texto etapa de script) necessitam que um campo esteja no layout atual, enquanto outras (como a Definir campo etapa de script), não. Use a Ir para layout etapa de script 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 Classificar registros etapa de script ou a Não classificar registros etapa de script antes de inserir um loop para ordenar os registros de forma apropriada antes de processá-los.
• Como o script deve avançar pelos vários campos e registros? (Use a Ir para registro/solicitação/página etapa de script, a Loop etapa de script, a Exit Loop If etapa de script e a End Loop etapa de script para controlar o processamento de vários campos ou registros.)
• 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 a If etapa de script, a Else If etapa de script e a Else etapa de script para realizar uma tarefa como a Sair do script etapa de script quando o script atingir uma condição especificada.)
•
• Como você testará o script? Use a Pausar/continuar script etapa de script para pausar em pontos predefinidos no script. Salve uma cópia do seu banco de dados e, em seguida, defina e teste o script nela para preservar os dados originais.
• 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 Get(LastError) função. Use essa função e a If etapa de script, a Else If etapa de script e a Else etapa de script para criar scripts que reajam a erros do usuário ou resultados inesperados. Para ter um controle ainda maior, use a Definir captura de erro etapa de script para suprimir os alertas de erro que o FileMaker Pro normalmente exibe nessas situações e substitua-os pelos seus próprios alertas usando a Mostrar caixa de diálogo personalizada etapa de script.
• 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 Gerenciamento 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 da janela 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.