مشاركة عبر


navigateTo (مرجع واجهة برمجة تطبيقات العميل)

الانتقال إلى قائمة الجدول المحددة أو سجل الجدول أو مورد ويب HTML أو الصفحة المخصصة.

إشعار

يتم اعتماد هذا الأسلوب فقط على الواجهة الموحدة.

بناء الجملة

Xrm.Navigation.navigateTo(pageInput,navigationOptions).then(successCallback,errorCallback);

المعلمات

Name نوع مطلوبة ‏‏الوصف
pageInput Object نعم إدخال حول الصفحة للانتقال إليها. راجع معلمة pageInput
خيارات التنقل Object لا. خيارات للانتقال إلى صفحة: ما إذا كنت تريد فتح مضمن أو في مربع حوار. إذا لم تحدد هذه المعلمة، يتم فتح الصفحة مضمنة بشكل افتراضي.
successCallback دالة لا. دالة لتنفيذها عند التنقل الناجح إلى الصفحة عند التنقل المضمن وعند إغلاق مربع الحوار عند الانتقال إلى مربع حوار.
errorCallback الوظيفة لا. وظيفة للتنفيذ عند فشل العملية.

معلمة pageInput

يتغير تعريف العنصر استنادا إلى نوع الصفحة للانتقال إليها: قائمة الكيانات أو سجل الكيان أو لوحة المعلومات أو مورد ويب HTML أو الصفحة المخصصة.

قائمة الكيانات

يحتوي كائن قائمة الكيانات على القيم التالية.

Name نوع ‏‏الوصف
pageType سلسلة حدد entitylist.
entityName سلسلة الاسم المنطقي للجدول المراد تحميله في عنصر تحكم القائمة.
viewId سلسلة (اختياري) معرف طريقة العرض المراد تحميلها. إذا لم تحدده، فسينتقل إلى طريقة العرض الرئيسية الافتراضية للجدول.
viewType سلسلة (اختياري) نوع العرض المراد تحميله. حدد savedquery أو userquery.

سجل الكيان

يحتوي كائن سجل الكيان على القيم التالية.

Name نوع ‏‏الوصف
pageType سلسلة حدد entityrecord.
entityName سلسلة الاسم المنطقي للجدول لعرض النموذج له.
entityId سلسلة (اختياري) معرف سجل الجدول لعرض النموذج له. إذا لم تحدد هذه القيمة، فتح النموذج في وضع الإنشاء.
createFromEntity بحث (اختياري) تعيين سجل يوفر قيما افتراضية استنادا إلى قيم الأعمدة المعينة. يحتوي كائن البحث على خصائص السلسلة التالية: نوع الكيان والمعرف والاسم (اختياري).
data Object (اختياري) كائن قاموس يمرر معلمات إضافية إلى النموذج.

يمكن أن تكون المعلمات أعمدة جدول ذات قيم افتراضية تم تعيينها على نماذج جديدة (راجع تعيين قيم الأعمدة باستخدام المعلمات التي تم تمريرها إلى نموذج)، أو المعلمات المخصصة التي يتم الوصول إليها في النموذج باستخدام formContext.data.attributes (راجع تكوين نموذج لقبول معلمات سلسلة الاستعلام المخصصة، و formContext.data). ستؤدي المعلمات غير الصالحة إلى حدوث خطأ.

formId سلسلة (اختياري) معرف مثيل النموذج الذي سيتم عرضه.
isCrossEntityNavigate قيمة منطقية (اختياري) يشير إلى ما إذا كان النموذج يتم التنقل إليه من جدول مختلف باستخدام تدفق عملية الأعمال عبر الجداول.
isOfflineSyncError قيمة منطقية (اختياري) يشير إلى ما إذا كان هناك أي أخطاء مزامنة غير متصلة.
processId سلسلة (اختياري) معرف عملية العمل التي سيتم عرضها في النموذج.
processInstanceId سلسلة (اختياري) معرف مثيل عملية العمل الذي سيتم عرضه على النموذج.
relationship Object (اختياري) تعريف كائن علاقة لعرض السجلات ذات الصلة في النموذج. راجع العلاقة.
selectedStageId سلسلة (اختياري) معرف المرحلة المحددة في مثيل عملية الأعمال.
tabName سلسلة (اختياري) تعيين التركيز على علامة تبويب النموذج.
كائن العلاقة

يحتوي كائن العلاقة، المستخدم في سجل الكيان، على القيم التالية.

Name نوع ‏‏الوصف
attributeName سلسلة اسم العمود المستخدم للعلاقة.
name سلسلة اسم العلاقة.
navigationPropertyName سلسلة اسم خاصية التنقل لهذه العلاقة.
relationshipType الرقم‬ نوع العلاقة. حدد إحدى القيم التالية: 0:OneToMany، 1:ManyToMany.
roleType الرقم‬ نوع الدور في العلاقة. حدد إحدى القيم التالية: 1:مرجع، 2:AssociationEntity.

لوحة المعلومات

يحتوي كائن لوحة المعلومات على القيم التالية.

