Regras de negócio e inclusões de script

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 3 min. de leitura
  • Regras de negócio são ações do lado do servidor que podem ser executadas durante operações CRUD (Criar, Ler, Atualizar, Excluir) em registros de instância.

    Algumas práticas recomendadas ao usar Regras de negócio são:

    • Mantenha as Regras de negócio pequenas e específicas.
    • Evite modificar as Regras de negócio do sistema de base.
    • Use Inclusões de script em vez de Regras de negócio globais.
    • Use o script somente quando necessário.
    • Armazene a lógica de script reutilizável em uma Inclusão de script.
    • Use consultas para limitar os registros processados em uma regra de negócio.
    • Evite regras de negócio de cliente chamável para melhorar a eficiência ao executar scriptsde 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. 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 Sincronicamente antes da operação do banco de dados Defina ou atualize valores no objeto atual como parte da operação de salvamento. Valide e anule a execução, se necessário. Um desenvolvedor deseja definir o estado do registro atual com base em outra entrada nesse registro.
    Após Sincronicamente 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 para fazer com que algo ocorra em sequência. Atualize registros relacionados diferentes da tabela base que está sendo atualizada para acessar o objeto anterior ou para fazer com que algo ocorra em sequência. Um desenvolvedor deseja colocar valores em cascata 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. Acione eventos, notificações ou atualizações de registros relacionados 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.
    Nota:
    current.update()não deve ser usado em nenhuma regra de negócio. O uso de current.update()aciona uma operação de banco de dados adicional, o que pode causar notificações duplicadas, loops recursivos etc.

    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 quaisquer scripts do lado do servidor.

    Armazene qualquer código que possa precisar ser usado em outro lugar em uma Inclusão de script. Chame a inclusão de script de uma regra de negócio, ação de IU, script de fluxo de trabalho, API REST de 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 Scripted REST API, coloque o código em uma inclusão de script e chame a inclusão de script em ambos os locais.

    Manter funções em uma Inclusão de script permite o teste da 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 Regras de negócio.