Dataverse action and function methods for generative pages

Naudokite objekto veiksmų ir funkcijų metodus dataApi , kad iškviestumėte "Dataverse" pasirinktines API, susietas su puslapiu.

Banknotas

Veiksmų ir funkcijų metodai bendrai naudojamoje dataApi sutartyje yra pasirinktiniai. Kai kurie pagrindiniai kompiuteriai jų neįdiegia, todėl prieš skambindami patikrinkite, ar yra metodas. Esamas metodas nereiškia, kad operacija susieta su puslapiu, įgalinta vykdyklei arba leidžiama dabartiniam vartotojui. Skirtingai nei jungties metodai, šie metodai niekada neišmes dėl numatomo gedimo; jas išspręsti, ok: false ir klaidos kodą. Aiškiai apdorokite rezultato ir error ypatybesok.

listBoundActions grąžina veiksmus ir funkcijas, kurias dabartinė vykdymo laiko konfigūracija leidžia puslapiui, kai tas aptikimas įgalintas; tai negarantuoja, kad dabartinis vartotojas turi "Dataverse" teises, reikalingas kiekvienai nurodytai operacijai vykdyti.

Metodas Aprašas
executeAction Iškviečia "Dataverse" pasirinktinę API, susietą su puslapiu kaip veiksmą.
executeFunction Iškviečia "Dataverse" pasirinktinę API, susietą su puslapiu kaip funkcija.
listBoundActions Išvardija "Dataverse" pasirinktines API (veiksmus ir funkcijas), susietas su puslapiu.

executeAction metodas

Iškviečia pasirinktinę "Dataverse" API, kurią su puslapiu susiejo kūrėjas kaip veiksmą (pranešimą, kuris gali pakeisti duomenis).

Parametrai

Nustatykite šio būtino parametro reikšmę.

Pavadinimas / vardas ir pavardė Tipas Aprašas
request DataverseActionRequest Iškviečiamas veiksmas ir jo įvesties parametrai.

DataverseActionRequest

Pavadinimas / vardas ir pavardė Tipas Aprašas
name string Unikalus pasirinktinės API pavadinimas, leidėjo prefiksas, pvz new_ApproveExpenseReport., .
parameters object (Pasirinktinai) Veiksmui būtini įvesties parametrai, kuriuos įveda unikalus parametro pavadinimas.
boundTo object (Pasirinktinai) Objekto susietojo veiksmo paskirties eilutės nuoroda (entityName ir id). Praleisti visuotiniams (nesusietiesiems) veiksmams.

Grąžinimai

Pažadas, kuriame yra "DataverseActionResult". Šis metodas niekada nepateikia laukiamų trikčių (pvz., 403 teisių klaidos, 400 blogų parametrų arba nesusietos ar neįjungtos operacijos) – patikrinkite ok ypatybę.

DataverseActionResult

Pavadinimas / vardas ir pavardė Tipas Aprašas
ok boolean Nurodo, ar veiksmas pavyko.
status number HTTP būsenos kodas, kurį pateikė "Dataverse", arba 0 kai http būsena nepasiekiama. Būsena 0 gali reikšti, kad vykdymo laikas atmetė skambutį prieš jį išsiunčiant (pvz., not_enabled, , not_bound, not_permitted, wrong_operation_kind, invalid_parameterarba invalid_bound_to), užklausa nepavyko be HTTP atsakymo arba rezultatas nežinomas (indeterminate yra true). Naudokite error.code ir indeterminate nurodykite šiuos atvejus atskirai.
outputs object Išvesties parametrai, kuriuos pateikė veiksmas, įvedamą unikaliu pavadinimu. Tuščias veiksmams be išvesties.
indeterminate boolean (Pasirinktinai) true kai skirtojo laiko pabaiga arba kita po išsiuntimo įvykusi triktis reiškia, kad serveris galėjo atlikti veiksmą; automatiškai nebandykite dar kartą.
error object (Pasirinktinai) Klaidos informacija, kai ok yra false, įskaitant automatiškai skaitomą code ir sanitizuotą message. code yra vienas iš not_enabled, not_bound, not_permitted, wrong_operation_kind, invalid_parameter, invalid_bound_to, indeterminatearba , arba networkveiksmo HTTP būsenos kodas kaip eilutė (pvz., "404"), kai "Dataverse" pateikė klaidos atsakymą arba "0" kai http būsena nebuvo pasiekiama. not_permitted reiškia, kad veiksmo ar funkcijos nėra aplinkos leidžiamųjų puslapių sąraše – tai nereiškia, ar dabartinis vartotojas turi "Dataverse" teises jį vykdyti. Teisių klaida paprastai įvyksta kaip status: 403 klaidos kodas "403"; jei pagrindinis kompiuteris negali nustatyti HTTP būsenos, ji grąžinama status: 0 .

