التمرين: استخدَام الصفحَات المخصصة مَع الأوامر
فِي هَذا التمرين، تضيف زر شريط الأوامر الذي سيعرض صفحة مخصصة فِي مربع حوار مشروط.
مهم
استخدم بيئة اختبار أو مطور مَع توفير Microsoft Dataverse وعينَات التَطبِيقَات الممكنة. إذا لم يكن لديك واحد، فيمكنك الاشترَاك فِي خطة المجتمع.
المهمة: إنشَاء الصفحة المخصصة
فِي هَذه المهمة، ستضيف صفحة مخصصة جديدة إلى تَطبِيق أدَاة جمع التبرعَات.
انتقل إلى https://make.powerapps.com وتأكد من تحديد بيئة الاختبار لديك.
حدّد التَطبِيقَات وحدّد تَطبِيق جمع التبرعَات ثم حدّد تحرير.
حدد + جَديد.
حدد صفحة العميل.
حدّد إنشَاء صفحة مخصصة، وأدخل What if للاسم، وحدّد إنشَاء.
حدّد علامة التبويب البيَانَات ثم حدّد إضَافة بيَانَات.
ابحث عن برنَامج جمع التبرعَات وحدّد جدول أدَاة جمع التبرعَات.
حدّد علامة التبويب طريقة عرض شجرة ثم حدّد الكَائن تَطبِيق.
حدّد OnStart من والصق المعَادلة أدنَاه فِي شريط المعَادلة. تنشئ هَذه المعَادلة متغيرَات:
يحتفظ المتغير record بالسجل الحَالي فِي النموذج.
يحتفظ متغير remainingAmount بالمبلغ المتبقي لهدف جمع التبرعَات.
يتتبع متغير numberOfPeople عدد الأشخَاص الذين سيتبرعون للوُصُول إلى هدف جمع التبرعَات. نقوم بتهيئة هَذا المتغير بـ 1.
يتتبع متغير averageDonation المبلغ الذي يتبرع به كل شخص للوُصُول إلى هدف جمع التبرعَات. قمنَا بتهيئة هَذا المتغير بالمبلغ المتبقي.
Set(record,LookUp(Fundraisers,Fundraiser=GUID(Substitute(Substitute(Param("recordId"),"{",""),"}",""))));Set(remainingAmount,record.'Fundraiser Goal'-record.'Total Donations');Set(numberOfPeople,1);Set(averageDonation,remainingAmount)حدّد Screen1 ثم حدّد + إدرَاج.
قم بتوسيع مجموعة التخطيط وحدّد الحَاوية العمودية.
حدّد الحَاوية.
انتقل إلى شريط المعَادلة وقم بتغيير قيمة عرض الحَاوية إلى 1280.
قم بتغيير قيمة ارتفاع الحَاوية إلى 680.
يجب أن تبدو الحَاوية الآن مثل الصورة أدنَاه.
حدّد الحَاوية وحدّد الزر + إدرَاج.
حدّد التسمية من مجموعة شَائعة.
أدخل عدد الأشخَاص للنص.
حدّد الحَاوية وحدّد الزر + إدرَاج.
حدّد مربع النص من مجموعة شَائعة.
إعَادة تسمية المربع النصّي عدد الأشخَاص.
قم بتعيين قيمة المربع النصي لعدد الأشخَاص إلى numberOfPeople.
حدّد الحَاوية وحدّد الزر + إدرَاج.
ابَحث عَن/تَحدِيد تَسميّة.
أدخل المبلغ لكل شخص للنص.
حدّد الحَاوية وحدّد الزر + إدرَاج.
البَحث عَن/تَحديد مُربع النص.
أعد تسمية المربع النصي المبلغ لكل شخص.
قم بتعيين قيمة المربع النصي لمبلغ الشخص إلى averageDonation.
قم بتعيين قيمة OnChange للمربع النصي لمبلغ كل شخص إلى المعَادلة أدنَاه. ستحدّد هَذه المعَادلة عدد الأشخَاص بنَاءً عَلى متوسط تبرع معين.
If(Value('Amount per person'.Value) > 0, Set(numberOfPeople, remainingAmount /'Amount per person'.Value), Set(numberOfPeople, 1))حدّد المربع النصي عدد الأشخَاص.
قم بتعيين قيمة OnChange للمربع النصي لعدد الأشخَاص إلى المعَادلة أدنَاه. تحدّد هَذه المعَادلة متوسط التبرع بنَاءً عَلى عدد معين من الأشخَاص.
If(Value('Number of people'.Value) > 0, Set(averageDonation, remainingAmount / 'Number of people'.Value), Set(numberOfPeople, 1);Set(averageDonation, remainingAmount))حدّد حفظ، ثم انتظر ليتم حفظ الصفحة.
حدد توزيع.
حدد نشر هَذا الإصدَار.
عندمَا يظهرُ مربّع حوار تمّ حِفظ الصَفحة بنجَاح، حدّد رفض.
أغلق نَافذة أو علامة تبويب متصفح محرر الصفحة المخصصة.
يجب أن تعود الآن إلى محرر التَطبِيق الذي يستند إلى النموذج. حدّد موافق.
حدّد حفظ، ثم انتظر ليتم حفظ التَطبِيق.
حدّد نشر وانتظر حتى يتم نشر التَطبِيق.
ابدأ جلسة متصفح جديدة، وانتقل إلى https://make.powerapps.com وتأكد مِن تحديد بيئة الاختبار الخَاصة بك.
حدّد الحلول وافتح الحل الافترَاضي.
حدّد الصفحَات، وحدّد موقع صفحة What if التي قمت بإنشَائهَا وانسخ الاسم. احتفظ بهَذا الاسم عَلى مفكرة، فستحتَاجه فِي خطوة مستقبلية.
بَعد نسخ الاسم، يمكنك إغلاق جلسة المتصفح هَذه.
المهمة: إضَافة زر الأمر
فِي هَذه المهمة، ستضيف زر أمر جديدًا إلى النموذج الرئيسي لجدول جمع التبرعَات.
افتح محرر النص والصق JavaScript أدنَاه. يفتح JavaScript هَذا مربع حوار مركزي.
function calculate(itemId) { // Centered Dialog var pageInput = { pageType: "custom", name: "[YOUR CUSTOM PAGE NAME]", recordId: itemId }; var navigationOptions = { target: 2, position: 1, width: {value: 50, unit:"%"}, title: "What if" }; Xrm.Navigation.navigateTo(pageInput, navigationOptions) .then( function () { // Called when the dialog closes } ).catch( function (error) { // Handle error } ); }استبدل [YOUR CUSTOM PAGE NAME] باسم صفحتك المخصصة التي نسختهَا فِي المهمة 1.
احفظ الملف محليًا عَلى جهَاز الكمبيوتر الخَاص بك وقم بتسميته WhatIf.js. تأكد من أن امتدَاد الملف هو .js.
ارجع إلى مصمم التَطبِيق الذي يستند إلى النموذج.
حدّد الزر ... من جمع التبرعَات وحدّد تحرير شريط الأوامر.
حدّد النموذج الرئيسي، ثم حدّد تحرير.
حدّد + جديد ثم حدّد الأمر.
حدّد Power Fx ثم حدّد متَابعة.
أدخل What if لـ "التسمية"، حدّد استخدَام الأيقونة، وحدّد إعَادة حسَاب، وحدّد تشغيل JavaScript للإجرَاء.
حدّد + إضَافة مكتبة.
حدّد + مورد ويب جديد.
حدّد اختيَار ملف.
حدّد ملف WhatIf.js الذي قمت بإنشَائه وحدّد فتح.
أدخل What If JS لاسم العرض، وأدخل WhatIfJS للاسم، وحدّد JavaScript (JS) للنوع، ثم حدّد حفظ ونشر.
ابحث عن what if، حدّد مورد الويب What If JS الذي أضفته للتو، ثم حدّد إضَافة.
أدخل حسَابًا لاسم الوظيفة وحدّد + إضَافة معلمة.
حدّد FirstPrimaryItemId للمعلمة 1.
حدّد حفظ ونشر وانتظر حتى اكتمَال النشر.
حدّد تشغيل.
حدّد جمع الأموال وافتح أحد سجلات جمع الأموال.
يجب أن ترى زر شريط الأمر What If الذي أضفته. حدّد زر شريط الأمر What if.
يفترض أن يتم عرض مربع الحوار what if.
قم بتغيير قيمة عدد الأشخَاص إلى 5. يجب أن يتم تحديث المبلغ لكل شخص إلى المبلغ الذي يحتَاج كل شخص إلى التبرع به للوُصُول إلى هدف جمع التبرعَات.
قم بتغيير قيمة المبلغ لكل شخص وانظر كيف يحسب هَذا عدد الأشخَاص.
تهَانينَا، لقد قمت أنشأت صفحة مخصصة وفَتحتهَا كمربع حوار باستخدَام زر شريط الأوامر. لنُجرِ مرَاجعة سريعة لمَا تعلمنَاه فِي هَذه الوحدة النمَطية.