Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du genererar en sida med naturligt språk skapar AI:n en React-sida i TypeScript. Den genererade sidan täcker både klientdelsanvändarupplevelsen genom att välja rätt komponenter och bestämma den bästa layouten och motsvarande affärslogik.
Du kan visa och redigera den genererade koden för att förfina utdata. Dataåtgärder använder ett dataApi objekt som exponerar följande offentliga metoder:
| Metod | Description |
|---|---|
createRow |
Skapar en ny rad i den angivna tabellen. |
deleteRow |
Tar bort en rad från den angivna tabellen. |
getChoices |
Hämtar alternativen för det angivna valkolumnnamnet. |
queryTable |
Frågar en tabell med de angivna alternativen. |
retrieveRow |
Hämtar en rad från den angivna tabellen med de angivna alternativen. |
setPageOutput |
Anger värdet som returneras till det anropande skriptet när en generativ siddialogruta stängs. |
updateRow |
Uppdaterar en befintlig rad i den angivna tabellen. |
createRow metod
Skapar en ny rad i den angivna tabellen.
Parameterar
Ange värden för dessa obligatoriska parametrar.
| Namn | Typ | Description |
|---|---|---|
tableName |
snöre | Det logiska namnet på tabellen som raden ska skapas i. |
row |
objekt | Raddata som ska skapas. |
Retur
Ett löfte som innehåller resultatet av åtgärden. När åtgärden lyckas blir resultatet ID-värdet (Guid) för den skapade raden.
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);
}
deleteRow metod
Tar bort en rad från den angivna tabellen.
Parameterar
Ange värden för dessa obligatoriska parametrar.
| Namn | Typ | Description |
|---|---|---|
tableName |
snöre | Det logiska namnet på tabellen som raden ska tas bort i. |
rowId |
snöre | ID:t för raden som ska tas bort. |
Retur
Ett löfte som innehåller resultatet av åtgärden. När åtgärden lyckas returneras inget värde.
Example
let rowId = "5531d753-95af-e711-a94e-000d3a11e605";
try {
await dataApi.deleteRow("account", rowId);
}
catch (error) {
console.log(error.message);
}
getChoices metod
Hämtar alternativen för det angivna valkolumnnamnet.
Parameterar
Den här parametern krävs.
| Namn | Typ | Description |
|---|---|---|
enumName |
string |
Namnet på valfri kolumn i formatet tablename-columnname |
Retur
Ett löfte som innehåller resultatet av åtgärden. När åtgärden lyckas returneras en matris med alternativ. Varje alternativ har följande egenskaper:
| Namn | Typ | Description |
|---|---|---|
label |
snöre | Alternativets lokaliserade etikettvärde. |
value |
nummer | Alternativets numeriska värde. |
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');
queryTable metod
Frågar en tabell med hjälp av de angivna alternativen.
Parameterar
Ange värden för dessa obligatoriska parametrar.
| Namn | Typ | Description |
|---|---|---|
tableName |
string |
Det logiska namnet på tabellen som ska frågas |
query |
QueryTableOptions | Alternativ för att fråga tabellen |
QueryTableOptions
| Namn | Typ | Description |
|---|---|---|
select |
string[] |
(Rekommenderas) Matris med kolumnnamn som ska hämtas. |
filter |
string |
(Valfritt) OData-filteruttryck (till exempel statecode eq 0). |
orderBy |
string |
(Valfritt) OData orderby-uttryck (till exempel name asc, createdon desc). |
pageSize |
number |
(Valfritt) Maximalt antal rader som ska returneras per sida. |
Retur
Ett löfte som innehåller resultatet av åtgärden. När åtgärden lyckas returnerar löftet ett objekt som innehåller en datatabell med resultatet med följande egenskaper:
| Namn | Typ | Description |
|---|---|---|
rows |
Object[] |
Matris med raddata |
hasMoreRows |
boolean |
Anger om det finns fler rader tillgängliga |
loadMoreRows |
function |
Funktion för att läsa in nästa sida med resultat. (Valfritt) |
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`);
}
Anmärkningar
Anmärkning
För bästa prestanda begränsar du alltid antalet kolumner som returneras med egenskapen QueryTableOptionsselect .
retrieveRow metod
Hämtar en rad från den angivna tabellen med hjälp av de angivna alternativen.
Parameterar
Ange värden för dessa obligatoriska parametrar.
| Namn | Typ | Description |
|---|---|---|
tableName |
string |
Det logiska namnet på tabellen som ska hämtas från |
options |
RetrieveRowOptions | Alternativ för att hämta raden |
RetrieveRowOptions
| Namn | Typ | Description |
|---|---|---|
id |
string |
ID:t (Guid) för raden som ska hämtas |
select |
string[] |
(Rekommenderas) Matris med kolumnnamn som ska hämtas. Om det utelämnas returneras alla kolumner. |
Retur
Ett löfte som innehåller resultatet av åtgärden. När åtgärden lyckas returneras ett objekt som innehåller data för posten, inklusive alla markerade kolumner.
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'],
});
setPageOutput metod
Anger värdet som returneras till det anropande skriptet när en generativ sida öppnas när en dialogruta stängs.
Parameterar
| Namn | Typ | Description |
|---|---|---|
value |
unknown | Värdet som ska returneras till skriptet som öppnade dialogrutan. Värdet kan vara en primitiv, ett objekt eller en matris. |
Retur
Inget värde.
Example
dataApi.setPageOutput({
action: "selected",
recordId: selectedRecordId
});
const xrm = (window as any).Xrm;
await xrm.Navigation.navigateBack();
Samtal setPageOutput stänger inte dialogrutan eller uppdaterar inte samtalssidan. Stäng dialogrutan med Xrm.Navigation.navigateBack(). Löftet som returneras av Xrm.Navigation.navigateTo matchar sedan med ett objekt vars returnValue egenskap innehåller det senast lagrade värdet. Det anropande skriptet måste uttryckligen tillämpa det returnerade värdet på dess formulär, rutnät eller annat tillstånd.
Den här metoden gäller för generativa sidor som öppnas som dialogrutor. Generativa sidor som öppnas infogade eller i en appsida returnerar inte något värde till det anropande skriptet.
updateRow metod
Uppdaterar en befintlig rad i den angivna tabellen.
Parameterar
Ange värden för dessa obligatoriska parametrar.
| Namn | Typ | Description |
|---|---|---|
tableName |
snöre | Det logiska namnet på tabellen som raden ska uppdateras i. |
rowId |
snöre | ID:t för raden som ska uppdateras. |
row |
Object | Raddata som ska uppdateras. |
Retur
Ett löfte som innehåller resultatet av åtgärden. När åtgärden lyckas returneras inget värde.
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);
}