executeAction pavyzdys

if (!dataApi.executeAction) {
  throw new Error("executeAction isn't available on this page.");
}

const result = await dataApi.executeAction({
  name: "new_ApproveExpenseReport",
  parameters: { comments: "Approved by manager" },
  boundTo: { entityName: "new_expensereport", id: "30dc51e9-947d-47d8-ad48-4fc48fba4a95" },
});

if (result.ok) {
  console.log(result.outputs);
}
else {
  console.log(result.error?.code);
}

executeFunction metodas

Iškviečia "Dataverse" pasirinktinę API, kurią kūrėjas susiejo su puslapiu kaip funkcija (tik skaitomas pranešimas su GET semantika).

Parametrai

Nustatykite šio būtino parametro reikšmę.

Pavadinimas / vardas ir pavardė Tipas Aprašas
request DataverseFunctionRequest Iškviečiama funkcija ir jos įvesties parametrai.

DataverseFunctionRequest

Pavadinimas / vardas ir pavardė Tipas Aprašas
name string Unikalus pasirinktinės API pavadinimas, leidėjo prefiksas, pvz new_GetExchangeRate., .
parameters object (Pasirinktinai) Įvesties parametrai, kurių reikia funkcijai, įvedami pagal unikalų parametro pavadinimą.
boundTo object (Pasirinktinai) Objekto susietųjų funkcijų paskirties eilutės nuoroda (entityName ir id). Praleisti visuotines (nesusietąsias) funkcijas.

Grąžinimai

Pažadas, kuriame yra "DataverseActionResult". Kaip ir naudojant executeActionšį metodą, šis metodas niekada nepateiks laukiamų trikčių – vietoje to ok patikrinkite ypatybę.

executeFunction pavyzdys

if (!dataApi.executeFunction) {
  throw new Error("executeFunction isn't available on this page.");
}

const result = await dataApi.executeFunction({
  name: "new_GetExchangeRate",
  parameters: { currencyCode: "EUR" },
});

if (result.ok) {
  console.log(result.outputs);
}

listBoundActions metodas

Išvardijami "Dataverse" pasirinktiniai API (veiksmai ir funkcijos), kuriuos su puslapiu susiejo kūrėjas.

Parametrai

Nėra.

Grąžinimai

Pažadas, kuriame yra "DataverseActionInfo" įrašų masyvas. Grąžina tuščią masyvą, kai vykdyklei neįgalintas aptikimas.

DataverseActionInfo

DataverseActionInfo atspindi, ką puslapio kūrėjas susiejo su šiuo veiksmu ar funkcija, o ne tiesioginius "Dataverse" metaduomenis. Nenaudokite jo kurdami įvesties formas arba tikrindami išvestis – patikrinkite parametro reikalavimus ir išvesties figūras pagal faktinį "Dataverse" pasirinktinį API aprašą.

Pavadinimas / vardas ir pavardė Tipas Aprašas
name string Unikalus (loginis) "Dataverse" pasirinktinės API pavadinimas.
displayName string Rodomas pasirinktinės API pavadinimas.
isFunction boolean true jei "Dataverse" pasirinktinė API yra funkcija (skirta tik skaityti); false jei tai veiksmas, įskaitant tai, kada ši reikšmė nebuvo įrašyta susiejimo metu.
bindingType string Susiejimo tipas: "Global" arba "Entity".
boundEntityLogicalName string (Pasirinktinai) Lentelė, su kurios veiksmas ar funkcija susieta, kai bindingType yra "Entity".
parameters Object[] Įvesties parametrai įrašomi, kai "Dataverse" pasirinktinė API buvo susieta su puslapiu, kiekvienas su a name ir declaredKind. type yra visada "unknown" ir optional visada false – nei atspindi "Dataverse" pasirinktinės API faktinius metaduomenis.
outputs Object[] Visada tuščias masyvas. Susiejimo aptikimas neįrašo išvesties parametrų.

Pavyzdys: „listBoundActions“

const actions = await dataApi.listBoundActions?.();