Business Rule-API – ServiceNow Fluent
Die Business Rule-API enthält Objekte, die serverseitige Skripts [sys_script] definieren, die ausgeführt werden, wenn ein Datensatz angezeigt, eingefügt, aktualisiert oder gelöscht wird oder wenn eine Tabelle abgefragt wird.
BusinessRule-Objekt
Erstellen Sie eine Geschäftsregel [sys_script], die automatisch Werte in Formularfeldern ändert, wenn bestimmte serverseitige Bedingungen erfüllt sind.
| Name | Typ | Beschreibung |
|---|---|---|
| $ID | Zeichenfolge oder Zahl | Erforderlich. Eine eindeutige ID für das Metadatenobjekt, die im folgenden Format bereitgestellt wird: wobei<value> ist eine Zeichenfolge oder Zahl.Wenn Sie die Anwendung erstellen, wird diese ID in eine eindeutige sys_ID gehasht. |
| Name | Zeichenfolge | Erforderlich. Ein Name für die Geschäftsregel. |
| Tabelle | Zeichenfolge | Erforderlich. Der Name der Tabelle, für die die Geschäftsregel ausgeführt wird. |
| Bestellen | Ganzzahl | Eine Zahl, die die Reihenfolge angibt, in der diese 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 zur höchsten. Standard: 100 |
| Skript | Skript | Eine Funktion oder ein Inline-Skript, dem ein Skript -Tag vorangestellt ist. Das anwenderdefinierte Skript wird ausgeführt, wenn die definierten Bedingungen „wahr“ sind.Verwenden Sie für Funktionen den Namen einer Funktion, eines Funktionsausdrucks oder einer Standardfunktion, die aus einem JavaScript-Modul exportiert und in die .now.ts -Datei importiert wurde. Informationen zu JavaScript-Modulen finden Sie unter JavaScript-Module und Bibliotheken von Drittparteien. Inline-Skripts verwenden das Skript -Tag im folgenden Format:
|
| when | Zeichenfolge | Wann diese Business Rule ausgeführt werden soll. Weitere Informationen dazu, wann Business-Regeln ausgeführt werden, finden Sie unter Wie Business Rules funktionieren. Gültige Werte: vor, nach, asynchron, Anzeige Standard: before |
| Aktion | Array | Die Datensatzoptionen, für die diese Geschäftsregel gilt. Weitere Informationen zu Business-Regel-Aktionen finden Sie unter Wie Business Rules funktionieren. Gültige Werte: Einfügen, Aktualisieren, Löschen, Abfragen |
| aktiv | Boolean | Kennzeichnung, die angibt, ob die Geschäftsregel verwendet werden soll. Gültige Werte:
Standardwert: true |
| add_message | Boolean | Kennzeichnung, die angibt, ob eine Nachricht hinzugefügt werden soll, die angezeigt wird, wenn die Business-Regel ausgeführt wird. Gültige Werte:
Standardwert: false |
| abort_action | Boolean | Kennzeichnung, die angibt, ob die aktuelle Datenbanktransaktion abgebrochen werden soll. Nehmen wir an, Sie haben eine Business Rule, die vor Einfügevorgängen ausgeführt werden soll. Wenn ihre Bedingungen zutreffen, wird der Datensatz nicht in die Datenbank eingefügt. Gültige Werte:
Standardwert: false |
| Nachricht | Zeichenfolge | Eine Nachricht, die angezeigt wird, wenn die Geschäftsregel ausgeführt wird. |
| role_conditions | Array | Eine Liste der Variablenbezeichner von Rollenobjekten, die Anwender haben müssen, die Datensätze in der Tabelle ändern, damit diese Business Rule 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 die Geschäftsregel ausgeführt werden kann. Verwenden Sie diese Eigenschaft nicht, wenn Sie die Bedingungsanweisung mit den Eigenschaften filter_condition oder script einbeziehen. Indem Sie dieser Eigenschaft die Bedingungsanweisung hinzufügen, weisen Sie das System an, die Bedingung separat auszuwerten und die Geschäftsregel nur auszuführen, wenn die Bedingung „wahr“ ist. Damit die Instanz die Bedingungsanweisung vor dem Ausführen einer asynchronen Business Rule ein zweites Mal neu auswertet, fügen Sie die Systemeigenschaft glide.businessrule.async_condition_check hinzu, und legen Sie den Wert auf true fest. |
| filter_condition | Zeichenfolge | Eine Filterabfrage, die die Felder und Werte angibt, die „wahr“ sein müssen, damit die Geschäftsregel ausgeführt werden kann. Weitere Informationen finden Sie unter Operators available for filters and queries. |
| set_field_value | Zeichenfolge | Die Werte zum Festlegen von Feldern in der Tabelle. Dies kann als codierte Abfrage bereitgestellt werden, z. B. set_field_value: 'sec_created=false^EQ'. |
| Beschreibung | Zeichenfolge | Beschreibung der Funktion der Business Rule. |
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,
add_message: false,
message: '<p>message</p>',
abort_action: 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'],
filter_condition: `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',
role_conditions: [admin],
order: 100,
active: true,
add_message: true,
message: '<p>message</p>',
script: script`gs.info('info')`,
abort_action: false,
$id: Now.ID[3],
})