Tabellen-API – ServiceNow Fluent

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 10 Minuten Lesedauer
  • 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.

    Tabelle : 1. Eigenschaften
    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:
    • wahr: Andere Tabellen können die Tabelle erweitern.
    • false: Andere Tabellen können die Tabelle nicht erweitern.

    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:
    • „wahr“: Für Datensätze in der Tabelle werden Live-Feeds bereitgestellt. Diese Option fügt die Option „ Live-Feed anzeigen“ ( Symbol „Live-Feed anzeigen“ ) im Formular-Header hinzu.
    • „falsch“: Für Datensätze in der Tabelle werden keine Live-Feeds bereitgestellt.

    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:
    • eingeschränkt: Aufrufe für die -Ressource müssen manuell genehmigt werden. Zugriffsanforderungen werden in der Tabelle für eingeschränkten Aufruferzugriff mit dem Status Angefordert verfolgt.
    • -Nachverfolgung: Aufrufe von -Ressourcen werden automatisch genehmigt. Aufrufe werden in der Tabelle für eingeschränkten Aufruferzugriff mit dem Status Zulässig verfolgt.
    • keine: Bereichsübergreifende Aufrufe der Ressource werden basierend auf dem Wert der Eigenschaft „ accessable_from “ genehmigt oder abgelehnt.

    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:
    • „wahr“: Webdienste können die Tabelle aufrufen.
    • „falsch“: Webdienste können die Tabelle nicht aufrufen.

    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:
    • „wahr“: Erlaubt die Konfiguration neuer Felder in der Tabelle zur Entwurfszeit aus anderen Anwendungsbereichen.
    • „falsch“: Keine Konfiguration neuer Felder in der Tabelle zur Entwurfszeit aus anderen Anwendungsbereichen zulassen.

    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:
    • „wahr“: Ermöglicht die Konfiguration von UI-Aktionen in der Tabelle zur Entwurfszeit aus anderen Anwendungsbereichen.
    • „falsch“: Keine Konfiguration von UI-Aktionen in der Tabelle zur Entwurfszeit aus anderen Anwendungsbereichen zulassen.

    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:
    • „wahr“: Ermöglicht die Konfiguration von Client-Skripts in der Tabelle zur Entwurfszeit aus anderen Anwendungsbereichen.
    • „falsch“: Keine Konfiguration von Client-Skripts in der Tabelle zur Entwurfszeit aus anderen Anwendungsbereichen zulassen.

    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:
    • wahr: Verfolgen Sie die Erstellung, Aktualisierung und Löschung aller Datensätze in der Tabelle
    • false: Erstellung, Aktualisierung und Löschung aller Datensätze in der Tabelle wird nicht nachverfolgt.

    Standardwert: false

    schreibgeschützt Boolean Kennzeichnung, die angibt, ob Anwender Felder in der Tabelle bearbeiten können.
    Gültige Werte:
    • „wahr“: Anwender können keine Felder in der Tabelle bearbeiten.
    • „falsch“: Anwender können Felder in der Tabelle bearbeiten.

    Standardwert: false

    text_index Boolean Kennzeichnung, die angibt, ob Suchmaschinen den Text in einer Tabelle indizieren.
    Gültige Werte:
    • wahr: Der Text der Tabelle ist indiziert.
    • „falsch“: Der Text der Tabelle ist nicht indiziert.

    Standardwert: false

    attributes Objekt Schlüssel-Wert-Paare eines unterstützten Wörterbuchattributs [sys_schema_attribute].
    attributes: 
       {
          update_sync_custom: true,
          native_recordlock: false
       }
    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.

    index: [
        {
            name: 'deadline index',
            element: 'deadline',
            unique: true
        },
        {
            name: 'state index',
            element: 'state',
            unique: false
        },{
            name: 'task index',
            element: 'task',
            unique: false
        }
    ]

    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.

    Tabelle : 2. Eigenschaften
    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:
    • true: Zeigt das Feld an.
    • „falsch“: Blendet das Feld aus.

    Standardwert: true

    Obligatorisch Boolean Kennzeichnung, die angibt, ob das Feld einen Wert enthalten muss, um einen Datensatz zu speichern.
    Gültige Werte:
    • wahr: Das Feld muss einen Wert enthalten.
    • „falsch“: Das Feld ist nicht erforderlich.

    Standardwert: false

    schreibgeschützt Boolean Kennzeichnung, die angibt, ob Sie den Feldwert bearbeiten können.
    Gültige Werte:
    • wahr: Sie können den Wert nicht ändern, und das System berechnet die Daten für das Feld und zeigt sie an.
    • „falsch“: Sie können den Feldwert ändern.

    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].
    attributes: 
       {
          update_sync_custom: true,
          native_recordlock: false
       }
    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:
    glidefunction:concat(short_description, ' ', caller_id.name)

    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:
    • dynamic_default: Stellen Sie eine Funktion aus [sys_filter_option_dynamic] bereit.
      dynamic_value_definitions: {
         type: 'dynamic_default',
         dynamic_default: `gs.info()`,
      },
    • Abhängiges Feld: Geben Sie einen anderen Spaltennamen aus derselben Tabelle an.
      dynamic_value_definitions: {
         type: 'dependent_field',
         column_name: 'status',
      },
    • berechneter Wert: Geben Sie eine Funktion zum Berechnen des Werts an. Die Funktion kann aus einem JavaScript-Modul importiert oder inline definiert werden.
      dynamic_value_definitions: {
         type: 'calculated_value',
         calculated_value: function,
      },
    • choices_from_other_table: Stellt Auswahlmöglichkeiten aus einer Spalte in einer anderen Tabelle bereit.
      dynamic_value_definitions: {
         type: 'choices_from_other_table',
         table: 'sc_cat_item',
         field: 'display',
      },
    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:
    • keine: Die Auswahlmöglichkeiten werden nicht erzwungen.
    • Dropdownliste ohne Keine: Ein Menü ohne die Option -- Keine -- Option. Wenn Sie diese Option auswählen, müssen Sie die Standardeigenschaft für die Spalte konfigurieren.
    • Dropdownliste mit Keine: Ein Menü mit der Option -- Keine --. Der Standardwert ist -- Keine --.
    • Vorschlag: Auswahlmöglichkeiten werden in einer Liste vorgeschlagener Werte angezeigt.

    Standard: keiner

    Spaltennamen werden als Objektschlüssel angegeben, die mit den Spaltendefinitionen gekoppelt sind.
    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 }),
    },
    Wenn der Tabellenname den Anwendungsbereich nicht enthält, muss Spaltennamen stattdessen der Anwendungsbereich vorangestellt werden.
    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.

    Tabelle : 3. Eigenschaften
    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:
    • wahr: Die Auswahl wird in der Liste ausgeblendet.
    • false: Die Auswahl wird in der Liste angezeigt.

    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.

    Tabelle : 4. Eigenschaften
    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,
    }