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

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

ملاحظة

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

بناء الجملة

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

Parameters

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

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

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

كائن entityFormOptions

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

Name Type مطلوب الوصف
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 العلاقة لا تعريف كائن علاقة لعرض السجلات ذات الصلة في النموذج.
selectedStageId سلسلة لا معرف المرحلة المحددة في مثيل عملية الأعمال.
useQuickCreateForm مجموعة لا يشير إلى ما إذا كان يجب فتح نموذج إنشاء سريع أم لا. يجب تمكين خيار السماح بإنشاء سريع للجدول لعرض نموذج الإنشاء السريع ويجب أيضا إضافة الجدول ونموذج الإنشاء السريع إلى تطبيقك. إذا لم تحدد قيمة useQuickCreateForm، فسيتم تعيين القيمة الافتراضية إلى false.

كائن العلاقة

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

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

ملاحظات

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

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

الأمثلة

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

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

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

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);
    });

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

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

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);
    });

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

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

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);
    });

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

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

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