مشاركة عبر


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

يفتح نموذج كيان أو نموذج إنشاء سريع.

Note

لفتح نموذج رئيسي كمربع حوار، استخدم الأسلوب navigateTo بدلا من ذلك. مزيد من المعلومات: افتح النموذج الرئيسي في مربع حوار باستخدام واجهة برمجة تطبيقات العميل

بناء الجملة

Xrm.Navigation.openForm(entityFormOptions, formParameters).then(successCallback, errorCallback);

المعلمات

Name نوع المطلوب ‏‏الوصف
entityFormOptions Object ‏‏نعم‬ خيارات النموذج لفتح النموذج. راجع عنصر entityFormOptions
formParameters Object لا كائن قاموس يمرر معلمات إضافية إلى النموذج. ستؤدي المعلمات غير الصالحة إلى حدوث خطأ.

للحصول على معلومات حول تمرير المعلمات إلى نموذج، راجع تعيين قيم الأعمدة باستخدام المعلمات التي تم تمريرها إلى نموذجوتكوين نموذج لقبول معلمات سلسلة الاستعلام المخصصة.
successCallback الدالة لا دالة لتنفيذها عند حفظ السجل في نموذج الإنشاء السريع. يتم تمرير هذه الدالة كعنصر كمعلمة. يحتوي الكائن على savedEntityReference صفيف يحتوي على الخصائص التالية لتحديد السجل (السجلات) المعروضة أو التي تم إنشاؤها:
- entityType: الاسم المنطقي للجدول.
- id: تمثيل سلسلة لقيمة GUID للسجل.
- name: قيمة العمود الأساسي للسجل المعروض أو الذي تم إنشاؤه.

ملاحظة:
successCallback- لا يتم تنفيذ الدالة عند فتح نموذج لسجل موجود أو جديد.
successCallback- يتم تنفيذ الدالة فقط عند حفظ سجل في نموذج إنشاء سريع تم فتحه باستخدام أسلوب openForm.
errorCallback الدالة لا وظيفة للتنفيذ عند فشل العملية.

كائن entityFormOptions

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

Name نوع المطلوب ‏‏الوصف
entityName سلسلة ‏‏نعم‬ الاسم المنطقي للجدول لعرض النموذج له.
entityId سلسلة لا معرف سجل الجدول لعرض النموذج له.
formId سلسلة لا معرف مثيل النموذج الذي سيتم عرضه.
cmdbar قيمة منطقية لا يشير إلى ما إذا كان سيتم عرض شريط الأوامر. إذا لم تقم بتحديد هذه المعلمة، عرض شريط الأوامر بشكل افتراضي. يتطلب تمرير المعلمة openInNewWindow على أنها true.
createFromEntity بحث لا تعيين سجل يوفر قيما افتراضية استنادا إلى قيم الأعمدة المعينة. يحتوي كائن البحث على خصائص السلسلة التالية: entityTypeو idو name (اختياري).
openInNewWindow قيمة منطقية لا يشير إلى ما إذا كنت تريد عرض نموذج في نافذة جديدة أو علامة تبويب جديدة. إذا قمت بتحديد true قيم للارتفاع أو العرض ولم تحددها، عرض النموذج في علامة تبويب جديدة. يؤدي فتح نموذج في نافذة جديدة أو علامة تبويب جديدة إلى جعل عرض النموذج بطيئا مقارنة بفتح النموذج على علامة التبويب نفسها؛ ضع في اعتبارك فتح نموذج في مربع حوار النموذج الرئيسي بدلا من ذلك. هذه الخاصية غير معتمدة حاليا لنماذج الإنشاء السريع، حيث لا يمكن فتحها في نافذة أو علامة تبويب جديدة.
height الرقم لا ارتفاع نافذة النموذج المراد عرضها بالبكسل. يتطلب تمرير المعلمة openInNewWindow على أنها true.
width الرقم لا عرض نافذة النموذج المراد عرضها بالبكسل. يتطلب تمرير المعلمة openInNewWindow على أنها true.
navbar سلسلة لا يتحكم في ما إذا كان شريط التنقل معروضا وما إذا كان التنقل في التطبيق متاحا باستخدام المناطق والمناطق الفرعية المحددة في مخطط الموقع. القيم الصالحة هي: onأو offأو .entity يتطلب تمرير معلمة openInNewWindow على أنها true.
- on: يتم عرض شريط التنقل. هذا هو السلوك الافتراضي إذا لم يتم استخدام معلمة شريط التنقل.
- off: شريط التنقل غير معروض. يمكن للأشخاص التنقل باستخدام عناصر واجهة المستخدم الأخرى أو زري الخلف والأمام.
- entity: في نموذج، تتوفر خيارات التنقل للجداول ذات الصلة فقط. بعد الانتقال إلى جدول ذي صلة، يتم عرض زر رجوع في شريط التنقل للسماح بالعودة إلى السجل الأصلي.
relationship Object لا تعريف كائن علاقة لعرض السجلات ذات الصلة في النموذج. راجع كائن العلاقة
selectedStageId سلسلة لا معرف المرحلة المحددة في مثيل عملية الأعمال.
useQuickCreateForm قيمة منطقية لا يشير إلى ما إذا كان يجب فتح نموذج إنشاء سريع أم لا. يجب تمكين خيار السماح بإنشاء سريع للجدول لعرض نموذج الإنشاء السريع ويجب أيضا إضافة الجدول ونموذج الإنشاء السريع إلى تطبيقك. إذا لم تحدد قيمة useQuickCreateForm، تعيين القيمة الافتراضية إلى false.

