Tabellen-API – ServiceNow Fluent
Die Tabellen-API enthält Objekte, die Tabellen [sys_db_object] in einer bereichsbezogenen Anwendung definieren.
Tabellenobjekt
Erstellen Sie eine Tabelle [sys_db_object] in einer bereichsbezogenen Anwendung.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Erforderlich. Ein Name für die Tabelle, beginnend mit dem Anwendungsbereich und vollständig in Kleinbuchstaben im folgenden Format:<scope> _<name> . Der Name muss mit dem Variablenbezeichner des Tabellenobjekts übereinstimmen. Hinweis: Um einer vorhandenen Tabelle in einem anderen Anwendungsbereich Spalten hinzuzufügen, können Sie den Namen der Tabelle ohne den Anwendungsbereich gefolgt von als beliebiger angeben. Die Spaltennamen müssen stattdessen mit dem Anwendungsbereich beginnen.Maximale Länge: 80 |
| Schema | Array | Eine Liste von Spaltenobjekten. Weitere Informationen finden Sie unter Spaltenobjekt. |
| erweitert | Zeichenfolge | Der Name einer beliebigen anderen Tabelle, auf der die Tabelle basiert. Beim Erweitern einer Basistabelle werden alle Felder der ursprünglichen Tabelle berücksichtigt und Systemfelder für die neue Tabelle erstellt. Wenn sie sich im selben Bereich befinden oder von anderen Bereichen aus konfiguriert werden können, können Sie Tabellen erweitern, die als erweiterbar markiert sind. |
| label | Zeichenfolge | Eine eindeutige Bezeichnung für die Tabelle in Listen- und Formularansichten. Maximale Länge: 80 Standard: der Wert der Namenseigenschaft |
| Anzeigen | Zeichenfolge | Die Standardanzeigespalte. Verwenden Sie einen Spaltennamen aus der Schemaeigenschaft. |
| erweiterbar | Boolean | Kennzeichnung, die angibt, ob andere Tabellen die Tabelle erweitern können. Gültige Werte:
Durch Ändern dieser Eigenschaft von „wahr“ in „falsch“ wird die Erstellung zusätzlicher untergeordneter Tabellen verhindert, vorhandene untergeordnete Tabellen bleiben jedoch unverändert. Standardwert: false |
| live_feed | Boolean | Kennzeichnung, die angibt, ob Live-Feeds für Datensätze in der Tabelle verfügbar sind. Gültige Werte:
Standardwert: false |
| auto_number | Objekt | Die Konfiguration der automatischen Nummerierung [sys_number] für eine Tabelle. Weitere Informationen finden Sie unter auto_number-Objekt. |
| zugänglich_von | Zeichenfolge | Die Anwendungsbereiche, die auf die Tabelle zugreifen können. Gültige Werte: public, Package_private Standard: öffentlich |
| caller_access | Zeichenfolge | Die Zugriffsebene für bereichsübergreifende Anforderungen. Gültige Werte:
Weitere Informationen finden Sie unter Einstellungen für eingeschränkte Anruferzugriffsberechtigungen. Standard: keiner |
| Aktionen | Array | Eine Liste der Zugriffsoptionen. Gültige Werte: lesen, erstellen, aktualisieren, löschen Standard: lesen |
| allow_web_service_access | Boolean | Kennzeichnung, die angibt, ob Webservices Aufrufe für die Tabelle vornehmen können. Gültige Werte:
Standardwert: false |
| allow_new_fields | Boolean | Kennzeichnung, die angibt, ob die Konfiguration neuer Felder in der Tabelle zur Entwurfszeit aus anderen Anwendungsbereichen zulässig sein soll. Gültige Werte:
Standardwert: false |
| allow_ui_actions | Boolean | Kennzeichnung, die angibt, ob die Konfiguration von UI-Aktionen in der Tabelle zur Entwurfszeit aus anderen Anwendungsbereichen zulässig sein soll. Gültige Werte:
Standardwert: false |
| allow_client_scripts | Boolean | Kennzeichnung, die angibt, ob die Konfiguration von Client-Skripts in der Tabelle zur Entwurfszeit aus anderen Anwendungsbereichen zulässig sein soll. Gültige Werte:
Standardwert: false |
| Audit | Boolean | Kennzeichnung, die angibt, ob die Erstellung, Aktualisierung und Löschung aller Datensätze in der Tabelle nachverfolgt werden soll. Gültige Werte:
Standardwert: false |
| schreibgeschützt | Boolean | Kennzeichnung, die angibt, ob Anwender Felder in der Tabelle bearbeiten können. Gültige Werte:
Standardwert: false |
| text_index | Boolean | Kennzeichnung, die angibt, ob Suchmaschinen den Text in einer Tabelle indizieren. Gültige Werte:
Standardwert: false |
| attributes | Objekt | Schlüssel-Wert-Paare eines unterstützten Wörterbuchattributs [sys_schema_attribute]. Weitere Informationen finden Sie unter Wörterbuchattribute. |
| index | Array | Eine Liste von Spaltenreferenzen zum Generieren von Indizes in der Metadaten-XML der Tabelle. Ein Datenbankindex erhöht die Geschwindigkeit des Zugriffs auf Daten aus der Tabelle auf Kosten von zusätzlichem Speicher. |
Zur Typeahead-Unterstützung für Spalten weisen Sie das Tabellenobjekt einer exportierten Variablen mit demselben Namen wie die Eigenschaft Name zu.
import { Table, StringColumn } from "@servicenow/sdk/core";
import { myFunction } from "../server/myFunction.js"
export const x_snc_example_to_do = Table({
name: 'x_snc_example_to_do',
label: 'My To Do Table',
extends: 'task',
schema: {
status: StringColumn({ label: 'status' }),
deadline: StringColumn({
label: 'deadline',
active: true,
mandatory: false,
read_only: false,
maxLength: 40,
dropdown: 'none',
attributes: {
update_sync: false,
},
default: 'today',
dynamic_value_definitions: {
type: 'calculated_value',
calculated_value: '',
},
choices: {
choice1: {
label: 'choice1 Label',
sequence: 0,
inactive_on_update: false,
dependent_value: '5',
hint: 'hint',
inactive: false,
language: 'en',
},
choice2: { label: 'choice2 Label', sequence: 1 },
},
}),
dynamic1: StringColumn({
dynamic_value_definitions: {
type: 'calculated_value',
calculated_value: myFunction,
},
}),
dynamic2: StringColumn({
dynamic_value_definitions: {
type: 'dynamic_default',
dynamic_default: `gs.info()`,
},
}),
dynamic3: StringColumn({
dynamic_value_definitions: {
type: 'dependent_field',
column_name: 'status',
},
}),
dynamic4: StringColumn({
dynamic_value_definitions: {
type: 'choices_from_other_table',
table: 'sc_cat_item',
field: 'display',
},
}),
},
actions: ['create', 'read'],
display: 'deadline',
accessible_from: 'package_private',
allow_client_scripts: true,
allow_new_fields: true,
allow_ui_actions: true,
allow_web_service_access: true,
extensible: true,
live_feed: true,
caller_access: 'none',
auto_number: {
number: 10,
number_of_digits: 2,
prefix: 'abc',
},
audit: true,
read_only: true,
text_index: true,
attributes: {
update_sync: true,
},
index: [
{
name: 'idx',
element: 'status',
unique: true,
},
],
})
Spaltenobjekt
Fügen Sie in einer Tabelle eine Spalte [sys_dictionary] hinzu.
Verwenden Sie das Spaltenobjekt in der Schemaeigenschaft des Tabellenobjekts.
Je nach Feldtyp gibt es viele Arten von Spalten. Spaltenobjekte verwenden das Format<Type> Spalte wobei ist der Feldtyp. Informationen zu Feldtypen finden Sie unter Field types.
The following types of columns are supported: ListColumn, RadioColumn, StringColumn, ChoiceColumn, ScriptColumn, BooleanColumn, ConditionsColumn, DecimalColumn, IntegerColumn, VersionColumn, DomainIdColumn, FieldNameColumn, ReferenceColumn, TableNameColumn, UserRolesColumn, BasicImageColumn, DocumentIdColumn, DomainPathColumn, TranslatedTextColumn, SystemClassNameColumn, TranslatedFieldColumn, GenericColumn, DateColumn, DateTimeColumn, CalendarDateTime, BasicDateTimeColumn, DueDateColumn, CalendarDateTime, IntegerDateColumn, ScheduleDateTimeColumnund OtherDateColumn.
| Name | Typ | Beschreibung |
|---|---|---|
| label | Zeichenfolge | Eine eindeutige Bezeichnung für die Spalte, die in Listenüberschriften und Formularfeldern angezeigt wird. Wenn Sie die Bezeichnung aktualisieren, aktualisiert das System auch die Bezeichnung in der Sprachdatei für die aktuelle Sprache. Wenn keine Bezeichnung angegeben ist, wird für das Spaltenobjekt die Bezeichnung verwendet. |
| maxLength | Nummer | Die maximale Länge der Werte in der Spalte. Bei einer Länge von unter 254 wird als einzeiliges Textfeld angezeigt. Alles, was 255 Zeichen oder mehr umfasst, wird als mehrzeiliges Textfeld angezeigt. Hinweis: Um Datenverlust zu vermeiden, verringern Sie die Länge eines Zeichenfolgenfelds nur, wenn Sie eine neue Anwendung entwickeln, und nicht, wenn ein Feld Daten enthält. Standard: 40 |
| aktiv | Boolean | Kennzeichnung, die angibt, ob das Feld in Listen und Formularen angezeigt werden soll. Gültige Werte:
Standardwert: true |
| Obligatorisch | Boolean | Kennzeichnung, die angibt, ob das Feld einen Wert enthalten muss, um einen Datensatz zu speichern. Gültige Werte:
Standardwert: false |
| schreibgeschützt | Boolean | Kennzeichnung, die angibt, ob Sie den Feldwert bearbeiten können. Gültige Werte:
Standardwert: false |
| Standard | Beliebig | Der Standardwert des Felds beim Erstellen eines Datensatzes. Der Wert muss den richtigen Typ basierend auf dem Spaltentyp verwenden. |
| Auswahlmöglichkeiten | Objekt | Eine Auswahlliste [sys_choice] für eine Spalte. Weitere Informationen finden Sie unter Auswahlobjekt. Diese Eigenschaft gilt nur für „ChoiceColumn“ und Spaltentypen, die Auswahlspalten erweitern. Es kann entweder ein Array von primitiven Werten oder eine Reihe von Auswahlobjekten enthalten. |
| attributes | Objekt | Schlüssel-Wert-Paare eines unterstützten Wörterbuchattributs [sys_schema_attribute]. Weitere Informationen finden Sie unter Wörterbuchattribute. |
| Funktionsdefinition | Zeichenfolge | Eine Definition einer Funktion, die das Feld ausführt. Beginnt mit glidefunction:, gefolgt von der auszuführenden Operation (z. B. concat), gefolgt von Funktionsparametern. Konstanten müssen in einfache Anführungszeichen gesetzt werden. Mit der folgenden Funktionsdefinition wird beispielsweise ein Feld erstellt, in dem die Kurzbeschreibung gefolgt von einem Leerzeichen und dem Namen des Anrufers angezeigt wird: Weitere Informationen zu Funktionsdefinitionen finden Sie unter Function field. |
| dynamic_value_definitions | Objekt | Standardwerte, die dynamisch basierend auf dynamischen Filtern generiert werden. Geben Sie eine Kombination aus einem Typ und einem zugehörigen Verhaltensschlüssel an, um dynamische Standardwerte anzugeben. Die folgenden Typen werden unterstützt:
|
| Dropdownliste | Zeichenfolge | Wie eine Auswahlliste für Benutzer Ihres Formulars angezeigt wird. Diese Eigenschaft gilt nur für „ChoiceColumn“ und Spaltentypen, die Auswahlspalten erweitern. Gültige Werte:
Standard: keiner |
schema: {
deadline: DateColumn({ label: 'deadline' }),
state: StringColumn({
label: 'State',
choices: {
ready: { label: 'Ready' },
completed: { label: 'Completed' },
in_progress: { label: 'In Progress' },
}
}),
task: StringColumn({ label: 'Task', maxLength: 120 }),
},schema: {
x_scope_myColumn: StringColumn({...})
}Auswahlobjekt
Konfigurieren Sie Auswahlmöglichkeiten [sys_choice] für eine Spalte in einer Tabelle.
Verwenden Sie das Auswahlobjekt mit unterstützten Spaltentypen in der SchemaeigenschafteinesTabellenobjekts. Nur bestimmte Spaltentypen erweitern den Auswahlspaltentyp (Auswahlspalte) und können Auswahlmöglichkeiten enthalten.
| Name | Typ | Beschreibung |
|---|---|---|
| label | Zeichenfolge | Erforderlich. Der Text, der für die Auswahl in der Liste angezeigt werden soll. |
| Abhängiger_Wert | Zeichenfolge | Ein Wert, den Sie dem abhängigen Feld in der Eigenschaft „dynamic_value_definitions“ des Spaltenobjekts zuordnen. |
| Tipp | Zeichenfolge | Eine kurze Beschreibung der Auswahl, die als Tooltip angezeigt wird, wenn Sie den Mauszeiger darüber bewegen. |
| language | Zeichenfolge | Der BCP 47 -Code der Sprache für die übersetzte Auswahl. Standard: en |
| Sequenz | Ganzzahl | Die Reihenfolge in der Liste der Auswahlmöglichkeiten, in der eine Auswahl erfolgt. |
| Inaktiv | Boolean | Kennzeichnung, die angibt, ob die Auswahl in der Liste angezeigt werden soll. Gültige Werte:
Standardwert: false |
Das Auswahlobjekt enthält eine Reihe von Auswahlobjekten, bei denen die Namen der Auswahlmöglichkeiten als Objektschlüssel gepaart mit den Auswahldefinitionen bereitgestellt werden.
choices: {
choice1: {
label: 'choice1 Label',
sequence: 0,
inactive_on_update: false,
dependent_value: '5',
hint: 'hint',
inactive: false,
language: 'en',
},
choice2: { label: 'choice2 Label', sequence: 1 },
},
auto_number-Objekt
Konfigurieren Sie die automatische Nummerierung [sys_number] für eine Tabelle.
Verwenden Sie das Objekt auto_number innerhalb des Tabellenobjekts.
| Name | Typ | Beschreibung |
|---|---|---|
| Präfix | Zeichenfolge | Ein Präfix für jede Datensatznummer in der Tabelle. Beispiel: INC für Incident. Standard: pre |
| Nummer | Ganzzahl | Die Basisnummer für diese Tabelle. Die Datensatznummern werden automatisch erhöht, und die nächste Nummer wird in der Tabelle „Zähler“ [sys_number_counter] verwaltet. Wenn Sie die Basisnummer auf einen höheren Wert als den aktuellen Zähler setzen, verwendet die nächste Datensatznummer die neue Basisnummer. Andernfalls verwendet die nächste Datensatznummer den aktuellen Zähler. Der Zähler wird nicht auf eine niedrigere Basiszahl als sich selbst zurückgesetzt. Standard: 1000 |
| number_of_digits | Ganzzahl | Die Mindestanzahl von Stellen, die nach dem Präfix verwendet werden sollen. Automatischen Nummern werden bei Bedarf führende Nullen hinzugefügt. Beispiel: INC0001001 enthält drei führende Nullen. Die Anzahl der Stellen kann die Mindestlänge überschreiten. Beispiel: Wenn „number_of_digits“ 2 ist und mehr als 99 Datensätze in der Tabelle erstellt werden, werden die Zahlen bis über 100 fortgesetzt (z. B. INC101). Warnung: Durch das Ändern dieses Felds können alle Zahlenwerte für vorhandene Datensätze in einer Tabelle aktualisiert werden. Seien Sie vorsichtig, wenn Sie dieses Feld in einer Produktionsinstanz ändern. Standard: 7 |
auto_number: {
prefix: 'TODO',
number: 2000,
digits: 9,
}