Pastaba.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti prisijungti arba pakeisti katalogus.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti pakeisti katalogus.
Kai generuojate puslapį naudodami natūralią kalbą, DI sukuria puslapį React naudodami TypeScript. Sugeneruotame puslapyje apžvelgiamos vartotojo sąsajos pasirenkant tinkamus komponentus ir nustatant geriausią maketą bei atitinkamą verslo logiką.
Galite peržiūrėti ir redaguoti sugeneruotą kodą, kad patikslintumėte išvestį. Duomenų operacijos naudoja objektą dataApi , kuris atskleidžia šiuos viešuosius metodus:
| Metodas | Aprašas |
|---|---|
createRow |
Sukuria naują eilutę nurodytoje lentelėje. |
deleteRow |
Panaikina eilutę iš nurodytos lentelės. |
getChoices |
Nuskaito nurodyto pasirinkimo stulpelio pavadinimo pasirinkimus. |
queryTable |
Pateikia užklausą lentelei su nurodytomis parinktimis. |
retrieveRow |
Nuskaito eilutę iš nurodytos lentelės su nurodytomis parinktimis. |
setPageOutput |
Nustato reikšmę, grąžintą į iškvietimo scenarijų, kai uždaromas generuojamas puslapio dialogo langas. |
updateRow |
Atnaujina esamą nurodytos lentelės eilutę. |
createRow metodas
Sukuria naują eilutę nurodytoje lentelėje.
Parametrai
Nustatykite šių būtinų parametrų reikšmes.
| Pavadinimą | Tipas | Aprašas |
|---|---|---|
tableName |
eilutė | Loginis lentelės, kurioje bus kuriama eilutė, pavadinimas. |
row |
objektas | Kuriami eilutės duomenys. |
Grąžinimai
Pažadas, kuriame pateikiamas operacijos rezultatas. Kai operacija pavyksta, rezultatas yra sukurtos eilutės ID (Guid) reikšmė.
Pavyzdžiui
// 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 metodas
Panaikina eilutę iš nurodytos lentelės.
Parametrai
Nustatykite šių būtinų parametrų reikšmes.
| Pavadinimą | Tipas | Aprašas |
|---|---|---|
tableName |
eilutė | Loginis lentelės, kurioje bus panaikinta eilutė, pavadinimas. |
rowId |
eilutė | Naikintinų eilučių ID. |
Grąžinimai
Pažadas, kuriame pateikiamas operacijos rezultatas. Kai operacija pavyksta, ji nepateikia jokios reikšmės.
Pavyzdžiui
let rowId = "5531d753-95af-e711-a94e-000d3a11e605";
try {
await dataApi.deleteRow("account", rowId);
}
catch (error) {
console.log(error.message);
}
getChoices metodas
Nuskaito nurodyto pasirinkimo stulpelio pavadinimo pasirinkimus.
Parametrai
Šis parametras yra būtinas.
| Pavadinimą | Tipas | Aprašas |
|---|---|---|
enumName |
string |
Pasirinkimo stulpelio pavadinimas formatu tablename-columnname |
Grąžinimai
Pažadas, kuriame pateikiamas operacijos rezultatas. Kai operacija pavyksta, ji pateikia pasirinkimo parinkčių masyvą. Kiekviena parinktis turi šias ypatybes:
| Pavadinimą | Tipas | Aprašas |
|---|---|---|
label |
eilutė | Lokalizuota parinkties žymos reikšmė. |
value |
Skaičius | Skaitinė parinkties reikšmė. |
Pavyzdžiui
// 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 metodas
Užklausas pateikia lentelei naudojant nurodytas parinktis.
Parametrai
Nustatykite šių būtinų parametrų reikšmes.
| Pavadinimą | Tipas | Aprašas |
|---|---|---|
tableName |
string |
Loginis užklausos lentelės pavadinimas |
query |
QueryTableOptions | Lentelės užklausos parinktys |
QueryTableOptions
| Pavadinimą | Tipas | Aprašas |
|---|---|---|
select |
string[] |
(Rekomenduojama) Nuskaitomų stulpelių pavadinimų masyvas. |
filter |
string |
(Pasirinktinai) "OData" filtro išraiška (pvz., statecode eq 0). |
orderBy |
string |
(Pasirinktinai) "OData orderby" reiškinys (pvz., name asc, createdon desc). |
pageSize |
number |
(Pasirinktinai) Maksimalus puslapyje pateikiamų eilučių skaičius. |
Grąžinimai
Pažadas, kuriame pateikiamas operacijos rezultatas. Kai operacija pavyksta, pažadas pateikia objektą, kuriame yra duomenų lentelė su šių ypatybių rezultatais:
| Pavadinimą | Tipas | Aprašas |
|---|---|---|
rows |
Object[] |
Eilučių duomenų masyvas |
hasMoreRows |
boolean |
Nurodo, ar yra daugiau galimų eilučių |
loadMoreRows |
function |
Funkcija, kad būtų įkeltas paskesnis rezultatų puslapis. (Pasirinktinai) |
Pavyzdžiui
// 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`);
}
Pastabos
Pastaba.
Kad našumas būtų geresnis, visada apribokite pateikiamų stulpelių skaičių naudodami ypatybę QueryTableOptionsselect .
retrieveRow metodas
Nuskaito eilutę iš nurodytos lentelės naudojant nurodytas parinktis.
Parametrai
Nustatykite šių būtinų parametrų reikšmes.
| Pavadinimą | Tipas | Aprašas |
|---|---|---|
tableName |
string |
Loginis lentelės, iš kurios reikia nuskaityti, pavadinimas |
options |
RetrieveRowOptions | Eilutės nuskaitymo parinktys |
RetrieveRowOptions
| Pavadinimą | Tipas | Aprašas |
|---|---|---|
id |
string |
Eilutės, kurią reikia nuskaityti, ID (Guid) |
select |
string[] |
(Rekomenduojama) Nuskaitomų stulpelių pavadinimų masyvas. Jei nenurodyta, grąžinami visi stulpeliai. |
Grąžinimai
Pažadas, kuriame pateikiamas operacijos rezultatas. Kai operacija pavyksta, grąžinamas objektas, kuriame yra įrašo duomenys, įskaitant visus pasirinktus stulpelius.
Pavyzdžiui
// 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 metodas
Nustato reikšmę, grąžintą į iškvietimo scenarijų, kai uždaromas generuojamas puslapis, atidarytas kaip dialogo langas.
Parametrai
| Pavadinimą | Tipas | Aprašas |
|---|---|---|
value |
nežinomas | Reikšmė, grąžinama į scenarijų, kuris atidarė dialogo langą. Reikšmė gali būti primityvi, objektas arba masyvas. |
Grąžinimai
Reikšmės nėra.
Pavyzdžiui
dataApi.setPageOutput({
action: "selected",
recordId: selectedRecordId
});
const xrm = (window as any).Xrm;
await xrm.Navigation.navigateBack();
Skambučiai setPageOutput neuždaro dialogo lango ir neatnaujina skambinimo puslapio. Uždarykite dialogo langą naudodami Xrm.Navigation.navigateBack(). Tada grąžintas Xrm.Navigation.navigateTo pažadas išsprendžiamas su objektu, kurio returnValue ypatybėje yra naujausia saugoma reikšmė. Iškvietimo scenarijus turi aiškiai taikyti grąžintą reikšmę formai, tinkleliui ar kitai būsenai.
Šis metodas taikomas generuojant puslapius, atidarytus kaip dialogo langai. Generuojami puslapiai, atidaryti įterpimuose arba taikomosios programos šoninėje srityje, negrąžina reikšmės skambinimo scenarijui.
updateRow metodas
Atnaujina esamą nurodytos lentelės eilutę.
Parametrai
Nustatykite šių būtinų parametrų reikšmes.
| Pavadinimą | Tipas | Aprašas |
|---|---|---|
tableName |
eilutė | Loginis lentelės, kurioje bus atnaujinta eilutė, pavadinimas. |
rowId |
eilutė | Naujintinų eilučių ID. |
row |
Objektas | Atnaujintinus eilutės duomenis. |
Grąžinimai
Pažadas, kuriame pateikiamas operacijos rezultatas. Kai operacija pavyksta, ji nepateikia jokios reikšmės.
Pavyzdžiui
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);
}