Name نوع ‏‏الوصف
pageType سلسلة حدد dashboard.
dashboardId سلسلة معرف لوحة المعلومات المراد تحميلها. إذا لم تحدد المعرف، فانتقل إلى لوحة المعلومات الافتراضية.

مورد ويب HTML

يحتوي كائن مورد ويب HTML على القيم التالية.

Name نوع ‏‏الوصف
pageType سلسلة حدد webresource.
webresourceName سلسلة اسم مورد الويب المراد تحميله.
data سلسلة (اختياري) البيانات المراد تمريرها إلى مورد الويب.

صفحة مخصصة

يحتوي كائن الصفحة المخصصة على القيم التالية.

Name نوع ‏‏الوصف
pageType سلسلة حدد custom.
name سلسلة الاسم المنطقي للصفحة المخصصة المراد فتحها.
entityName سلسلة (اختياري) الاسم المنطقي للجدول الذي سيتم توفيره في الصفحة المخصصة عبر Param("entityName").
recordId سلسلة (اختياري) معرف سجل الجدول الذي سيتم توفيره في الصفحة المخصصة عبر Param("recordId").

يحتوي كائن navigationOptions على القيم التالية.

Name نوع ‏‏الوصف
target الرقم‬ حدد 1 لفتح الصفحة المضمنة؛ 2 لفتح الصفحة في مربع حوار.
أيضا، بقية القيم (العرض والارتفاع والموضع) صالحة فقط إذا قمت بتحديد 2 في هذه القيمة (فتح صفحة في مربع حوار).
ملاحظة: لا يمكن فتح قوائم الكيانات إلا مضمنة؛ يمكن فتح سجلات الكيان وموارد الويب إما مضمنة أو في مربع حوار.
width رقم أو كائن (اختياري) عرض مربع الحوار. لتحديد العرض بالبكسل، ما عليك سوى كتابة قيمة رقمية. لتحديد العرض في النسبة المئوية، حدد كائنا من النوع SizeValue بالخصائص التالية:
- value: القيمة الرقمية من النوع رقم.
- unit: وحدة القياس من النوع String. حدد % أو px. القيمة الافتراضية هي px.
height رقم أو كائن (اختياري) ارتفاع مربع الحوار. لتحديد الارتفاع بالبكسل، ما عليك سوى كتابة قيمة رقمية. لتحديد العرض في النسبة المئوية، حدد كائنا من النوع SizeValue بالخصائص التالية:
- القيمة: القيمة الرقمية من النوع رقم.
- الوحدة: وحدة القياس من النوع String. حدد % أو px. القيمة الافتراضية هي px.
position الرقم‬ (اختياري) حدد 1 لفتح مربع الحوار في الوسط؛ 2 لفتح مربع الحوار على الجانب البعيد. الافتراضي هو 1 (وسط).
title سلسلة (اختياري) عنوان مربع الحوار أعلى مربع الحوار الأوسط أو الجانبي.

قيمة الإرجاع

إرجاع وعد. تعتمد القيمة التي تم تمريرها عند حل الوعد على الهدف:

  • مضمن: يتم حل الوعد على الفور، ولا يرجع أي قيمة.

  • مربع الحوار: يتم حل الوعد عند إغلاق مربع الحوار. يتم تمرير كائن فقط إذا pageType = entityRecord قمت بفتح النموذج في وضع الإنشاء. يحتوي الكائن على savedEntityReference صفيف يحتوي على الخصائص التالية لتحديد سجل الجدول الذي تم إنشاؤه:

    • entityType: الاسم المنطقي للجدول.
    • المعرف: تمثيل سلسلة لقيمة GUID للسجل.
    • الاسم: قيمة العمود الأساسي للسجل المعروضة أو التي تم إنشاؤها.

مثال

مثال 1: فتح قائمة الحسابات

var pageInput = {
    pageType: "entitylist",
    entityName: "account"
};
Xrm.Navigation.navigateTo(pageInput).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

مثال 2: فتح سجل حساب موجود داخل مربع حوار

var pageInput = {
    pageType: "entityrecord",
    entityName: "account",
    entityId: "00aa00aa-bb11-cc22-dd33-44ee44ee44ee" //replace with actual ID
};
var navigationOptions = {
    target: 2,
    height: {value: 80, unit:"%"},
    width: {value: 70, unit:"%"},
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

مثال 3: فتح نموذج حساب في وضع الإنشاء داخل مربع حوار

var pageInput = {
    pageType: "entityrecord",
    entityName: "account"    
};
var navigationOptions = {
    target: 2,
    height: {value: 80, unit:"%"},
    width: {value: 70, unit:"%"},
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success(result) {
            console.log("Record created with ID: " + result.savedEntityReference[0].id + 
            " Name: " + result.savedEntityReference[0].name)
            // Handle dialog closed
    },
    function error() {
            // Handle errors
    }
);

مثال 4: فتح مورد ويب HTML في مربع حوار

var pageInput = {
    pageType: "webresource",
    webresourceName: "new_sample_webresource.htm"
};
var navigationOptions = {
    target: 2,
    width: 500, // value specified in pixel
    height: 400, // value specified in pixel
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

Xrm.Navigation
الانتقال من وإلى صفحة مخصصة (معاينة)