تتوفر حقول تمكين الحدث OnChange في إطار "تحرير سجلات متعددة" في Microsoft Dynamics CRM 4.0

ينطبق على: Dynamics CRM 4.0

الأعراض


عندما تقوم بتحرير سجلات متعددة في إطار "تحرير سجلات متعددة" في Microsoft Dynamics CRM 4.0، تتوفر الحقول التي تحتوي على الحدث OnChange تمكين. أيضا، يتم تعطيل أي OnSave أو الأحداث OnLoad مخصص للنموذج.

السبب


تحدث هذه المشكلة نظراً لتعطيل Microsoft Dynamics CRM 4.0 الحقول التي تحتوي على الحدث OnChange ممكنة في إطار "تحرير سجلات متعددة". Microsoft Dynamics CRM 4.0 بتعطيل هذه الحقول للحيلولة دون تسبب أخطاء حدث OnChange .

الحل البديل


لحل هذه المشكلة، تمكين الحقول التي تحتوي على الحدث OnChange تمكين يدوياً. على سبيل المثال، لتمكين الحقل بارينتاككونتيد يدوياً، اتبع الخطوات التالية:
  1. تصدير التخصيصات للحساب. للقيام بذلك، اتبع الخطوات التالية:
    1. في Microsoft Dynamics CRM 4.0، انقر فوق إعداداتوانقر فوق تخصيص، ومن ثم انقر فوق تصدير التخصيصات.
    2. انقر فوق الحسابوانقر فوق إجراءات إضافيةثم انقر فوق تصدير التخصيصات المحددة على شريط الأدوات.
    3. انقر فوق "موافق"ثم قم بحفظ الملف الذي تم تصديره كملف AccountCustom.xml.
  2. في المفكرة، افتح الملف AccountCustom.xml، وثم حدد المقطع التالي:
    تسمية وصف = "حساب الأصل"
  3. في هذا المقطع من الملف AccountCustom.xml، حدد موقع السطر التالي من التعليمات البرمجية.
    <event name="setadditionalparams" application="true" active="true">
  4. تغيير خط التعليمات البرمجية الموجودة كما يلي.
    <event name="setadditionalparams" application="true" active="true" BehaviorInBulkEditForm="EnabledButNoRender">
  5. وبعد ذلك، حدد موقع السطر التالي من التعليمات البرمجية.
    <event name="onchange" application="false" active="true">
  6. تغيير خط التعليمات البرمجية الموجودة كما يلي.
    <event name="onchange" application="false" active="true" BehaviorInBulkEditForm="EnableButNoRender">
  7. حفظ الملف AccountCustom.xml الذي تم تغييره.
  8. قم باستيراد الملف AccountCustom.xml الذي تم تغييره. للقيام بذلك، اتبع الخطوات التالية:
    1. انقر فوق إعداداتوانقر فوق تخصيصثم انقر فوق استيراد.
    2. انقر فوق الملف AccountCustom.xml الذي تم تغييره ومن ثم انقر فوق إيداع.
    3. انقر فوق الحسابوانقر فوق إجراءات إضافيةثم انقر فوق استيراد التخصيصات المحددة.
  9. نشر التخصيصات. للقيام بذلك، اتبع الخطوات التالية:
    1. انقر فوق إعداداتوانقر فوق تخصيصثم انقر فوق تخصيص الكيانات.
    2. انقر فوق حسابومن ثم انقر فوق " نشر " على شريط الأدوات.
  10. فتح مجمعة تحرير النموذج للعميل 1 وللعميل 2.
  11. انقر فوق الزر "بحث" الحساب الأصلي .

    قد تظهر الأحداث التالية.
    <events><event name="setadditionalparams" application="true" active="true" BehaviorInBulkEditForm="EnabledButNoRender">
    <script><![CDATA[
    var oLookup = event.srcElement;
    var sAccountId = crmFormSubmit.crmFormSubmitId.value;
    if (sAccountId != "") /* parent account is being updated, filter out this account */
    {
    oLookup.lookupclass="ParentLookup";
    oLookup.AddParam("currentaccount", sAccountId);
    }
    ]]></script>
    </event>
    </events>

اتبع هذه الخطوات للحقل ParentCustomerID على الوحدة جهة اتصال أو لأي حقل يحتوي على الأحداث. القيم الصالحة لهذه المجالات ما يلي:
  • تمكين
    إذا كنت تستخدم هذه القيمة، يتم تمكين الحقل. بالإضافة إلى ذلك، يتم تشغيل التعليمات البرمجية للحدث عندما يتم استدعاء الحدث.
  • معطل
    إذا كنت تستخدم هذه القيمة، يتم تعطيل الحقل.
  • انابليدبوتنوريندير
    إذا كنت تستخدم هذه القيمة، يتم تمكين الحقل. ومع ذلك، لا يتم تشغيل التعليمة البرمجية للحدث عندما يتم استدعاء الحدث.

مزيد من المعلومات


بارينتاككونت الحقل والحقل ParentCustomerID ، منع الأحداث التي يتم تشغيل نموذج البحث من عرض الحساب المحدد. حتى إذا تم تعيين المعلمة إلى القيمة ممكن ، عدم تصفية الحقول الحسابات مهمل المحددة. ومع ذلك، إذا حاولت تعيين الحساب الأصلي الخاص بالحسابات مهمل المحددة لنفسه، تتلقى رسالة خطأ غامضا عندما تقوم بتعيين الحساب الأصلي. ولذلك، لا يمكن أن يكون المرجع الدائري من حساب الحساب الأصلي الخاص به.

تتوفر هذه الوظيفة فقط للأحداث OnChange.  لا يؤدي إلى أحداث onLoad وحفظ وذلك تعمل كما تم تصميمها.