Der Datensatzzugriff wird eingeschränkt

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 2 Minuten Lesedauer
  • Sie können eine Abfrage-Business-Regel verwenden, die vor der Datenbankabfrage ausgeführt wird, um zu verhindern, dass Anwender auf bestimmte Datensätze zugreifen.

    Warnung:
    Die hier beschriebene Anpassung wurde für die Verwendung in bestimmten Fällen entwickelt und wird von Now Support nicht unterstützt. Diese Methode wird wie sie ist zur Verfügung gestellt und sollte vor der Implementierung gründlich getestet werden. Veröffentlichen Sie alle Fragen und Kommentare zu dieser Anpassung in unserem Community-Forum.

    Das folgende Beispiel stammt aus einer standardmäßigen Business Rule, die den Zugriff auf Incident-Datensätze einschränkt.

    Tabelle : 1. Standard-Business Rule schränkt Zugriff auf Incident-Datensätze ein
    Name Tabelle Wann
    Incident-Abfrage Incident vor Abfrage

    Der Datensatzzugriff wird eingeschränkt

    Im folgenden Beispiel können Anwender nicht auf Incident-Datensätze zugreifen, es sei denn, sie haben die Rolle itil und sind in aufgeführt Anrufer Oder Geöffnet von Feld. Wenn Selfservice-Anwender eine Liste von Incidents öffnen, können sie nur die von ihnen übermittelten Incidents sehen.
    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);}
    Hinweis:
    Sie können auch Zugriffssteuerungen verwenden, um einzuschränken, welche Datensätze Benutzer sehen können. Informationen hierzu finden Sie unter Access Control List Rules.

    Skript für Wochentage planen

    Typ: Business-Regeln/Client-Skripts.

    Dieses Skript plant das Skript für Wochentage. Fügen Sie ein beliebiges Skript dort ein, wo „Your Script here“ steht.
    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)
     
    }

    Datumsfeld gemäß aktuellem Datum festlegen

    Dieses Skript legt ein Datumsfeld in Abhängigkeit vom aktuellen Wochentag fest. Wenn in diesem Beispiel der Tag Montag bis Mittwoch ist, wird das Datum auf den kommenden Montag festgelegt. Andernfalls wird das Datumsfeld auf nächsten Montag festgelegt.
    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);
    }

    Um die Eingabe aller Datums-/Uhrzeitfelder zu validieren, können Sie Folgendes in einem Validierungsskript verwenden (Systemdefinition > Validierungsskripts) an. Da das Datums-/Uhrzeitformat in diesem Skript hartcodiert ist, muss es dem Datums-/Uhrzeitformat Ihrer Instanz entsprechen. Wenn sich das Datums-/Uhrzeitformat Ihrer Instanz ändert, müssen Sie Ihr Validierungsskript aktualisieren.

    Legen Sie den Typ des Validierungsskripts auf Datum/Uhrzeit fest. Wenn ein Anwender dann mit diesem Validierungsskript ein falsches Format in ein Datums-/Uhrzeitfeld eingibt, erhält er eine Fehlermeldung.
    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;}
    Weitere Informationen finden Sie unter Anwendungsfall des Validierungsskripts: Datum und Uhrzeit.