Nota
Capaian ke halaman ini memerlukan kebenaran. Anda boleh cuba mendaftar masuk atau menukar direktori.
Capaian ke halaman ini memerlukan kebenaran. Anda boleh cuba menukar direktori.
Gunakan kaedah dataApi tindakan dan fungsi objek untuk memanggil API tersuai Dataverse yang terikat pada halaman.
Nota
Kaedah tindakan dan fungsi adalah pilihan dalam kontrak bersama dataApi . Sesetengah hos tidak melaksanakannya, jadi periksa sama ada sesuatu kaedah wujud sebelum memanggilnya. Kehadiran kaedah tidak bermakna operasi terikat pada halaman, diaktifkan untuk masa jalan, atau dibenarkan untuk pengguna semasa. Tidak seperti kaedah penyambung, kaedah ini tidak pernah membuang untuk kegagalan yang dijangka; ia menyelesaikan dengan ok: false dan kod ralat sebagai gantinya. Kendalikan hasil ok dan error sifat secara eksplisit.
listBoundActions mengembalikan tindakan dan fungsi yang dibenarkan oleh konfigurasi runtime semasa untuk halaman apabila penemuan itu diaktifkan; ia bukan jaminan bahawa pengguna semasa memegang keistimewaan Dataverse yang diperlukan untuk melaksanakan setiap operasi yang disenaraikan.
| Kaedah | Perihalan |
|---|---|
executeAction |
Memanggil API tersuai Dataverse yang terikat pada halaman sebagai tindakan. |
executeFunction |
Memanggil API tersuai Dataverse yang terikat pada halaman sebagai fungsi. |
listBoundActions |
Menyenaraikan API tersuai Dataverse (tindakan dan fungsi) yang terikat pada halaman. |
executeAction Kaedah
Memanggil API tersuai Dataverse yang diikat oleh pembuat ke halaman sebagai tindakan (mesej yang mungkin mengubah data).
Parameter
Tetapkan nilai untuk parameter yang diperlukan ini.
| Nama | Jenis | Perihalan |
|---|---|---|
request |
DataverseActionRequest | Tindakan yang akan dipanggil dan parameter inputnya. |
DataverseActionRequest
| Nama | Jenis | Perihalan |
|---|---|---|
name |
string |
Nama unik API tersuai, dengan awalan penerbit, seperti new_ApproveExpenseReport. |
parameters |
object |
(Pilihan) Parameter input yang diperlukan oleh tindakan, dikunci mengikut nama unik parameter. |
boundTo |
object |
(Pilihan) Rujukan baris sasaran (entityName dan id) untuk tindakan terikat entiti. Abaikan untuk tindakan global (tidak terikat). |
Pulangan
Janji yang mengandungi DataverseActionResult. Kaedah ini tidak pernah membuang untuk kegagalan yang dijangka (seperti ralat kebenaran 403, parameter 400 yang salah, atau operasi yang tidak terikat atau diaktifkan) — sebaliknya periksa sifat tersebut ok .
DataverseActionResult
| Nama | Jenis | Perihalan |
|---|---|---|
ok |
boolean |
Menunjukkan sama ada tindakan itu berjaya. |
status |
number |
Kod status HTTP yang dikembalikan oleh Dataverse, atau 0 apabila tiada status HTTP tersedia.
0 Status boleh bermaksud runtime menolak panggilan sebelum menghantarnya (contohnya, not_enabled, not_bound, not_permitted, wrong_operation_kind, invalid_parameter, atau invalid_bound_to), permintaan gagal tanpa respons HTTP, atau hasilnya tidak diketahui (indeterminate ialah true). Gunakan error.code dan indeterminate untuk membezakan kes-kes ini. |
outputs |
object |
Parameter output yang dikembalikan oleh tindakan, dikunci mengikut nama unik. Kosong untuk tindakan tanpa output. |
indeterminate |
boolean |
(Pilihan) true apabila timeout atau kegagalan selepas penghantaran bermakna pelayan mungkin telah melakukan tindakan tersebut; jangan cuba semula secara automatik. |
error |
object |
(Pilihan) Butiran ralat apabila ok ialah false, termasuk yang boleh code dibaca mesin dan yang telah disanitasi message.
codeadalah salah satu daripada not_enabled, not_bound, not_permitted, wrong_operation_kind, invalid_parameter, invalid_bound_toindeterminateatau network, atau kod status HTTP tindakan sebagai rentetan (contohnya, "404") apabila Dataverse mengembalikan respons ralat, atau "0" apabila tiada status HTTP tersedia.
not_permitted bermaksud tindakan atau fungsi tersebut tidak terdapat dalam senarai dibenarkan persekitaran untuk halaman generatif — ia tidak menunjukkan sama ada pengguna semasa memegang keistimewaan Dataverse untuk menjalankannya. Kegagalan keistimewaan biasanya muncul seperti status: 403 kod "403"ralat; jika hos tidak dapat menentukan status HTTP, ia akan dikembalikan status: 0 sebaliknya. |
contoh executeAction
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 Kaedah
Memanggil API tersuai Dataverse yang diikat oleh pembuat ke halaman sebagai fungsi (mesej baca sahaja dengan semantik GET).
Parameter
Tetapkan nilai untuk parameter yang diperlukan ini.
| Nama | Jenis | Perihalan |
|---|---|---|
request |
DataverseFunctionRequest | Fungsi yang akan dipanggil dan parameter inputnya. |
DataverseFunctionRequest
| Nama | Jenis | Perihalan |
|---|---|---|
name |
string |
Nama unik API tersuai, dengan awalan penerbit, seperti new_GetExchangeRate. |
parameters |
object |
(Pilihan) Parameter input yang diperlukan oleh fungsi, dikunci mengikut nama unik parameter. |
boundTo |
object |
(Pilihan) Rujukan baris sasaran (entityName dan id) untuk fungsi terikat entiti. Abaikan untuk fungsi global (tidak terikat). |
Pulangan
Janji yang mengandungi DataverseActionResult. Seperti , executeActionkaedah ini tidak pernah membuang untuk kegagalan yang dijangka — periksa ok sifat sebagai gantinya.
contoh executeFunction
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 Kaedah
Menyenaraikan API tersuai Dataverse (tindakan dan fungsi) yang diikat oleh pembuat ke halaman.
Parameter
Tiada.
Pulangan
Janji yang mengandungi array entri DataverseActionInfo. Mengembalikan array kosong apabila penemuan tidak diaktifkan untuk runtime.
DataverseActionInfo
DataverseActionInfo mencerminkan apa yang dibuat oleh pembuat halaman untuk tindakan atau fungsi ini, bukan metadata Dataverse secara langsung. Jangan gunakan ia untuk membina borang input atau mengesahkan output — sahkan keperluan parameter dan bentuk output berbanding definisi API tersuai Dataverse yang sebenar.
| Nama | Jenis | Perihalan |
|---|---|---|
name |
string |
Nama unik (logik) API tersuai Dataverse. |
displayName |
string |
Nama paparan API tersuai. |
isFunction |
boolean |
true jika API tersuai Dataverse adalah fungsi (baca sahaja); false jika ia adalah tindakan, termasuk apabila nilai ini tidak direkodkan semasa masa pengikatan. |
bindingType |
string |
Jenis pengikatan: "Global" atau "Entity". |
boundEntityLogicalName |
string |
(Pilihan) Jadual yang tindakan atau fungsi terikat kepada, apabila bindingType adalah "Entity". |
parameters |
Object[] |
Parameter input direkodkan apabila API tersuai Dataverse diikat ke halaman, setiap satu dengan dan namedeclaredKind.
type sentiasa dan "unknown"optional sentiasa false — kedua-duanya tidak mencerminkan metadata sebenar API tersuai Dataverse. |
outputs |
Object[] |
Sentiasa susunan kosong. Penemuan pengikatan tidak merekodkan parameter output. |
listBoundActions Contoh
const actions = await dataApi.listBoundActions?.();