Anwendungsfälle des Zeitplanungsskripts

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 1 Minute Lesedauer
  • Ein Business Rule-Skript gibt die Aktionen an, die die Business Rule durchführt. Skripts enthalten im Allgemeinen vordefinierte globale Variablen, um auf Elemente in Ihrem System zu verweisen, z. B. den aktuellen Datensatz. Globale Variablen stehen für alle Business Rules zur Verfügung.

    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.

    Dauer anhand eines Zeitplans berechnen

    Typ: Vor dem Aktualisieren/Einfügen der Business-Regel.

    Beschreibung: Eine Geschäftsdauer berechnet die Dauer von offen bis geschlossen für einen Incident basierend auf dem bestimmten Zeitpläne werden erstellt und verwendet . Wenn kein Zeitplan angegeben ist, verwendet das Skript einfach den ersten von der Abfrage zurückgegebenen Zeitplan.

    Skriptbeispiel:

    Im folgenden Beispiel wird die Auflösungsdauer festgelegt, wenn der Incident-Status sich in „Gelöst“ ändert.
    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()));
    }

    Anstehende Laufzeit-Enddaten prüfen

    Typ: Geplantes Skript.

    Beschreibung: Dieses Skript überprüft jede Nacht die Laufzeit-Enddaten von Verträgen in den nächsten 90, 50 oder 10 Tagen (abhängig vom Feld für die Vertragsdauer).

    Skriptbeispiel:

    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();
      }
    }
    Verwenden Sie Skripts in Business Rules, um allgemeine Aufgaben wie die folgenden auszuführen:
    • Zwei Datumsfelder vergleichen
    • XML-Payloads analysieren
    • Datenbankaktionen in einer Business Rule abbrechen
    Mit Skripten können Sie auch die folgenden Aufgaben ausführen:
    • Den Vorgang angeben, der die Business Rule auslöst
    • Das Scratchpad mit Business Rules für die Anzeige verwenden, um Formularwerte unmittelbar vor dem Laden des Formulars durch einen Benutzer zu ändern
    • Die ODER-Bedingung wie in einem Condition Builder verwenden

    Sie können auch die Skriptfunktionen des Systems verwenden, die für serverseitige Skripts verfügbar sind.

    Sie können Optionen im Formular „Business Rules“ verwenden, um Bedingungen zu erstellen, Feldwerte festzulegen und Warnmeldungen anzuzeigen, ohne ein Skript schreiben zu müssen.