Inclusões de script e regras de negócio
As regras de negócio são ações do lado do servidor que podem ser executadas durante operações de CRUD (Criar, Ler, Atualizar, Excluir) em registros de instância.
Algumas práticas recomendadas ao usar regras de negócios são:
- Mantenha as regras de negócios pequenas e específicas.
- Evite modificar as regras de negócio do sistema base.
- Use inclusões de script em vez de regras de negócios globais.
- Use script somente quando necessário.
- Armazene a lógica de script reutilizável em uma inclusão de script.
- Use consultas para limitar registros processados em uma regra de negócio.
- Evite regras de negócios chamáveis pelo cliente para melhorar a eficiência ao executar scripts de cliente.
- Sempre use uma condição com regras de negócio para controlar quando a regra de negócio é executada. A execução de regras de negócio com condições também pode ajudar na depuração. As regras de negócio raramente são executadas sem condições.
As regras de negócio podem ser configuradas para serem executadas antes ou depois de uma operação de banco de dados. Eles também podem ser configurados para serem executados de forma assíncrona e também antes de exibir um formulário ou executar uma consulta.
| Valor | Execuções | Quando usar | Exemplo |
|---|---|---|---|
| Antes | De forma síncrona antes da operação do banco de dados | Defina ou atualize valores no objeto atual como parte da operação de salvamento. Se necessário, valide e aborte a execução. | Um desenvolvedor deseja definir o estado do registro atual com base em outra entrada nesse registro. |
| Após | De forma síncrona após a operação do banco de dados | Acione eventos e notificações após a atualização do banco de dados para acessar o objeto anterior ou fazer algo ocorrer em sequência. Atualize registros relacionados que não sejam a tabela base que está sendo atualizada para acessar o objeto anterior ou para fazer algo ocorrer em sequência. | Um desenvolvedor deseja distribuir valores do registro atual para registros secundários. |
| Assíncrono | Executado de forma assíncrona como um processo separado após a conclusão da operação do banco de dados | O processo acionado pela regra pode demorar um pouco para ser executado. Quando o usuário que acionou a operação não precisa da saída imediatamente. Acionar eventos, notificações ou atualizações de registro relacionadas quando o acesso aos valores anteriores do registro ou a uma sequência específica de ações não for necessário. | Um desenvolvedor precisa acionar um processo externo que pode demorar um pouco ou atualizar um grande número de registros. |
| Exibição | Executado sempre que o formulário correspondente é exibido | Usado para disponibilizar objetos do lado do servidor para scripts do lado do cliente. | Um desenvolvedor deseja gravar informações sobre um usuário associado ao registro atual no objeto g_scratchpad para usar em um script do lado do cliente. |
Use inclusões de script para armazenar funções e classes JavaScript para uso por scripts de servidor. Cada inclusão de script define uma classe de objeto ou uma função que pode ser reutilizada entre qualquer script do lado do servidor. Para obter mais informações, consulte Script includes.
Armazene qualquer código que possa precisar ser usado em outro lugar em uma Inclusão de script. Chame a inclusão de script a partir de uma regra de negócios, ação de IU, script de fluxo de trabalho, REST API com script etc. Em vez de chamar uma regra de negócio de uma ação de IU ou uma ação de IU de uma REST API com script, coloque o código em uma Inclusão de script e chame a Inclusão de script de ambos os lugares.
Manter funções em uma inclusão de script permite testar a função antes de implantá-la em outras áreas com script, reduzindo assim o tempo geral de desenvolvimento e teste.
Para obter mais informações, consulte Classic Business rules.