Business-Regel-API – ServiceNow Fluent

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 4 Minuten Lesedauer
  • Die Business-Regel-API definiert serverseitige Skripts [sys_script], die ausgeführt werden, wenn ein Datensatz angezeigt, eingefügt, aktualisiert oder gelöscht wird oder wenn eine Tabelle abgefragt wird.

    Allgemeine Informationen zu Business-Regeln finden Sie unter Classic Business rules.

    BusinessRule-Objekt

    Erstellen Sie eine Business-Regel [sys_script], die automatisch Werte in Formularfeldern ändert, wenn bestimmte serverseitige Bedingungen erfüllt sind.

    Tabelle : 1. Eigenschaften
    Name Typ Beschreibung
    $ID Zeichenfolge oder Zahl Erforderlich. Eine eindeutige ID für das Metadatenobjekt. Wenn Sie die Anwendung erstellen, wird diese ID in eine eindeutige sys_ID gehasht Weitere Informationen finden Sie unter ServiceNow Fluent Sprachkonstrukte.

    Format: Now.ID['Zeichenfolge' oder Zahl]

    Name Zeichenfolge Erforderlich. Ein Name für die Business-Regel.
    Tabelle Zeichenfolge Erforderlich. Der Name der Tabelle, für die die Business-Regel ausgeführt wird.
    Skript Skript Ein anwenderdefiniertes Skript wird ausgeführt, wenn die definierten Bedingungen „wahr“ sind. Diese Eigenschaft unterstützt eine Funktion aus einem JavaScript-Modul, einen Verweis auf eine andere Datei in der Anwendung, die ein Skript enthält, oder Inline-JavaScript.
    Format:
    • Verwenden Sie für Funktionen den Namen einer Funktion, eines Funktionsausdrucks oder einer Standardfunktion, die aus einem JavaScript-Modul exportiert wurde, und importieren Sie sie in .Jetzt.TS Datei. Informationen zu JavaScript-Modulen finden Sie unter JavaScript-Module und Drittanbieterbibliotheken.
    • Informationen zur Verwendung von Textinhalten aus einer anderen Datei finden Sie in einer Datei in der Anwendung im folgenden Format: Now.include('path/to/file') . Weitere Informationen finden Sie unter ServiceNow Fluent Sprachkonstrukte.
    • Um ein Inline-Skript bereitzustellen, verwenden Sie Zeichenfolgenliterale oder Vorlagenliterale für mehrere Codezeilen: „Skript“ oder „Skript“ .
    Reihenfolge Nummer Eine Zahl, die die Reihenfolge angibt, in der die Business-Regel ausgeführt werden soll. Wenn für eine bestimmte Aktivität mehrere Regeln vorhanden sind, werden die Regeln in der angegebenen Reihenfolge ausgeführt, von der niedrigsten nach der höchsten.

    Standard: 100

    aktiv Boolean Kennzeichnung, die angibt, ob die Business-Regel aktiviert ist.
    Gültige Werte:
    • Wahr: Die Business-Regel wird erzwungen.
    • Falsch: Die Business-Regel wird nicht erzwungen.

    Standardwert: wahr

    when Zeichenfolge Die Zeit, zu der die Business-Regel ausgeführt werden soll. Weitere Informationen zur Ausführung von Business-Regeln finden Sie unter How business rules work.
    Gültige Werte:
    • vor
    • nach
    • async
    • Anzeigen

    Standard: Vor

    Aktion Array Die Datensatzoptionen, für die die Business-Regel gilt. Weitere Informationen zu Business-Regel-Aktionen finden Sie unter How business rules work.
    Gültige Werte:
    • einfügen
    • update
    • löschen
    • query
    AddMessage Boolean Kennzeichnung, die angibt, ob eine Nachricht hinzugefügt werden soll, die angezeigt wird, wenn die Business-Regel ausgeführt wird.
    Gültige Werte:
    • Wahr: Zeigt eine Nachricht an.
    • Falsch: Zeigt keine Nachricht an.

    Standardwert: false

    AbortAktion Boolean Kennzeichnung, die angibt, ob die aktuelle Datenbanktransaktion abgebrochen werden soll. Fügen Sie beispielsweise in einer Business-Regel vor dem Einfügen den Datensatz nicht in die Datenbank ein, wenn die Bedingungen erfüllt sind.
    Gültige Werte:
    • Falsch: Bricht die aktuelle Datenbanktransaktion nicht ab.
    • Wahr: Bricht die aktuelle Datenbanktransaktion ab. Sie können keine zusätzlichen Aktionen für den Datensatz ausführen, z. B. das Festlegen von Feldwerten und das Ausführen von Skripts. Sie können Anwendern mit weiterhin eine Nachricht anzeigen AddMessage Und Nachricht Eigenschaften.

    Standardwert: false

    Nachricht Zeichenfolge Eine Nachricht, die angezeigt wird, wenn die Business-Regel ausgeführt wird.
    RoleConditions Array Eine Liste von Variablenbezeichnern von Rolle Objekte, die Anwender, die Datensätze in der Tabelle ändern, haben müssen, damit die Business-Regel ausgeführt werden kann. Weitere Informationen finden Sie unter Rollen-API – ServiceNow Fluent.
    Bedingung Zeichenfolge Eine bedingte JavaScript-Anweisung, die die Felder und Werte angibt, die „wahr“ sein müssen, damit das Skript ausgeführt werden kann. Diese Eigenschaft unterstützt Inline-JavaScript oder einen Verweis auf eine andere Datei in der Anwendung, die ein Skript enthält.
    Hinweis:
    Verwenden Sie diese Eigenschaft nicht, wenn Sie die Bedingungsanweisung mit einschließen Filterbedingung Oder Skript Eigenschaften.

    Durch Angabe der Bedingungsanweisung mit dieser Eigenschaft wird die Bedingung separat ausgewertet, und die Business-Regel wird nur ausgeführt, wenn die Bedingung „wahr“ ist. Um die Bedingungsanweisung ein zweites Mal neu auszuwerten, bevor eine asynchrone Business-Regel ausgeführt wird, legen Sie fest glide.businessrule.async_condition_checkSystemeigenschaft auf „wahr“.

    Format:
    • Informationen zur Verwendung von Textinhalten aus einer anderen Datei finden Sie in einer Datei in der Anwendung im folgenden Format: Now.include('path/to/file') . Weitere Informationen finden Sie unter ServiceNow Fluent Sprachkonstrukte.
    • Um ein Inline-Skript bereitzustellen, verwenden Sie Zeichenfolgenliterale oder Vorlagenliterale für mehrere Codezeilen: „Skript“ oder „Skript“ .
    filterCondition Zeichenfolge Eine Filterabfrage, die die Felder und Werte angibt, die „wahr“ sein müssen, damit die Business-Regel ausgeführt werden kann. Weitere Informationen finden Sie unter Operators available for filters and queries.
    SetFeldwert Zeichenfolge Die Werte, die für Felder in der Tabelle festgelegt werden sollen. Dies kann als codierte Abfrage bereitgestellt werden, z. B. SetFieldValue: 'Sec_created=false^EQ' .
    Beschreibung Zeichenfolge Eine Beschreibung der Funktion der Business-Regel.
    $Meta Objekt Metadaten für die Anwendungsmetadaten.
    Mit InstallMethod Eigenschaft können Sie die Anwendungsmetadaten einem Ausgabeverzeichnis zuordnen, das nur unter bestimmten Umständen geladen wird.
    $meta: {
          installMethod: 'String'
    }
    Gültige Werte für InstallMethod :
    • Demo: Gibt die Anwendungsmetadaten an aus Metadaten/unload.demo Verzeichnis, das mit der Anwendung installiert werden soll, wenn Demodaten laden Option ist ausgewählt.
    • Erste Installation: Gibt die Anwendungsmetadaten an aus Metadaten/Entladen Verzeichnis, das nur bei der ersten Installation einer Anwendung auf einer Instanz installiert werden soll.
    import { BusinessRule } from '@servicenow/sdk/core'
    import { FunctionExport, FunctionExpression } from '../server/scripts.js'
    import DefaultExportFunction from '../server/scripts.js'
    
    const BR1 = BusinessRule({
        name: 'exportedFunction',
        table: 'x_snc_table',
        when: 'after',
        action: ['update', 'delete', 'insert'],
        script: FunctionExport,
        order: 100,
        active: true,
        addMessage: false,
        message: '<p>message</p>',
        abortAction: false,
        $id: Now.ID[0],
    })
    
    const BR2 = BusinessRule({
        name: 'businessrule2',
        table: 'x_snc_table',
        script: FunctionExpression,
        when: 'after',
        action: ['update'],
        $id: Now.ID[1],
    })
    
    const BR3 = BusinessRule({
        name: 'businessrule3',
        table: 'x_snc_table',
        script: DefaultExportFunction,
        when: 'after',
        action: ['update'],
        filterCondition: `sys_updated_onSTARTSWITHb^sys_updated_bySTARTSWITHm^EQ
        <item goto="false" or="false" field="sys_updated_on" endquery="false" value="b" operator="STARTSWITH" newquery="false"/>
        <item goto="false" or="false" field="sys_updated_by" endquery="false" value="m" operator="STARTSWITH" newquery="false"/>
        <item goto="false" or="false" field="" endquery="true" value="" operator="=" newquery="false"/>`,
        $id: Now.ID[2],
    })
    
    const BR4 = BusinessRule({
        name: 'templateBR',
        action: ['insert'],
        when: 'after',
        table: 'x_snc_table',
        roleConditions: [admin],
        order: 100,
        active: true,
        addMessage: true,
        message: '<p>message</p>',
        script: `gs.info('info')`,
        abortAction: false,
        $id: Now.ID[3],
    })