Tabellen-API – ServiceNow Fluent
Die Tabellen-API definiert Tabellen [sys_DB_object] zum Speichern von Daten in einer bereichsbezogenen Anwendung.
Erstellen Sie eine Tabelle mit Tabelle Objekt. Von Schema Eigenschaft, fügen Sie Spaltenobjekte hinzu, z. B. Zeichenfolgenspalte Oder Ganzspalte , Um die Spalten zu definieren.
Allgemeine Informationen zu Tabellen finden Sie unter Table administration.
Tabellenobjekt
Erstellen Sie eine Tabelle [sys_DB_object] in einer bereichsbezogenen Anwendung.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Erforderlich. Ein Name für die Tabelle, der mit dem Anwendungsbereich beginnt und in Kleinbuchstaben im folgenden Format angegeben ist: <scope>_<name> . Der Name muss mit dem Variablenbezeichner von übereinstimmen Tabelle Objekt. Hinweis: Um einer vorhandenen Tabelle in einem anderen Anwendungsbereich Spalten hinzuzufügen, können Sie den Namen der Tabelle ohne den Anwendungsbereich gefolgt von angeben Wie beliebig . Die Spaltennamen müssen stattdessen mit dem Anwendungsbereich beginnen.Maximale Länge: 80 |
| Schema | Array | Erforderlich. Eine Liste von Spalte Objekte. Weitere Informationen finden Sie unter Spaltenobjekt. |
| erweitert | Zeichenfolge | Der Name einer 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 aus anderen Bereichen konfiguriert werden können, können Sie Tabellen erweitern, die als erweiterbar markiert sind. |
| label | Zeichenfolge Oder-Array | Eine eindeutige Bezeichnung für die Tabelle in Listen- und Formularansichten. Feldbezeichnungen können als Zeichenfolge oder Array von angegeben werden Bezeichnung Objekte. Weitere Informationen finden Sie unter Bezeichnungsobjekt. Maximale Länge: 80 Standard: Der Wert von Name Eigenschaft |
| LicensingConfig | Objekt | Die Lizenzierungskonfiguration [ua_table_Licensing_config] für eine Tabelle. Weitere Informationen finden Sie unter LicensingConfig-Objekt. |
| Anzeigen | Zeichenfolge | Die Standardanzeigespalte. Verwenden Sie einen Spaltennamen aus Schema Eigenschaft. |
| Erweiterbar | Boolean | Kennzeichnung, die angibt, ob andere Tabellen die Tabelle erweitern können. Gültige Werte:
Durch das Ä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 |
| Zugänglich von | Zeichenfolge | Die Anwendungsbereiche, die auf die Tabelle zugreifen können. Gültige Werte:
Standard: Öffentlich |
| Anruferzugriff | Zeichenfolge | Die Zugriffsebene für bereichsübergreifende Anforderungen. Gültige Werte:
Weitere Informationen finden Sie unter Einstellungen für eingeschränkte Anruferzugriffsberechtigungen. Standard: keiner |
| actions | Array | Eine Liste von Zugriffsoptionen. Gültige Werte:
Standard: Lesen |
| AllowWebServiceAccess | Boolean | Kennzeichnung, die angibt, ob Webservices Aufrufe an die Tabelle tätigen können. Gültige Werte:
Standardwert: false |
| Zulässige neue Felder | Boolean | Kennzeichnung, die angibt, ob die Designzeitkonfiguration neuer Felder in der Tabelle aus anderen Anwendungsbereichen zugelassen werden soll. Gültige Werte:
Standardwert: false |
| Zulässige Aktionen | Boolean | Kennzeichnung, die angibt, ob die Designzeitkonfiguration von UI-Aktionen für die Tabelle aus anderen Anwendungsbereichen zugelassen werden soll. Gültige Werte:
Standardwert: false |
| AllowClientSkripts | Boolean | Kennzeichnung, die angibt, ob die Designzeitkonfiguration von Client-Skripts in der Tabelle aus anderen Anwendungsbereichen zugelassen werden 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 |
| Monatlich | Boolean | Kennzeichnung, die angibt, ob Anwender Felder in der Tabelle bearbeiten können. Gültige Werte:
Standardwert: false |
| Textindex | Boolean | Kennzeichnung, die angibt, ob Suchmaschinen den Text in einer Tabelle indizieren. Gültige Werte:
Standardwert: false |
| attributes | Objekt | Schlüssel- und Wertpaare aller unterstützten Wörterbuchattribute [sys_Schema_Attribute]. Zum Beispiel:Weitere Informationen finden Sie unter Wörterbuchattribute . |
| index | Array | Eine Liste von Spaltenreferenzen zum Generieren von Indizes in der Metadaten-XML der Tabelle. Der Wert von Element Eigenschaft muss mit dem Objektschlüssel übereinstimmen, der mit verwendet wird Spalte Objekt. Ein Datenbankindex erhöht die Geschwindigkeit des Zugriffs auf Daten aus der Tabelle mit den Kosten für die Verwendung von zusätzlichem Speicher. |
| Automatische Nummerierung | Objekt | Die Konfiguration der automatischen Nummerierung [sys_number] für eine Tabelle. Weitere Informationen finden Sie unter Objekt für automatische Nummerierung. |
| SkriptableTable | Boolean | Kennzeichnung, die angibt, ob die Tabelle eine Remotetabelle ist, die Daten verwendet, die aus einer externen Quelle abgerufen wurden. Weitere Informationen finden Sie unter Remote tables. Gültige Werte:
Standardwert: false |
Um Typeahead-Unterstützung für Spalten zu erhalten, weisen Sie zu Tabelle Objekt zu einer exportierten Variable mit demselben Namen wie Name Eigenschaft.
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,
readOnly: false,
maxLength: 40,
dropdown: 'none',
attributes: {
updateSync: false,
},
default: 'today',
dynamicValueDefinitions: {
type: 'calculated_value',
calculatedValue: '',
},
choices: {
choice1: {
label: 'Choice1 Label',
sequence: 0,
inactiveOnUpdate: false,
dependentValue: '5',
hint: 'hint',
inactive: false,
language: 'en',
},
choice2: { label: 'Choice2 Label', sequence: 1 },
},
}),
dynamic1: StringColumn({
dynamicValueDefinitions: {
type: 'calculated_value',
calculatedValue: myFunction,
},
}),
dynamic2: StringColumn({
dynamicValueDefinitions: {
type: 'dynamic_default',
dynamicDefault: `gs.info()`,
},
}),
dynamic3: StringColumn({
dynamicValueDefinitions: {
type: 'dependent_field',
columnName: 'status',
},
}),
dynamic4: StringColumn({
dynamicValueDefinitions: {
type: 'choices_from_other_table',
table: 'sc_cat_item',
field: 'display',
},
}),
},
actions: ['create', 'read'],
display: 'deadline',
accessibleFrom: 'package_private',
allowClientScripts: true,
allowNewFields: true,
allowUiActions: true,
allowWebServiceAccess: true,
extensible: true,
liveFeed: true,
callerAccess: 'none',
autoNumber: {
number: 10,
numberOfDigits: 2,
prefix: 'abc',
},
audit: true,
readOnly: true,
textIndex: true,
attributes: {
updateSync: true,
},
index: [
{
name: 'idx',
element: 'status',
unique: true,
},
],
})
Spaltenobjekt
Fügen Sie einer Tabelle eine Spalte [sys_dictionary] hinzu.
Hinzufügen Spalte Objekte in Schema Eigenschaft von Tabelle Objekt.
Es gibt viele Arten von Spalten basierend auf dem Feldtyp. Spaltenobjekte verwenden das Format <Type>Spalte Wo <Type> Ist der Feldtyp. Informationen zu Feldtypen finden Sie unter Field types reference.
Die folgenden Spaltentypen werden unterstützt: ListSpalte , Optionsspalte , Zeichenfolgenspalte , Auswahlspalte , SkriptSpalte , Boolesche Spalte , Bedingungsspalte , Dezimalspalte , Ganzspalte , VersionSpalte , Domäne-ID-Spalte , FeldnameSpalte , Referenzspalte , TabellennameSpalte , AnwenderRolesSpalte , BasicImageSpalte , DocumentIdSpalte , DomainPathSpalte , ÜbersetztTextspalte , SystemklassennameSpalte , ÜbersetztFeldspalte , Generische Spalte , Datumsspalte , Datums-/Zeitspalte , KalenderdateTime , BasicDateTimeSpalte , DueDateSpalte , KalenderdateTime , IntegerDateSpalte , ScheduleDateTimeSpalte , Andere Datumsspalte , Passwort2-Spalte , GuidSpalte , JsonSpalte , NameWertpaarsSpalte , UrlSpalte , E-Mail-Spalte , HTMLSpalte , FloatSpalte , Mehrzeilige Textspalte , Spalte „Dauer“ , Zeitspalte , FeldListSpalte , SlushBucketSpalte , VorlagenwertSpalte , Und ApprovalRulesSpalte .
| Name | Typ | Beschreibung |
|---|---|---|
| label | Zeichenfolge oder Array | Eine eindeutige Bezeichnung für die Spalte, die in Listenüberschriften und Formularfeldern angezeigt wird. Feldbezeichnungen können als Zeichenfolge oder Array von angegeben werden Bezeichnung Objekte. Weitere Informationen finden Sie unter Bezeichnungsobjekt. Standard: Der für das Spaltenobjekt verwendete Schlüssel |
| maxLength | Nummer | Die maximale Länge von Werten in der Spalte. Eine Länge von weniger als 254 wird als einzeiliges Textfeld angezeigt. Alle 255 Zeichen oder mehr werden 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: Variiert je nach Spaltentyp |
| aktiv | Boolean | Kennzeichnung, die angibt, ob das Feld in Listen und Formularen angezeigt werden soll. Gültige Werte:
Standardwert: wahr |
| Obligatorisch | Boolean | Kennzeichnung, die angibt, ob das Feld einen Wert zum Speichern eines Datensatzes enthalten muss. Gültige Werte:
Standardwert: false |
| Monatlich | 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 Liste von Auswahlmöglichkeiten [sys_choice] für eine Spalte. Weitere Informationen finden Sie unter Auswahlobjekt. Diese Eigenschaft gilt nur für Auswahlspalte Objekte und Spaltentypen, die Auswahlspalten erweitern. Es kann entweder ein Array primitiver Werte oder eine Reihe von Auswahlobjekten enthalten. |
| attributes | Objekt | Schlüssel- und Wertpaare aller unterstützten Wörterbuchattribute [sys_Schema_Attribute]. Zum Beispiel:Weitere Informationen finden Sie unter Wörterbuchattribute . |
| Funktionale Definition | Zeichenfolge | Die Definition einer Funktion, die das Feld ausführt, z. B. ein mathematischer Vorgang, die Berechnung der Feldlänge oder die Berechnung des Wochentags. Jede Definition beginnt mit 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. |
| DynamicValueDefinitionen | 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 | Eine Option, mit der festgelegt wird, wie eine Liste von Auswahlmöglichkeiten für Listen- und Formularansichten der Tabelle angezeigt wird. Diese Eigenschaft gilt nur für Auswahlspalte Objekte 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' },
inProgress: { 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.
Die Auswahlmöglichkeiten Objekt ist eine Eigenschaft innerhalb von Spalte Objekt. Verwenden Sie Auswahlmöglichkeiten Objekt mit unterstützten Spaltentypen in Schema Eigenschaft von Tabelle Objekt. Nur bestimmte Spaltentypen erweitern den Auswahlspaltentyp ( Auswahlspalte ) Und kann Auswahlmöglichkeiten enthalten.
| Name | Typ | Beschreibung |
|---|---|---|
| label | Zeichenfolge | Erforderlich. Der Text, der für die Auswahl in der Liste angezeigt werden soll. |
| dependentValue | Zeichenfolge | Ein Wert, den Sie zuordnen Abhängiges Feld In DynamicValueDefinitionen Eigenschaft von Spalte Objekt. |
| Tipp | Zeichenfolge | Eine kurze Beschreibung der Auswahl, die als Tooltip angezeigt wird, wenn der Mauszeiger darüber bewegt wird. |
| language | Zeichenfolge | Die BCP 47 Code der Sprache für die übersetzte Auswahl. Standard: en |
| Sequenz | Ganzzahl | Die Reihenfolge in der Auswahlliste, in der eine Auswahl erfolgt. |
| Inaktiv | Boolean | Kennzeichnung, die angibt, ob die Auswahl in der Liste angezeigt werden soll. Gültige Werte:
Standardwert: false |
Die Auswahlmöglichkeiten Das Objekt enthält eine Reihe von Auswahlobjekten, bei denen die Namen der Auswahlmöglichkeiten als Objektschlüssel bereitgestellt werden, die mit den Auswahldefinitionen gekoppelt sind.
choices: {
choice1: {
label: 'Choice1 Label',
sequence: 0,
inactiveOnUpdate: false,
dependentValue: '5',
hint: 'hint',
inactive: false,
language: 'en',
},
choice2: { label: 'Choice2 Label', sequence: 1 },
}
Bezeichnungsobjekt
Konfigurieren Sie eine Feldbezeichnung [sys_documentation] für eine Tabelle oder Spalte.
Die Bezeichnung Objekt ist eine Eigenschaft innerhalb von Tabelle Und Spalte Objekte.
| Name | Typ | Beschreibung |
|---|---|---|
| language | Zeichenfolge | Die BCP 47 Code der Sprache für die Feldbezeichnung. Eine Sprache kann nur eine Bezeichnung haben, daher muss jede Sprache innerhalb eines Arrays von eindeutig sein Bezeichnung Objekte. |
| label | Zeichenfolge | Der Text der Feldbezeichnung in der angegebenen Sprache. |
| Tipp | Zeichenfolge | Eine Kurzbeschreibung, die als Tooltip angezeigt wird, wenn der Mauszeiger über die Feldbezeichnung bewegt wird. |
| Hilfe | Zeichenfolge | Zusätzliche Informationen zum Feld. Hilfetext wird in Formular- oder Listenansichten der Tabelle nicht angezeigt. |
| Plural | Zeichenfolge | Die Pluralform der Feldbezeichnung. |
| URL | Zeichenfolge | Eine URL für eine Webseite, die Informationen zum Feld bereitstellt. Wenn eine URL angegeben wird, wird die Bezeichnung als Hyperlink angezeigt. |
| UrlTarget | Zeichenfolge | Nicht verwendet (veraltet). |
label: [
{
label: 'English description',
language: 'en',
hint: 'Provide a short description'
},
{
label: 'Description de español',
language: 'es'
},
]
LicensingConfig-Objekt
Erstellen Sie eine Lizenzierungskonfiguration [ua_table_Licensing_config], um die Abonnementanzahlen für eine Tabelle nachzuverfolgen.
Die LicensingConfig Objekt ist eine Eigenschaft innerhalb von Tabelle Objekt. Wenn diese Eigenschaft nicht angegeben ist, eine Standardlizenzierungskonfiguration mit LicenseModel „Auf keine festgelegt“ wird für die Tabelle in der Instanz generiert.
| Name | Typ | Beschreibung |
|---|---|---|
| licenseModel | Zeichenfolge | Das Modell zur Nachverfolgung der Abonnementnutzung. Gültige Werte:
Standard: keiner |
| LicenseRoles | Array | Eine Liste der Rollen, für die Vorgänge für Datensätze in der Tabelle für das Abonnement gezählt werden. |
| OpLöschen | Boolean | Kennzeichnung, die angibt, ob zum Löschen von Datensätzen für Tabellen mit dem Erstellermodell ein Abonnement erforderlich ist. Gültige Werte:
Standardwert: wahr |
| OpEinfügen | Boolean | Kennzeichnung, die angibt, ob zum Einfügen von Datensätzen für Tabellen mit dem Erstellermodell ein Abonnement erforderlich ist. Gültige Werte:
Standardwert: wahr |
| OpUpdate | Boolean | Kennzeichnung, die angibt, ob ein Abonnement erforderlich ist, um Datensätze für Tabellen mit dem Erstellermodell zu aktualisieren.
Standardwert: wahr |
| LicenseCondition | Zeichenfolge | Eine Filterabfrage, die Bedingungen für die Zählung von Vorgängen für ein Abonnement bestimmt. Geben Sie für das Erfüller-Modell den Satz von Bedingungen an, die bestimmen, ob der angemeldete Anwender der Erfüller des Datensatzes ist. Geben Sie für das Erstellermodell den Satz von Bedingungen an, die bestimmen, ob Datensätze für das Abonnement gezählt werden. |
| BesitzerBedingung | Zeichenfolge | Eine Filterabfrage, die bestimmt, ob ein Anwender einen Datensatz für das Erfüller-Modell besitzt. |
| IsFulfillment | Boolean | Nicht verwendet (veraltet). Kennzeichnung, die angibt, ob Updates von Anwendern, die die Anwendung nicht abonniert haben, ausgeschlossen werden sollen. Gültige Werte:
Standardwert: false |
licensingConfig: {
licenseModel: 'fulfiller',
opInsert: false,
licenseRoles: ['admin'],
}
Objekt für automatische Nummerierung
Konfigurieren Sie die automatische Nummerierung [sys_number] für eine Tabelle.
Die Automatische Nummerierung Objekt ist eine Eigenschaft innerhalb von Tabelle Objekt.
| Name | Typ | Beschreibung |
|---|---|---|
| Präfix | Zeichenfolge | Ein Präfix für jede Datensatznummer in der Tabelle. Beispiel: INCIDENT für Incident. Standard: Vor |
| Nummer | Ganzzahl | Die Basisdatensatznummer für diese Tabelle. Datensatznummern werden automatisch erhöht, und die nächste Zahl wird in der Zählertabelle [sys_number_counter] verwaltet. Wenn Sie die Basisnummer auf einen höheren Wert als den aktuellen Zähler festlegen, 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 Basiszahl zurückgesetzt, die niedriger ist als er selbst. Standardwert: 1000 |
| NummervonDigits | Ganzzahl | Die Mindestanzahl von Ziffern, die nach dem Präfix verwendet werden sollen. Führende Nullen werden bei Bedarf automatisch nummeriert. Beispiel: INC0001001 enthält drei führende Nullen. Die Anzahl der Ziffern kann die Mindestlänge überschreiten. Beispiel: Wenn NummervonDigits Ist 2 und in der Tabelle werden mehr als 99 Datensätze erstellt, die Zahlen bleiben über 100 hinaus (z. B. INC101). Warnung: Durch das Ändern dieses Felds können alle Zahlenwerte für vorhandene Datensätze in einer Tabelle aktualisiert werden. Gehen Sie beim Ändern dieses Felds in einer Produktionsinstanz vorsichtig vor. Standard: 7 |
autoNumber: {
prefix: 'TODO',
number: 2000,
numberOfDigits: 9,
}
number: IntegerColumn({
default: 'javascript:getNextObjNumberPadded();'
})