Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Lorsque vous générez une page à l’aide du langage naturel, l’IA crée une page React dans TypeScript. La page générée couvre à la fois l’expérience utilisateur frontale en sélectionnant les composants appropriés et en déterminant la meilleure disposition et la logique métier correspondante.
Vous pouvez afficher et modifier le code généré pour affiner la sortie. Les opérations de données utilisent un dataApi objet qui expose les méthodes publiques suivantes :
| Méthode | Descriptif |
|---|---|
createRow |
Crée une ligne dans la table spécifiée. |
deleteRow |
Supprime une ligne de la table spécifiée. |
getChoices |
Récupère les choix du nom de colonne de choix spécifié. |
queryTable |
Interroge une table avec les options spécifiées. |
retrieveRow |
Récupère une ligne à partir de la table spécifiée avec les options spécifiées. |
setPageOutput |
Définit la valeur retournée au script appelant lorsqu’une boîte de dialogue de page dégénérative se ferme. |
updateRow |
Met à jour une ligne existante dans la table spécifiée. |
méthode createRow
Crée une ligne dans la table spécifiée.
Paramètres
Définissez des valeurs pour ces paramètres requis.
| Nom | Type | Descriptif |
|---|---|---|
tableName |
ficelle | Nom logique de la table dans laquelle créer la ligne. |
row |
objet | Données de ligne à créer. |
Retours
Promesse contenant le résultat de l’opération. Lorsque l’opération réussit, le résultat est la valeur ID (Guid) de la ligne créée.
Example
// Define the row data to create new account
var row =
{
"name": "Sample Account",
"creditonhold": false,
"address1_latitude": 47.639583,
"description": "This is the description of the sample account",
"revenue": 5000000,
"accountcategorycode": 1,
}
try {
// Create a new account record
const newAccountId = await dataApi.createRow("account", row);
console.log("Account created with ID: " + newAccountId);
// Create a contact with a lookup to an account
const newContactId = await dataApi.createRow('contact', {
firstname: 'John',
lastname: 'Doe',
emailaddress1: 'john.doe@contoso.com',
"parentcustomerid@odata.bind": `/account(${newAccountId})`, // Lookup format
});
}
catch (error) {
console.log(error.message);
}
méthode deleteRow
Supprime une ligne de la table spécifiée.
Paramètres
Définissez des valeurs pour ces paramètres requis.
| Nom | Type | Descriptif |
|---|---|---|
tableName |
ficelle | Nom logique de la table dans laquelle supprimer la ligne. |
rowId |
ficelle | ID de la ligne à supprimer. |
Retours
Promesse contenant le résultat de l’opération. Lorsque l’opération réussit, elle ne retourne aucune valeur.
Example
let rowId = "5531d753-95af-e711-a94e-000d3a11e605";
try {
await dataApi.deleteRow("account", rowId);
}
catch (error) {
console.log(error.message);
}
méthode getChoices
Récupère les choix du nom de colonne de choix spécifié.
Paramètres
Ce paramètre est obligatoire.
| Nom | Type | Descriptif |
|---|---|---|
enumName |
string |
Nom de la colonne de choix au format tablename-columnname |
Retours
Promesse contenant le résultat de l’opération. Lorsque l’opération réussit, elle retourne un tableau des options de choix. Chaque option a les propriétés suivantes :
| Nom | Type | Descriptif |
|---|---|---|
label |
ficelle | Valeur d’étiquette localisée de l’option. |
value |
nombre | Valeur numérique de l’option. |
Example
// Returns the accountcategorycode column options from the account table
const categoryChoices = await dataApi.getChoices("account-accountcategorycode");
// Returns the statecode column options from the contact table
const stateChoices = await dataApi.getChoices('contact-statecode');
// Returns the statuscode column options from the account table
const statusChoices = await dataApi.getChoices('account-statuscode');
méthode queryTable
Interroge une table à l’aide des options spécifiées.
Paramètres
Définissez des valeurs pour ces paramètres requis.
| Nom | Type | Descriptif |
|---|---|---|
tableName |
string |
Nom logique de la table à interroger |
query |
QueryTableOptions | Options d’interrogation de la table |
QueryTableOptions
| Nom | Type | Descriptif |
|---|---|---|
select |
string[] |
(Recommandé) Tableau de noms de colonnes à récupérer. |
filter |
string |
(Facultatif) Expression de filtre OData (par exemple, statecode eq 0). |
orderBy |
string |
(Facultatif) Expression OData orderby (par exemple, name asc, createdon desc). |
pageSize |
number |
(Facultatif) Nombre maximal de lignes à retourner par page. |
Retours
Promesse contenant le résultat de l’opération. Une fois l’opération réussie, la promesse retourne un objet contenant une table de données avec les résultats avec les propriétés suivantes :
| Nom | Type | Descriptif |
|---|---|---|
rows |
Object[] |
Tableau de données de ligne |
hasMoreRows |
boolean |
Indique s’il y a plus de lignes disponibles |
loadMoreRows |
function |
Fonction pour charger la page suivante des résultats. (facultatif) |
Example
// Query tasks with options
const result = await dataApi.queryTable("task", {
select: ["activityid", "subject", "scheduledend", "prioritycode", "statecode"],
orderBy: "scheduledend asc",
pageSize: 50,
filter: "statecode eq 0"
});
// Query accounts with pagination
const pagedAccounts = await dataApi.queryTable('account', {
select: ['name'],
pageSize: 50,
});
console.log(`Page 1: ${pagedAccounts.rows.length} accounts`);
if (pagedAccounts.hasMoreRows && pagedAccounts.loadMoreRows) {
const nextPage = await pagedAccounts.loadMoreRows();
console.log(`Page 2: ${nextPage.rows.length} accounts`);
}
Remarques
Note
Pour des performances optimales, limitez toujours le nombre de colonnes retournées à l’aide de la propriété QueryTableOptionsselect .
méthode retrieveRow
Récupère une ligne à partir de la table spécifiée à l’aide des options spécifiées.
Paramètres
Définissez des valeurs pour ces paramètres requis.
| Nom | Type | Descriptif |
|---|---|---|
tableName |
string |
Nom logique de la table à récupérer à partir de |
options |
RetrieveRowOptions | Options de récupération de la ligne |
RetrieveRowOptions
| Nom | Type | Descriptif |
|---|---|---|
id |
string |
ID (GUID) de la ligne à récupérer |
select |
string[] |
(Recommandé) Tableau de noms de colonnes à récupérer. En cas d’omission, toutes les colonnes sont retournées. |
Retours
Promesse contenant le résultat de l’opération. Lorsque l’opération réussit, un objet contenant les données de l’enregistrement est retourné, y compris toutes les colonnes sélectionnées.
Example
// Retrieve an account with all columns
const account = await dataApi.retrieveRow('account', {
id: '30dc51e9-947d-47d8-ad48-4fc48fba4a95',
});
// Retrieve specific columns only
const contact = await dataApi.retrieveRow('contact', {
id: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
select: ['firstname', 'lastname', '_parentcustomerid_value'],
});
méthode setPageOutput
Définit la valeur retournée au script appelant lorsqu’une page dégénérative ouverte en tant que boîte de dialogue se ferme.
Paramètres
| Nom | Type | Descriptif |
|---|---|---|
value |
unknown | Valeur à retourner au script qui a ouvert la boîte de dialogue. La valeur peut être une primitive, un objet ou un tableau. |
Retours
Aucune valeur.
Example
dataApi.setPageOutput({
action: "selected",
recordId: selectedRecordId
});
const xrm = (window as any).Xrm;
await xrm.Navigation.navigateBack();
L’appel setPageOutput ne ferme pas la boîte de dialogue ni ne met à jour la page appelante. Fermez la boîte de dialogue avec Xrm.Navigation.navigateBack(). La promesse retournée par Xrm.Navigation.navigateTo la suite se résout avec un objet dont returnValue la propriété contient la valeur stockée la plus récente. Le script appelant doit appliquer explicitement la valeur retournée à son formulaire, à sa grille ou à un autre état.
Cette méthode s’applique aux pages dégénératives ouvertes sous forme de dialogues. Les pages génératives ouvertes inline ou dans un volet latéral d’application ne retournent pas de valeur au script appelant.
méthode updateRow
Met à jour une ligne existante dans la table spécifiée.
Paramètres
Définissez des valeurs pour ces paramètres requis.
| Nom | Type | Descriptif |
|---|---|---|
tableName |
ficelle | Nom logique de la table dans laquelle mettre à jour la ligne. |
rowId |
ficelle | ID de la ligne à mettre à jour. |
row |
Objet | Données de ligne à mettre à jour. |
Retours
Promesse contenant le résultat de l’opération. Lorsque l’opération réussit, elle ne retourne aucune valeur.
Example
let rowId = "5531d753-95af-e711-a94e-000d3a11e605"
// Define the row to update a record
var row =
{
"name": "Updated Sample Account ",
"creditonhold": true,
"address1_latitude": 47.639583,
"description": "This is the updated description of the sample account",
"revenue": 6000000,
"accountcategorycode": 2
}
// update the record
try {
await dataApi.updateRow("account", rowId, row);
}
catch (error){
console.log(error.message);
}