Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Wanneer u een pagina genereert met natuurlijke taal, maakt de AI een React-pagina in TypeScript. Op de gegenereerde pagina wordt zowel de front-endgebruikerservaring behandeld door de juiste onderdelen te selecteren en de beste indeling en de bijbehorende bedrijfslogica te bepalen.
U kunt de gegenereerde code weergeven en bewerken om de uitvoer te verfijnen. Gegevensbewerkingen maken gebruik van een dataApi object dat de volgende openbare methoden beschikbaar maakt:
| Methode | Description |
|---|---|
createRow |
Hiermee maakt u een nieuwe rij in de opgegeven tabel. |
deleteRow |
Hiermee verwijdert u een rij uit de opgegeven tabel. |
getChoices |
Hiermee worden de opties opgehaald voor de opgegeven naam van de keuzekolom. |
queryTable |
Query's uitvoeren op een tabel met de opgegeven opties. |
retrieveRow |
Haalt een rij op uit de opgegeven tabel met de opgegeven opties. |
setPageOutput |
Hiermee stelt u de waarde in die wordt geretourneerd aan het aanroepende script wanneer een dialoogvenster voor een generatieve pagina wordt gesloten. |
updateRow |
Hiermee wordt een bestaande rij in de opgegeven tabel bijgewerkt. |
methode createRow
Hiermee maakt u een nieuwe rij in de opgegeven tabel.
Parameterwaarden
Stel waarden in voor deze vereiste parameters.
| Naam | Typologie | Description |
|---|---|---|
tableName |
touw | De logische naam van de tabel waarin de rij moet worden gemaakt. |
row |
Voorwerp | De rijgegevens die moeten worden gemaakt. |
Retouren
Een belofte die het resultaat van de bewerking bevat. Wanneer de bewerking is geslaagd, is het resultaat de id-waarde (Guid) van de gemaakte rij.
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);
}
methode deleteRow
Hiermee verwijdert u een rij uit de opgegeven tabel.
Parameterwaarden
Stel waarden in voor deze vereiste parameters.
| Naam | Typologie | Description |
|---|---|---|
tableName |
touw | De logische naam van de tabel waarin u de rij wilt verwijderen. |
rowId |
touw | De id van de rij die u wilt verwijderen. |
Retouren
Een belofte die het resultaat van de bewerking bevat. Wanneer de bewerking is voltooid, wordt er geen waarde geretourneerd.
Example
let rowId = "5531d753-95af-e711-a94e-000d3a11e605";
try {
await dataApi.deleteRow("account", rowId);
}
catch (error) {
console.log(error.message);
}
methode getChoices
Hiermee worden de opties opgehaald voor de opgegeven naam van de keuzekolom.
Parameterwaarden
Deze parameter is vereist.
| Naam | Typologie | Description |
|---|---|---|
enumName |
string |
De naam van de keuzekolom in de notatie tablename-columnname |
Retouren
Een belofte die het resultaat van de bewerking bevat. Wanneer de bewerking is geslaagd, wordt een matrix van de keuzeopties geretourneerd. Elke optie heeft deze eigenschappen:
| Naam | Typologie | Description |
|---|---|---|
label |
touw | De gelokaliseerde labelwaarde van de optie. |
value |
nummer | De numerieke waarde van de optie. |
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');
methode queryTable
Query's uitvoeren op een tabel met behulp van de opgegeven opties.
Parameterwaarden
Stel waarden in voor deze vereiste parameters.
| Naam | Typologie | Description |
|---|---|---|
tableName |
string |
De logische naam van de tabel die u wilt opvragen |
query |
QueryTableOptions | Opties voor het uitvoeren van query's op de tabel |
QueryTableOptions
| Naam | Typologie | Description |
|---|---|---|
select |
string[] |
(Aanbevolen) Matrix met kolomnamen die moeten worden opgehaald. |
filter |
string |
(Optioneel) OData-filterexpressie (bijvoorbeeld statecode eq 0). |
orderBy |
string |
(Optioneel) OData orderby-expressie (bijvoorbeeld name asc, createdon desc). |
pageSize |
number |
(Optioneel) Maximum aantal rijen dat per pagina moet worden geretourneerd. |
Retouren
Een belofte die het resultaat van de bewerking bevat. Wanneer de bewerking is voltooid, retourneert de belofte een object met een gegevenstabel met de resultaten met de volgende eigenschappen:
| Naam | Typologie | Description |
|---|---|---|
rows |
Object[] |
Matrix met rijgegevens |
hasMoreRows |
boolean |
Geeft aan of er meer rijen beschikbaar zijn |
loadMoreRows |
function |
Functie om de volgende pagina met resultaten te laden. (Optioneel) |
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`);
}
Opmerkingen
Opmerking
Beperk voor de beste prestaties altijd het aantal kolommen dat wordt geretourneerd met behulp van de eigenschap QueryTableOptionsselect .
methode retrieveRow
Haalt een rij op uit de opgegeven tabel met behulp van de opgegeven opties.
Parameterwaarden
Stel waarden in voor deze vereiste parameters.
| Naam | Typologie | Description |
|---|---|---|
tableName |
string |
De logische naam van de tabel waaruit moet worden opgehaald |
options |
RetrieveRowOptions | Opties voor het ophalen van de rij |
RetrieveRowOptions
| Naam | Typologie | Description |
|---|---|---|
id |
string |
De id (GUID) van de rij die moet worden opgehaald |
select |
string[] |
(Aanbevolen) Matrix met kolomnamen die moeten worden opgehaald. Als u dit weglaat, worden alle kolommen geretourneerd. |
Retouren
Een belofte die het resultaat van de bewerking bevat. Wanneer de bewerking is voltooid, wordt een object met de gegevens van de record geretourneerd, inclusief alle geselecteerde kolommen.
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'],
});
methode setPageOutput
Hiermee stelt u de waarde in die wordt geretourneerd aan het aanroepende script wanneer een generatieve pagina wordt geopend als dialoogvenster wordt gesloten.
Parameterwaarden
| Naam | Typologie | Description |
|---|---|---|
value |
unknown | De waarde die moet worden geretourneerd naar het script dat het dialoogvenster heeft geopend. De waarde kan een primitieve, object of matrix zijn. |
Retouren
Geen waarde.
Example
dataApi.setPageOutput({
action: "selected",
recordId: selectedRecordId
});
const xrm = (window as any).Xrm;
await xrm.Navigation.navigateBack();
Bij het bellen setPageOutput wordt het dialoogvenster niet gesloten of wordt de aanroeppagina bijgewerkt. Sluit het dialoogvenster met Xrm.Navigation.navigateBack(). De belofte die vervolgens Xrm.Navigation.navigateTo wordt geretourneerd, wordt omgezet met een object waarvan returnValue de eigenschap de laatst opgeslagen waarde bevat. Het aanroepende script moet de geretourneerde waarde expliciet toepassen op de vorm, het raster of een andere status.
Deze methode is van toepassing op generatieve pagina's die als dialoogvensters worden geopend. Generatieve pagina's die inline worden geopend of in een deelvenster aan de app-zijde retourneren geen waarde voor het aanroepende script.
methode updateRow
Hiermee wordt een bestaande rij in de opgegeven tabel bijgewerkt.
Parameterwaarden
Stel waarden in voor deze vereiste parameters.
| Naam | Typologie | Description |
|---|---|---|
tableName |
touw | De logische naam van de tabel waarin de rij moet worden bijgewerkt. |
rowId |
touw | De id van de rij die moet worden bijgewerkt. |
row |
Object | De rijgegevens die moeten worden bijgewerkt. |
Retouren
Een belofte die het resultaat van de bewerking bevat. Wanneer de bewerking is voltooid, wordt er geen waarde geretourneerd.
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);
}