Casos de uso de script de programação

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 2 min. de leitura
  • Um script de regra de negócio especifica as ações executadas pela regra de negócio. Os scripts geralmente incluem variáveis globais predefinidas para fazer referência a itens em seu sistema, como o registro atual. Variáveis globais estão disponíveis para todas as regras de negócio.

    Aviso:
    A personalização descrita aqui foi desenvolvida para uso em instâncias específicas e não é compatível com Now Support. Este método é fornecido no estado em que se encontra e deve ser testado cuidadosamente antes da implementação. Publique todas as perguntas e comentários sobre esta personalização no fórum da nossa comunidade.

    Calcule a duração de acordo com uma programação

    Tipo: Antes de atualizar/inserir regra de negócio.

    Descrição: Uma duração de negócios calcula a duração de abertura para fechamento em um incidente com base no específico Criação e uso de cronogramas . Se não houver programação especificada, o script simplesmente usará a primeira programação retornada pela consulta.

    Exemplo de script:

    O exemplo abaixo define a duração da resolução quando o estado do incidente é movido para Resolvido.
    var gr_rec = new GlideRecord('incident');
    gr_rec.get('ed92e8d173d023002728660c4cf6a7bc');
    if (gr_rec.incident_state == 6) {
    var dur = calcDurationSchedule(gr_rec.opened_at, gr_rec.sys_updated_on);
    }
     
    function calcDurationSchedule(start, end){ 
      // Get the user   
      var usr = new GlideRecord('sys_user');
      usr.get(gs.getUserID());
      // Create schedule - pass in the sys_id of your standard work day schedule and pass in the users timezone
      var sched = new GlideSchedule('08fcd0830a0a0b2600079f56b1adb9ae',usr.time_zone);
      // Get duration based on schedule/timezone 
      return(sched.duration(start.getGlideObject(), end.getGlideObject()));
    }

    Verifique as próximas datas de rescisão

    Tipo: Script programado.

    Descrição: Este script verifica todas as noites se há datas de rescisão em contratos futuros em 90, 50 ou 10 dias (dependendo do campo de duração do contrato).

    Exemplo de script:

    function contractNoticeDue(){
      var now_GR = new GlideRecord("contract");
      now_GR.addQuery("u_contract_status","Active");
      now_GR.query();
      while(now_GR.next()){
        if((now_GR.u_termination_date<= gs.daysAgo(-90))&&(now_GR.u_contract_duration=="Long")){
          now_GR.u_contract_status="In review";}
        elseif((now_GR.u_termination_date<= gs.daysAgo(-50))&&(now_GR.u_contract_duration=="Medium")){
          now_GR.u_contract_status="In review";}
        elseif((now_GR.u_termination_date <= gs.daysAgo(-10))&&(now_GR.u_contract_duration=="Short")){
          now_GR.u_contract_status="In review";}
        now_GR.update();
      }
    }
    Use scripts em regras de negócios para realizar tarefas comuns, como:
    • Comparando dois campos de data.
    • Analisando cargas XML.
    • Anular uma ação de banco de dados em uma regra de negócios.
    Com scripts, você também pode:
    • Especifique a operação que aciona a regra de negócio.
    • Use o bloco de anotações com regras de negócios de exibição para mudar os valores do formulário imediatamente antes de um usuário carregar o formulário.
    • Use a condição OU como você faria em um construtor de condições.

    Você também pode utilizar a funcionalidade de script do sistema disponível para scripts do lado do servidor.

    Você pode usar opções no formulário Regras de negócio para criar condições, definir valores de campo e exibir mensagens de alerta sem precisar escrever um script.