Restringindo o acesso ao registro

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 2 min. de leitura
  • Você pode usar uma regra de negócio de consulta que é executada antes da consulta do banco de dados para impedir que os usuários acessem determinados registros.

    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.

    Considere o exemplo a seguir de uma regra de negócios padrão que limita o acesso aos registros de incidentes.

    Tabela 1. A regra de negócio padrão limita o acesso aos registros de incidentes
    Nome Tabela Quando
    consulta de incidente incidente antes, consulte

    Restringindo o acesso ao registro

    No exemplo a seguir, os usuários estão impedidos de acessar registros de incidentes, a menos que tenham a função itil e estejam listados em Solicitante ou Aberto por campo. Quando os usuários de autoatendimento abrem uma lista de incidentes, eles só podem ver os incidentes que enviaram.
    if (!gs.hasRole("itil")&& gs.isInteractive()) {
      var u = gs.getUserID();
      var qc = current.addQuery("caller_id", u).addOrCondition("opened_by", u).addOrCondition("watch_list","CONTAINS", u);
      gs.print("query restricted to user: " + u);}
    Nota:
    Você também pode usar controles de acesso para restringir os registros que os usuários podem ver. Para obter informações, consulte Access Control List Rules.

    Script de programação para dias úteis

    Tipo: Regras de negócios/Client Scripts.

    Este script agenda o script para dias úteis. Insira qualquer script em que ele diga "Seu script aqui".
    var go ='false';
    var now =new Date(); 
     
    // Correct time zone, which is by default GMT -7 
    now.setHours(now.getHours()+8);
    var day = now.getDay(); 
     
    // No go on Saturday or Sunday 
    if(day !=0&& day !=6){
     
    // (your script here)
     
    }

    Defina o campo de data de acordo com a data atual

    Este script define um campo de data dependendo do dia atual da semana. Neste exemplo, se o dia for de segunda a quarta-feira, ele definirá a data como a próxima segunda-feira; caso contrário, definirá o campo de data como a próxima segunda-feira.
    function setCabDate(){
    var today = new Date();
    var thisDay = today.getDay();
    
    //returns 0 for Sunday, 1 for Monday, through 6 for Saturday.
    var thisMon = new GlideDateTime();
    thisMon.setDisplayValue(gs.beginningOfThisWeek());
    var nextMon = thisMon.getNumericValue();
    nextMon +=(1000*60*60*24*7);
     
    if((thisDay <4)&&(thisDay >0))
      //if today is Mon thru Wed (thisDay = 1, 2, or 3), set cab to this coming Monday.
      current.u_req_cab_rev_date.setDateNumericValue(thisMon.getNumericValue());
    else if((thisDay >=4)||(thisDay ==0))
      //if today is Thurs thru Sun (thisDay = 4, 5, 6, or 0), set cab to next Monday.
      current.u_req_cab_rev_date.setDateNumericValue(nextMon);
    }

    Para validar a entrada de todos os campos de data/hora, você pode usar o seguinte em um script de validação (Definição do Sistema > Scripts de Validação). Como o formato de data/hora é codificado neste script, ele deve corresponder ao formato de data/hora da sua instância. Se o formato de data/hora da sua instância mudar, você deverá atualizar o script de validação.

    Defina o tipo de script de validação como Data/Hora . Em seguida, com este script de validação, se um usuário inserir um formato incorreto em um campo de data/hora, ele receberá uma mensagem de erro.
    function validate(value){
    // empty fields are still valid dates 
    if(!value) 
        return true; 
     
    // We "should" have the global date format defined always defined. But there's always that edge case. 
    if(typeof g_user_date_time_format !=='undefined')
        return isDate(value, g_user_date_time_format); 
     
    // if we don't have that defined, we can always try guessing 
    return parseDate(value)!==null;}
    Para obter mais informações, consulte Caso de uso do script de validação - Data e hora.