كائن العلاقة

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

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

الملاحظات

يجب استخدام هذا الأسلوب لفتح جدول أو إنشاء نماذج سريعة بدلا من أساليب Xrm.Utility.openEntityFormوXrm.Utility.openQuickCreate المهملة .

استخدم setActiveProcess لعرض عملية عمل معينة وتعيينActiveProcessInstance لعرض مثيل عملية عمل معين على النموذج.

Examples

مثال 1: فتح نموذج لسجل موجود

يفتح نموذج التعليمات البرمجية التالي نموذج جهة اتصال لعرض سجل جهة اتصال موجود:

var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
entityFormOptions["entityId"] = "00aa00aa-bb11-cc22-dd33-44ee44ee44ee";

// Open the form.
Xrm.Navigation.openForm(entityFormOptions).then(
    function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    });

مثال 2: فتح نموذج لسجل جديد

يفتح نموذج التعليمات البرمجية التالي نموذج جهة اتصال مع بعض القيم التي تم ملؤها مسبقا لإنشاء سجل جديد:

var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";

// Set default values for the Contact form
var formParameters = {};
formParameters["firstname"] = "Sample";
formParameters["lastname"] = "Contact";
formParameters["fullname"] = "Sample Contact";
formParameters["emailaddress1"] = "contact@adventure-works.com";
formParameters["jobtitle"] = "Sr. Marketing Manager";
formParameters["donotemail"] = "1";
formParameters["description"] = "Default values for this record were set programmatically.";

// Set lookup column
formParameters["preferredsystemuserid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["preferredsystemuseridname"] = "Admin user"; // Name of the user.
// End of set lookup column

// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
    function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    });

مثال 3: فتح نموذج لسجل جديد (بحث معقد)

يفتح نموذج التعليمات البرمجية التالي نموذج نشاط مع بعض القيم التي تم ملؤها مسبقا (بما في ذلك بحث معقد) لإنشاء سجل جديد:

var entityFormOptions = {};
entityFormOptions["entityName"] = "email";

// Set default values for the Contact form
var formParameters = {};
formParameters["subject"] = "Sample";
formParameters["description"] = "Default values for this record were set programmatically.";

// Set lookup column
formParameters["regardingobjectid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["regardingobjectidname"] = "Admin user"; // Name of the user.
formParameters["regardingobjectidtype"] = "systemuser"; // Table name. 
// End of set lookup column

// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
    function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    });

مثال 4: فتح نموذج إنشاء سريع

يفتح نموذج التعليمات البرمجية التالي نموذج اتصال إنشاء سريع مع بعض القيم التي تم ملؤها مسبقا:

var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
entityFormOptions["useQuickCreateForm"] = true;

// Set default values for the Contact form
var formParameters = {};
formParameters["firstname"] = "Sample";
formParameters["lastname"] = "Contact";
formParameters["fullname"] = "Sample Contact";
formParameters["emailaddress1"] = "contact@adventure-works.com";
formParameters["jobtitle"] = "Sr. Marketing Manager";
formParameters["donotemail"] = "1";
formParameters["description"] = "Default values for this record were set programmatically.";

// Set lookup column
formParameters["preferredsystemuserid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["preferredsystemuseridname"] = "Admin user"; // Name of the user.
formParameters["preferredsystemuseridtype"] = "systemuser"; // Table name.
// End of set lookup column

// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
    function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    });

Xrm.Navigation