API de table : ServiceNow Fluent
L’API Table inclut des objets qui définissent les tables [sys_db_object] dans une application incluse dans le périmètre.
Objet de table
Créer une table [sys_db_object] dans une application incluse dans le périmètre.
| Nom | Type | Description |
|---|---|---|
| nom | Chaîne | Requis. Nom de la table commençant par le périmètre de l’application et toutes en minuscules au format suivant : <scope>_<name>. Le nom doit correspondre à l’identificateur de variable de l’objet Table . Remarque : Pour ajouter des colonnes à une table existante dans un périmètre d’application différent, vous pouvez fournir le nom de la table sans le périmètre de l’application suivi de « Quelconque ». Les noms de colonnes doivent commencer par le périmètre de l’application à la place.Longueur maximale : 80 |
| Schéma | Tableau | Liste d’objets Column . Pour plus d'informations, consultez Objet colonne. |
| étend | Chaîne | Nom de toute autre table sur laquelle la table est basée. L'extension d'une table de base intègre tous les champs de la table d'origine et crée des champs système pour la nouvelle table. Si elles sont dans le même périmètre ou si elles peuvent être configurées à partir d’autres périmètres, vous pouvez étendre les tables marquées comme extensibles. |
| étiquette | Chaîne | Une étiquette unique pour la table dans les vues de listes et de formulaires. Longueur maximale : 80 Par défaut : la valeur de la propriété name |
| affichage | Chaîne | Colonne d’affichage par défaut. Utilisez un nom de colonne à partir de la propriété de schéma . |
| extensible | Booléen | Marqueur indiquant si d’autres tables peuvent étendre la table. Valeurs valides :
Changer cette propriété de vrai à faux empêche la création de tables enfants supplémentaires, mais les tables enfants existantes restent inchangées. Valeur par défaut : false |
| live_feed | Booléen | Marqueur indiquant si des flux en direct sont disponibles pour les enregistrements de la table. Valeurs valides :
Valeur par défaut : false |
| auto_number | Objet | La configuration de numérotation automatique [sys_number] pour une table. Pour plus d'informations, consultez auto_number objet. |
| accessible_from | Chaîne | Les périmètres de l’application qui peuvent accéder à la table. Valeurs valides : public, package_private Par défaut : public |
| caller_access | Chaîne | Niveau d’accès pour les demandes entre périmètres. Valeurs valides :
Pour plus d'informations, consultez Paramètres de privilège d’accès restreint pour l’appelant. Par défaut : aucun |
| actions | Tableau | Une liste des options d’accès. Valeurs valides : lire, créer, mettre à jour, supprimer Par défaut : read |
| allow_web_service_access | Booléen | Marqueur indiquant si les services Web peuvent passer des appels à la table. Valeurs valides :
Valeur par défaut : false |
| allow_new_fields | Booléen | Marqueur indiquant s’il faut autoriser la configuration au moment de la conception de nouveaux champs dans la table à partir d’autres périmètres de l’application. Valeurs valides :
Valeur par défaut : false |
| allow_ui_actions | Booléen | Marqueur indiquant s’il faut autoriser la configuration au moment de la conception des actions d’interface utilisateur sur la table à partir d’autres périmètres de l’application. Valeurs valides :
Valeur par défaut : false |
| allow_client_scripts | Booléen | Marqueur indiquant s’il faut autoriser la configuration au moment de la conception des scripts clients sur la table à partir d’autres périmètres de l’application. Valeurs valides :
Valeur par défaut : false |
| audit | Booléen | Marqueur indiquant s’il faut suivre la création, la mise à jour et la suppression de tous les enregistrements de la table. Valeurs valides :
Valeur par défaut : false |
| read_only | Booléen | Marqueur indiquant si les utilisateurs peuvent modifier des champs dans la table. Valeurs valides :
Valeur par défaut : false |
| text_index | Booléen | Marqueur indiquant si les moteurs de recherche indexent le texte dans une table. Valeurs valides :
Valeur par défaut : false |
| attributs | Objet | Paires de clés et de valeurs de n’importe quel attribut de dictionnaire pris en charge [sys_schema_attribute]. Pour plus d’informations, consultez Attributs de dictionnaire. |
| Index | Tableau | Liste de références de colonnes pour générer des index dans le XML de métadonnées de la table. Un index de base de données augmente la vitesse d’accès aux données à partir de la table avec des frais d’utilisation d’espace de stockage supplémentaire. |
Pour la prise en charge de la suggestion automatique pour les colonnes, affectez l’objet Table à une variable exportée portant le même nom que la propriété name .
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,
},
],
})
Objet colonne
Ajouter une colonne [sys_dictionary] dans une table.
Utilisez l’objet Colonne dans la propriété de schéma de l’objet Table .
Il existe de nombreux types de colonnes en fonction du type de champ. Les objets de colonne utilisent le format <Type>Column où <Type> est le type de champ. Pour en savoir plus sur les types de champs, reportez-vous à la section Field types.
Les types de colonnes suivants sont pris en charge : 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, ScheduleDateTimeColumn et OtherDateColumn.
| Nom | Type | Description |
|---|---|---|
| étiquette | Chaîne | Étiquette unique pour la colonne qui apparaît dans les en-têtes de liste et les champs de formulaire. Lorsque vous mettez à jour l’étiquette, le système met également à jour l’étiquette dans le fichier de langue pour la langue actuelle. Si aucune étiquette n’est fournie, la clé utilisée pour l’objet colonne est l’étiquette. |
| maxLength | Numéro | Longueur maximale des valeurs dans la colonne. Une longueur inférieure à 254 apparaît sous la forme d’un champ de texte sur une seule ligne. Tout ce qui compte 255 caractères ou plus apparaît sous la forme d’une zone de texte à plusieurs lignes. Remarque : Pour éviter la perte de données, ne diminuez la longueur d’un champ de chaîne que lorsque vous développez une nouvelle application et non lorsqu’un champ contient des données. Par défaut : 40 |
| Actif | Booléen | Marqueur indiquant s’il faut afficher le champ dans les listes et formulaires. Valeurs valides :
Valeur par défaut : true |
| obligatoire | Booléen | Marqueur indiquant si le champ doit contenir une valeur pour enregistrer un enregistrement. Valeurs valides :
Valeur par défaut : false |
| read_only | Booléen | Marqueur indiquant si vous pouvez modifier la valeur du champ. Valeurs valides :
Valeur par défaut : false |
| Par défaut | N'importe lequel | Valeur par défaut du champ lors de la création d’un enregistrement. La valeur doit utiliser le type correct en fonction du type de colonne. |
| choix | Objet | Liste de choix [sys_choice] pour une colonne. Pour plus d'informations, consultez Objet des choix. Cette propriété s’applique uniquement à ChoiceColumn et aux types de colonnes qui étendent les colonnes de choix. Il peut inclure un tableau de valeurs primitives ou une série d’objets de choix. |
| attributs | Objet | Paires de clés et de valeurs de n’importe quel attribut de dictionnaire pris en charge [sys_schema_attribute]. Pour plus d’informations, consultez Attributs de dictionnaire. |
| function_definition | Chaîne | Définition d’une fonction exécutée par le champ. Commence par glidefunction :, suivi de l’opération à effectuer (par exemple, concat), suivi des paramètres de fonction. Les constantes doivent être placées entre guillemets simples. Par exemple, la définition de fonction suivante crée un champ qui affiche la description brève, suivie d’un espace, suivie du nom de l’appelant : Pour plus d’informations sur les définitions de fonctions, reportez-vous à la section Function field. |
| dynamic_value_definitions | Objet | Valeurs par défaut qui sont générées dynamiquement en fonction des filtres dynamiques. Fournissez une combinaison d’un type et d’une clé de comportement connexe pour spécifier des valeurs par défaut dynamiques. Les types suivants sont pris en charge :
|
| liste déroulante | Chaîne | Comment une liste de choix s’affiche pour les utilisateurs de votre formulaire. Cette propriété s’applique uniquement à ChoiceColumn et aux types de colonnes qui étendent les colonnes de choix. Valeurs valides :
Par défaut : aucun |
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({...})
}Objet des choix
Configurez les choix [sys_choice] pour une colonne dans une table.
Utilisez l’objet choices avec les types de colonnes pris en charge dans la propriété de schéma d’un objet Table . Seuls certains types de colonnes étendent le type de colonne de choix (ChoiceColumn) et peuvent inclure des choix.
| Nom | Type | Description |
|---|---|---|
| étiquette | Chaîne | Requis. Le texte à afficher pour le choix dans la liste. |
| dependent_value | Chaîne | Valeur que vous mappez à la dependent_field dans la propriété dynamic_value_definitions de l’objet Column . |
| hint | Chaîne | Brève description du choix qui s’affiche sous forme d’info-bulle lors du survol de celui-ci. |
| language | Chaîne | Le code BCP 47 de la langue pour le choix traduit. Par défaut : en |
| séquence | Entier | L’ordre dans lequel un choix se produit dans la liste de choix. |
| inactif | Booléen | Marqueur indiquant s’il faut afficher le choix dans la liste. Valeurs valides :
Valeur par défaut : false |
L’objet choices comprend une série d’objets de choix, dans lesquels les noms des choix sont fournis sous forme de clés d’objet appariées aux définitions de choix.
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 objet
Configurez la numérotation automatique [sys_number] pour une table.
Utilisez l’objet auto_number à l’intérieur de l’objet Table .
| Nom | Type | Description |
|---|---|---|
| préfixe | Chaîne | Préfixe pour chaque numéro d’enregistrement dans la table. Par exemple, INC pour Incident. Par défaut : pre |
| Numéro | Entier | Numéro de base de cette table. Les numéros d’enregistrement sont automatiquement incrémentés et le numéro suivant est conservé dans la table Compteur [sys_number_counter]. Si vous définissez le numéro de base sur une valeur supérieure au compteur actuel, le numéro d’enregistrement suivant utilise le nouveau numéro de base. Dans le cas contraire, le numéro d’enregistrement suivant utilise le compteur courant. Le compteur ne se réinitialise pas à un nombre de base inférieur à lui-même. Par défaut : 1 000 |
| number_of_digits | Entier | Nombre minimal de chiffres à utiliser après le préfixe. Des zéros non significatifs sont ajoutés aux numéros automatiques, si nécessaire. Par exemple, INC0001001 contient trois zéros non significatifs. Le nombre de chiffres peut dépasser la longueur minimale. Par exemple, si number_of_digits est 2 et que plus de 99 enregistrements sont créés sur la table, les nombres continuent au-delà de 100 (comme INC101). Avertissement : La modification de ce champ peut mettre à jour toutes les valeurs numériques des enregistrements existants dans une table. Soyez prudent lorsque vous modifiez ce champ sur une instance de production. Par défaut : 7 |
auto_number: {
prefix: 'TODO',
number: 2000,
digits: 9,
}