Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Gunakan metode dataApi tindakan dan fungsi objek untuk memanggil API kustom Dataverse yang terikat ke halaman.
Note
Metode tindakan dan fungsi bersifat opsional dalam kontrak bersama dataApi . Beberapa host tidak mengimplementasikannya, jadi periksa apakah metode ada sebelum memanggilnya. Metode yang ada tidak berarti operasi terikat ke halaman, diaktifkan untuk runtime, atau diizinkan untuk pengguna saat ini. Tidak seperti metode konektor, metode ini tidak pernah melemparkan kegagalan yang diharapkan; mereka menyelesaikan dengan ok: false dan kode kesalahan sebagai gantinya. Tangani hasil ok dan error properti secara eksplisit.
listBoundActions mengembalikan tindakan dan fungsi yang diizinkan konfigurasi runtime saat ini untuk halaman ketika penemuan tersebut diaktifkan; ini bukan jaminan bahwa pengguna saat ini memegang hak istimewa Dataverse yang diperlukan untuk menjalankan setiap operasi yang tercantum.
| Metode | Description |
|---|---|
executeAction |
Memanggil API kustom Dataverse yang terikat ke halaman sebagai tindakan. |
executeFunction |
Memanggil API kustom Dataverse yang terikat ke halaman sebagai fungsi. |
listBoundActions |
Mencantumkan API kustom Dataverse (tindakan dan fungsi) yang terikat ke halaman. |
metode executeAction
Memanggil API kustom Dataverse yang diikat pembuat ke halaman sebagai tindakan (pesan yang mungkin mengubah data).
Parameters
Tetapkan nilai untuk parameter yang diperlukan ini.
| Name | Type | Description |
|---|---|---|
request |
DataverseActionRequest | Tindakan yang akan dipanggil dan parameter inputnya. |
DataverseActionRequest
| Name | Type | Description |
|---|---|---|
name |
string |
Nama unik API kustom, diawali penerbit, seperti new_ApproveExpenseReport. |
parameters |
object |
(Opsional) Parameter input yang diperlukan oleh tindakan, di-key oleh nama unik parameter. |
boundTo |
object |
(Opsional) Referensi baris target (entityName dan id) untuk tindakan terikat entitas. Hilangkan untuk tindakan global (tidak terikat). |
Returns
Janji yang berisi DataverseActionResult. Metode ini tidak pernah melempar untuk kegagalan yang diharapkan (seperti kesalahan izin 403, parameter 400 buruk, atau operasi tidak terikat atau diaktifkan) — periksa properti sebagai gantinya ok .
DataverseActionResult
| Name | Type | Description |
|---|---|---|
ok |
boolean |
Menunjukkan apakah tindakan berhasil. |
status |
number |
Kode status HTTP yang dikembalikan oleh Dataverse, atau 0 ketika tidak ada status HTTP yang tersedia. Status 0 dapat berarti runtime menolak panggilan sebelum mengirimkannya (misalnya, not_enabled, wrong_operation_kindnot_permittednot_bound, invalid_parameter, atau invalid_bound_to), permintaan gagal tanpa respons HTTP, atau hasilnya tidak diketahui (indeterminate adalah ).true Gunakan error.code dan indeterminate untuk membedakan kasus-kasus ini. |
outputs |
object |
Parameter output yang dikembalikan oleh tindakan, di-key oleh nama unik. Kosong untuk tindakan tanpa output. |
indeterminate |
boolean |
(Opsional) true ketika waktu habis atau kegagalan pasca-pengiriman lainnya berarti server mungkin telah melakukan tindakan; jangan coba lagi secara otomatis. |
error |
object |
(Opsional) Detail kesalahan ketika ok adalah false, termasuk mesin yang dapat code dibaca dan dibersihkan message.
codeadalah salah satu dari not_enabled, , not_permittednot_bound, wrong_operation_kind, invalid_parameter, invalid_bound_to, indeterminate, atau network, atau kode status HTTP tindakan sebagai string (misalnya, "404") ketika Dataverse mengembalikan respons kesalahan, atau "0" ketika tidak ada status HTTP yang tersedia.
not_permitted berarti tindakan atau fungsi tidak ada dalam daftar izin lingkungan untuk halaman generatif — tindakan atau fungsi tersebut tidak menunjukkan apakah pengguna saat ini memegang hak istimewa Dataverse untuk menjalankannya. Kegagalan hak istimewa biasanya muncul seperti status: 403 kode "403"kesalahan ; jika host tidak dapat menentukan status HTTP, maka akan kembali status: 0 sebagai gantinya. |
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);
}
metode executeFunction
Memanggil API kustom Dataverse yang diikat pembuat ke halaman sebagai fungsi (pesan baca-saja dengan semantik GET).
Parameters
Tetapkan nilai untuk parameter yang diperlukan ini.
| Name | Type | Description |
|---|---|---|
request |
DataverseFunctionRequest | Fungsi yang akan dipanggil dan parameter inputnya. |
DataverseFunctionRequest
| Name | Type | Description |
|---|---|---|
name |
string |
Nama unik API kustom, diawali penerbit, seperti new_GetExchangeRate. |
parameters |
object |
(Opsional) Parameter input yang diperlukan oleh fungsi, yang di-key oleh nama unik parameter. |
boundTo |
object |
(Opsional) Referensi baris target (entityName dan id) untuk fungsi terikat entitas. Hilangkan untuk fungsi global (tidak terikat). |
Returns
Janji yang berisi DataverseActionResult.
executeActionSeperti halnya , metode ini tidak pernah melemparkan kegagalan yang diharapkan — periksa properti sebagai gantinyaok.
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);
}
metode listBoundActions
Mencantumkan API kustom Dataverse (tindakan dan fungsi) yang diikat pembuat ke halaman.
Parameters
None.
Returns
Janji yang berisi array entri DataverseActionInfo. Mengembalikan array kosong saat penemuan tidak diaktifkan untuk runtime.
DataverseActionInfo
DataverseActionInfo mencerminkan apa yang terikat pembuat halaman untuk tindakan atau fungsi ini, bukan metadata Dataverse langsung. Jangan gunakan untuk membangun formulir input atau memvalidasi output — verifikasi persyaratan parameter dan bentuk output terhadap definisi API kustom Dataverse yang sebenarnya.
| Name | Type | Description |
|---|---|---|
name |
string |
Nama unik (logis) dari API kustom Dataverse. |
displayName |
string |
Nama tampilan API kustom. |
isFunction |
boolean |
true jika API kustom Dataverse adalah fungsi (baca-saja); false jika ini adalah tindakan, termasuk ketika nilai ini tidak direkam pada waktu pengikatan. |
bindingType |
string |
Jenis pengikatan: "Global" atau "Entity". |
boundEntityLogicalName |
string |
(Opsional) Tabel tindakan atau fungsi terikat, kapan bindingType adalah "Entity". |
parameters |
Object[] |
Parameter input yang direkam ketika API kustom Dataverse terikat ke halaman, masing-masing dengan name dan declaredKind.
type selalu "unknown" dan optional selalu false — tidak mencerminkan metadata aktual API kustom Dataverse. |
outputs |
Object[] |
Selalu array kosong. Penemuan pengikatan tidak merekam parameter output. |
listBoundActions contoh
const actions = await dataApi.listBoundActions?.();