إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
استخدم أساليب الإجراء والدالة للكائن dataApi لاستدعاء واجهات برمجة التطبيقات المخصصة Dataverse المرتبطة بالصفحة.
Note
أساليب العمل والدالة اختيارية في العقد المشترك dataApi . لا يقوم بعض المضيفين بتنفيذها، لذا تحقق من وجود أسلوب قبل استدعائه. لا يعني الأسلوب الموجود أن العملية مرتبطة بالصفحة أو ممكنة لوقت التشغيل أو مسموح بها للمستخدم الحالي. على عكس أساليب الموصل، لا تطرح هذه الأساليب أبدا حالات الفشل المتوقعة؛ يتم حلها باستخدام ok: false ورمز خطأ بدلا من ذلك. التعامل مع خصائص والنتيجة okerror بشكل صريح.
listBoundActions إرجاع الإجراءات والوظائف التي يسمح بها تكوين وقت التشغيل الحالي للصفحة عند تمكين هذا الاكتشاف؛ ليس ضمانا أن المستخدم الحالي يحتفظ بامتيازات Dataverse اللازمة لتنفيذ كل عملية مدرجة.
| Method | Description |
|---|---|
executeAction |
استدعاء واجهة برمجة تطبيقات Dataverse مخصصة مرتبطة بالصفحة كإجراء. |
executeFunction |
استدعاء واجهة برمجة تطبيقات مخصصة Dataverse مرتبطة بالصفحة كدالة. |
listBoundActions |
يسرد واجهات برمجة التطبيقات المخصصة Dataverse (الإجراءات والوظائف) المرتبطة بالصفحة. |
طريقة executeAction
استدعاء واجهة برمجة تطبيقات Dataverse مخصصة يرتبط بها صانع الصفحة كإجراء (رسالة قد تغير البيانات).
Parameters
تعيين قيمة لهذه المعلمة المطلوبة.
| Name | النوع | Description |
|---|---|---|
request |
طلب DataverseAction | الإجراء لاستدعاء ومعلمات الإدخال الخاصة به. |
طلب DataverseAction
| Name | النوع | Description |
|---|---|---|
name |
string |
الاسم الفريد لواجهة برمجة التطبيقات المخصصة، مسبوقة بالناشر، مثل new_ApproveExpenseReport. |
parameters |
object |
(اختياري) معلمات الإدخال المطلوبة من قبل الإجراء، التي تم مفتاحها بواسطة اسم فريد للمعلمة. |
boundTo |
object |
(اختياري) مرجع صف الهدف (entityName و id) للإجراءات المرتبطة بالوحدة. حذف الإجراءات العمومية (غير المنضمة). |
إرجاع
وعد يحتوي على DataverseActionResult. لا يطرح هذا الأسلوب أبدا حالات الفشل المتوقعة (مثل خطأ إذن 403 أو معلمة 400 غير صحيحة أو عدم ربط العملية أو تمكينها) — تحقق من الخاصية ok بدلا من ذلك.
DataverseActionResult
| Name | النوع | Description |
|---|---|---|
ok |
boolean |
يشير إلى ما إذا كان الإجراء قد نجح أم لا. |
status |
number |
رمز حالة HTTP الذي تم إرجاعه بواسطة Dataverse، أو 0 عندما لا تتوفر حالة HTTP.
0 قد تعني الحالة أن وقت التشغيل رفض الاستدعاء قبل إرساله (على سبيل المثال، not_enabledأو invalid_parameterwrong_operation_kindnot_permittedinvalid_bound_tonot_bound)، أو فشل الطلب دون استجابة HTTP، أو أن النتيجة غير معروفة (indeterminate هي ).true استخدم error.code و indeterminate لفصل هذه الحالات عن بعضها البعض. |
outputs |
object |
معلمات الإخراج التي تم إرجاعها بواسطة الإجراء، التي تم مفتاحها باسم فريد. فارغ للإجراءات بدون مخرجات. |
indeterminate |
boolean |
(اختياري) true عندما تكون المهلة أو فشل آخر بعد الإرسال يعني أن الخادم قد ارتكب الإجراء؛ لا تعيد المحاولة تلقائيا. |
error |
object |
(اختياري) تفاصيل الخطأ عندما ok يكون false، بما في ذلك قابل code للقراءة الآلية ومطهر message.
codeهو واحد من not_enabledأو not_boundأو not_permittedwrong_operation_kindأو indeterminateinvalid_bound_tonetworkinvalid_parameterرمز حالة HTTP للإجراء كسلسلة (على سبيل المثال، "404") عندما أرجع Dataverse استجابة خطأ، أو "0" عندما لا تتوفر حالة HTTP.
not_permitted يعني أن الإجراء أو الدالة ليست في قائمة السماح الخاصة بالبيئة للصفحات التوليدية - فهي لا تشير إلى ما إذا كان المستخدم الحالي يحتفظ بامتيازات Dataverse لتشغيلها. عادة ما تظهر فشل الامتيازات كما هو الحال status: 403 مع رمز "403"الخطأ ؛ إذا لم يتمكن المضيف من تحديد حالة HTTP، فإنه يرجع status: 0 بدلا من ذلك. |
مثال على 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
استدعاء واجهة برمجة تطبيقات Dataverse مخصصة يرتبط بها صانع الصفحة كدالة (رسالة للقراءة فقط مع دلالات GET).
Parameters
تعيين قيمة لهذه المعلمة المطلوبة.
| Name | النوع | Description |
|---|---|---|
request |
طلب DataverseFunction | الدالة لاستدعاء ومعلمات الإدخال الخاصة بها. |
طلب DataverseFunction
| Name | النوع | Description |
|---|---|---|
name |
string |
الاسم الفريد لواجهة برمجة التطبيقات المخصصة، مسبوقة بالناشر، مثل new_GetExchangeRate. |
parameters |
object |
(اختياري) معلمات الإدخال المطلوبة من قبل الدالة، التي تم مفتاحها بواسطة اسم فريد للمعلمة. |
boundTo |
object |
(اختياري) مرجع الصف الهدف (entityName و id) للوظائف المرتبطة بالوحدة. حذف الدالات العمومية (غير المنضمة). |
إرجاع
وعد يحتوي على DataverseActionResult. كما هو الحال مع executeAction، لا يطرح هذا الأسلوب أبدا حالات الفشل المتوقعة — تحقق من الخاصية ok بدلا من ذلك.
مثال 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
يسرد واجهات برمجة التطبيقات المخصصة Dataverse (الإجراءات والوظائف) التي ربطها صانع بالصفحة.
Parameters
لا يوجد.
إرجاع
وعد يحتوي على صفيف من إدخالات DataverseActionInfo. إرجاع صفيف فارغ عند عدم تمكين الاكتشاف لوقت التشغيل.
DataverseActionInfo
DataverseActionInfo يعكس ما ربطه صانع الصفحة بهذا الإجراء أو الوظيفة، وليس بيانات تعريف Dataverse المباشرة. لا تستخدمه لإنشاء نماذج إدخال أو التحقق من صحة المخرجات — تحقق من متطلبات المعلمات وأشكال الإخراج مقابل تعريف واجهة برمجة تطبيقات Dataverse المخصص الفعلي.
| Name | النوع | Description |
|---|---|---|
name |
string |
الاسم الفريد (المنطقي) لواجهة برمجة تطبيقات Dataverse المخصصة. |
displayName |
string |
اسم العرض لواجهة برمجة تطبيقات مخصصة. |
isFunction |
boolean |
true إذا كانت واجهة برمجة تطبيقات Dataverse المخصصة دالة (للقراءة فقط)؛ false إذا كان إجراء، بما في ذلك عندما لا يتم تسجيل هذه القيمة في وقت الربط. |
bindingType |
string |
نوع الربط: "Global" أو "Entity". |
boundEntityLogicalName |
string |
(اختياري) الجدول الذي يرتبط به الإجراء أو الدالة، عندما bindingType يكون ."Entity" |
parameters |
Object[] |
معلمات الإدخال المسجلة عند ربط واجهة برمجة تطبيقات Dataverse المخصصة بالصفحة، لكل منها و namedeclaredKind.
type دائما "unknown" ودائما optionalfalse - لا يعكس أي منهما بيانات التعريف الفعلية لواجهة برمجة تطبيقات Dataverse المخصصة. |
outputs |
Object[] |
دائما صفيف فارغ. لا يسجل اكتشاف الربط معلمات الإخراج. |
مثال لـ listBoundActions
const actions = await dataApi.listBoundActions?.();