Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Når du genererer en side ved hjælp af et naturligt sprog, opretter AI'en en React-side i TypeScript. Den genererede side dækker både frontendbrugeroplevelsen ved at vælge de rigtige komponenter og bestemme det bedste layout og den tilsvarende forretningslogik.
Du kan få vist og redigere den genererede kode for at afgrænse outputtet. Datahandlinger bruger et dataApi objekt, der viser følgende offentlige metoder:
| Metode | Beskrivelse |
|---|---|
createRow |
Opretter en ny række i den angivne tabel. |
deleteRow |
Sletter en række fra den angivne tabel. |
getChoices |
Henter valgmulighederne for det angivne valgkolonnenavn. |
queryTable |
Forespørger en tabel med de angivne indstillinger. |
retrieveRow |
Henter en række fra den angivne tabel med de angivne indstillinger. |
setPageOutput |
Angiver den værdi, der returneres til kaldescriptet, når en generativ sidedialogboks lukkes. |
updateRow |
Opdaterer en eksisterende række i den angivne tabel. |
createRow metode
Opretter en ny række i den angivne tabel.
Parametre
Angiv værdier for disse påkrævede parametre.
| Navn | Type | Beskrivelse |
|---|---|---|
tableName |
streng | Det logiske navn på den tabel, rækken skal oprettes i. |
row |
objekt | De rækkedata, der skal oprettes. |
Returnerer
Et løfte , der indeholder resultatet af handlingen. Når handlingen lykkes, er resultatet id-værdien (GUID) for den oprettede række.
Eksempel
// 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);
}
deleteRow metode
Sletter en række fra den angivne tabel.
Parametre
Angiv værdier for disse påkrævede parametre.
| Navn | Type | Beskrivelse |
|---|---|---|
tableName |
streng | Det logiske navn på den tabel, rækken skal slettes i. |
rowId |
streng | Id'et for den række, der skal slettes. |
Returnerer
Et løfte , der indeholder resultatet af handlingen. Når handlingen lykkes, returneres der ingen værdi.
Eksempel
let rowId = "5531d753-95af-e711-a94e-000d3a11e605";
try {
await dataApi.deleteRow("account", rowId);
}
catch (error) {
console.log(error.message);
}
getChoices metode
Henter valgmulighederne for det angivne valgkolonnenavn.
Parametre
Denne parameter er påkrævet.
| Navn | Type | Beskrivelse |
|---|---|---|
enumName |
string |
Navnet på valgkolonnen i formatet tablename-columnname |
Returnerer
Et løfte , der indeholder resultatet af handlingen. Når handlingen lykkes, returneres en matrix af valgindstillingerne. Hver indstilling har følgende egenskaber:
| Navn | Type | Beskrivelse |
|---|---|---|
label |
streng | Den oversatte mærkatværdi for indstillingen. |
value |
Nummer | Den numeriske værdi for indstillingen. |
Eksempel
// 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');
queryTable metode
Forespørger en tabel ved hjælp af de angivne indstillinger.
Parametre
Angiv værdier for disse påkrævede parametre.
| Navn | Type | Beskrivelse |
|---|---|---|
tableName |
string |
Det logiske navn på den tabel, der skal forespørge |
query |
QueryTableOptions | Indstillinger for forespørgsel om tabellen |
QueryTableOptions
| Navn | Type | Beskrivelse |
|---|---|---|
select |
string[] |
(Anbefalet) Matrix med kolonnenavne, der skal hentes. |
filter |
string |
(Valgfrit) OData-filterudtryk (f.eks. statecode eq 0). |
orderBy |
string |
(Valgfrit) OData orderby udtryk (f.eks. name asc, createdon desc). |
pageSize |
number |
(Valgfrit) Det maksimale antal rækker, der skal returneres pr. side. |
Returnerer
Et løfte , der indeholder resultatet af handlingen. Når handlingen lykkes, returnerer løftet et objekt, der indeholder en datatabel med resultaterne med disse egenskaber:
| Navn | Type | Beskrivelse |
|---|---|---|
rows |
Object[] |
Matrix af rækkedata |
hasMoreRows |
boolean |
Angiver, om der er flere tilgængelige rækker |
loadMoreRows |
function |
Funktion til at indlæse den næste side med resultater. (Valgfrit) |
Eksempel
// 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`);
}
Bemærkninger
Notat
For at opnå den bedste ydeevne skal du altid begrænse antallet af kolonner, der returneres ved hjælp af egenskaben QueryTableOptionsselect .
retrieveRow metode
Henter en række fra den angivne tabel ved hjælp af de angivne indstillinger.
Parametre
Angiv værdier for disse påkrævede parametre.
| Navn | Type | Beskrivelse |
|---|---|---|
tableName |
string |
Det logiske navn på den tabel, der skal hentes fra |
options |
RetrieveRowOptions | Indstillinger for hentning af rækken |
RetrieveRowOptions
| Navn | Type | Beskrivelse |
|---|---|---|
id |
string |
Id'et (GUID) for den række, der skal hentes |
select |
string[] |
(Anbefalet) Matrix med kolonnenavne, der skal hentes. Hvis den udelades, returneres alle kolonner. |
Returnerer
Et løfte , der indeholder resultatet af handlingen. Når handlingen lykkes, returneres et objekt, der indeholder dataene for posten, herunder alle de markerede kolonner.
Eksempel
// 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'],
});
setPageOutput metode
Angiver den værdi, der returneres til kaldescriptet, når en generativ side, der åbnes som en dialogboks, lukkes.
Parametre
| Navn | Type | Beskrivelse |
|---|---|---|
value |
Ukendt | Den værdi, der skal returneres til det script, der åbnede dialogboksen. Værdien kan være en primitiv værdi, et objekt eller en matrix. |
Returnerer
Ingen værdi.
Eksempel
dataApi.setPageOutput({
action: "selected",
recordId: selectedRecordId
});
const xrm = (window as any).Xrm;
await xrm.Navigation.navigateBack();
Opkaldet setPageOutput lukker ikke dialogboksen eller opdaterer opkaldssiden. Luk dialogboksen med Xrm.Navigation.navigateBack(). Det løfte, der returneres af Xrm.Navigation.navigateTo , løses derefter med et objekt, hvis returnValue egenskab indeholder den senest gemte værdi. Det kaldende script skal eksplicit anvende den returnerede værdi på formularen, gitteret eller en anden tilstand.
Denne metode gælder for generative sider, der åbnes som dialogbokse. Generative sider, der er åbnet indbygget eller i en appsiderude, returnerer ikke en værdi til opkaldsscriptet.
updateRow metode
Opdaterer en eksisterende række i den angivne tabel.
Parametre
Angiv værdier for disse påkrævede parametre.
| Navn | Type | Beskrivelse |
|---|---|---|
tableName |
streng | Det logiske navn på den tabel, rækken skal opdateres i. |
rowId |
streng | Id'et for den række, der skal opdateres. |
row |
Objekt | De rækkedata, der skal opdateres. |
Returnerer
Et løfte , der indeholder resultatet af handlingen. Når handlingen lykkes, returneres der ingen værdi.
Eksempel
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);
}