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 لعرض مثيل عملية عمل معين على النموذج.

الأمثلة

مثال 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