مقدمة إلى البرمجة النصية مِن جَانب العميل
تتيح لك البرمجة النصية للعميل استخدَام JavaScript فِي Power Apps التطبيقَات التي تستند إلى النموذج لتنفيذ منطق الأعمَال المخصص. تكون البرمجة النصية للعميل بديلاً عندمَا لا تفِي قواعد العمل التعريفية بالمتطلبات. يتم تشغيل البرمجة النصية للعميل عَلى نموذج يستند إلى نموذج استجَابة لأحدَاث النموذج. فيمَا يلي الأحدَاث الأكثر شيوعًا التي يمكنك استخدَام معالجات الأحدَاث لهَا:
تحميل النموذج
تم تغيير البيَانَات الموجودة فِي عمود
تم حفظ النموذج
بالإضَافَة إلى ذلك، يمكنك تكوين زر شريط الأوامر لاستدعَاء وظيفة البرنَامج النصي للعميل عِندَ الضغط عليه.
تتضمن بعض المهَام الشَائعة التي يمكنك إنجَازهَا باستخدَام البرمجة النصية للعميل مَا يلي:
الحصول عَلى قيم الأعمدة أو تعيينهَا فِي النموذج.
إظهَار وإخفاء عنَاصر واجهة المُستَخدِم.
مرجع عنَاصر تحكم متعددة لكل عمود.
التبديل بين النمَاذج حيث تتوفر نمَاذج متعددة لأحد الجدَاول.
فتح النمَاذج وطرق العرض ومربعَات الحوار والتقَارير.
التفاعل مع التحكم فِي سير إجرَاءَات العمل.
باستخدَام واجهة برمجة تطبيقَات البرمجة النصية للعميل، يمكنك تنفيذ تفاعلك مع البيَانَات، أو تغييرَات محتوى النموذج، أو تعديلات سلوك التطبيق. أثنَاء كتَابة المنطق الخَاص بك فِي JavaScript، مِن المهم ملاحظة أنه عَلى الرغم مِن أن النموذج يستخدم HTML القيَاسي، إلا أن المعَالجة المباشرة لمحتوى النموذج غير مدعومة. توفر البرمجة النصية للعميل نموذج كائن مع طرق للتفاعل مع مكونَات النموذج المختلفة. يضمن هَذا الأسلوب أن أي تغييرَات فِي التخطيط أو HTML محدد مستخدم فِي عرض النموذج لا تؤثر عَلى منطق عملك. من المهم بنفس القدر استخدَام الكائنَات والوظَائف الموثقة فقط، وليس أيًا منهَا قد تكتشفه، حيث يمكن أن تتغير أو لا تكون متَاحة فِي أي وقت. لمزيد مِن المَعلومَات حول التخصيصَات المدعومة وغير المدعومة، رَاجع Microsoft Dataverse ممَارسَات إنشَاء التطبيقَات - Power Apps فِي Dataverse دليل المطور.
هَذا هو الهيكل عَالي المستوى لنموذج كائن API للبرمجة النصية للعميل ومسَاحَات الأسمَاء:
تطبيق - تمكين إضَافَة معَالجَات الأحدَاث لأي إخطَارَات عَلى مستوى التطبيق.
الجهَاز - يسمح، بموافقة، الوصول إلى محتوى الجهَاز مثل الصور والفيديو والصوت والموقع والمزيد.
الترميز - الوصول السريع إلى وظَائف ترميز/فك ترميز HTML.
التنقل - يوفر وظَائف تنقل مستقلة عن النظَام الأسَاسي بمَا فِي ذلك الحوارَات والنمَاذج والملفات وعنَاوين URL المفتوحة.
اللوحة - تعرض صفحة الويب التي يمثلهَا عنوان URL فِي المنطقة الثَابتة فِي الجزء الجَانبي، والتي تظهر فِي جَمِيع الصفحَات فِي عميل الويب للتطبيقَات المستندة إلى نموذج.
الأدَاة المسَاعدة - مجموعة وظَائف الأدَاة بمَا فِي ذلك الوصول إلى بيَانَات التعريف والعديد مِن كائنَات السيَاق.
واجهة API للويب - يوفر خصَائص ووظَائف لاستخدَام Web API لإنشَاء السجلات وإدَارتهَا وتنفيذ إجرَاءَات ووظَائف واجهة API للويب.
مفهوم رئيسي آخر رفيع المستوى هو أن كائنَات السيَاق إمَا متَاحة كمَعلمَات لمعَالجة الأحدَاث أو يتم استردَادهَا باستخدَام طرق خَاصة. تسَاعد كائنَات السيَاق هذه فِي تجنب كتَابة التعليمَات البرمجية التي تربطهَا بتخطيط تحكم نموذج معين أو عنصر تحكم محدد. فيمَا يلي السيَاقَات التي تعمل بهَا:
التنفيذ - يحدد سيَاق الحدث الذي يتم تنفيذ التعليمَات البرمجية فيه. يتم تمرير سيَاق التنفيذ عِندَ وقوع حدث فِي نموذج أو شبكة، والتي يمكنك استخدَامهَا فِي معَالج الأحدَاث لأدَاء مهَام مختلفة مثل تحديد formContext أو gridContext أو إدَارة حدث الحفظ.
النموذج - يوفر مرجعًا للنموذج أو إلى صنف فِي النموذج، مثل عنصر تحكم طريقة العرض السريعة أو صف فِي شبكة قَابلة للتحرير، مقَابل تنفيذ التعليمَات البرمجية الحَالية. يتم استردَاد سيَاق النموذج باستخدَام طريقة getFormContext() لسيَاق التنفيذ أو يتم تضمينه كوسيطة عِندَ تنفيذ التعليمَات البرمجية مِن إجرَاء الشريط. يحتوي سيَاق النموذج عَلى مسَاحَات الأسمَاء الرئيسية التَالية بدَاخله:
data - توفرُ مِسَاحَة الاسمِ هَذه الوُصُول إلى البيَانَات لصَفِّ الجَدولِ المَعرُوض فِي نَموذجٍ، بمَا فِي ذلك دوال مِثل الحفظ والتَحدِيث. مِثَال عَلى استِخدَام هَذَا الأسلوب هُو: formContext.data.entity.save("saveandnew");
ui - تسمح لك مسَاحة الاسم هذه بمعَالجة عنَاصر التحكم فِي النموذج مثل علامَات التبويب والأقسَام وعنَاصر التحكم. تشمل المهَام الشَائعة إخفاء وإظهَار وعمل الحقول المطلوبة أو غير المطلوبة. مِثَال عَلى استِخدَام هَذَا الأسلوب هُو: formContext.ui.refreshRibbon(true);
الشَبكة - توفرُ مَعلومَات السِيَاق لمُعَالجَات الأحدَاث المُسجلة فِي الشَبكات الفَرعِية فِي نَموذجٍ.
كمَا يمكنك أن ترى مِن هذه الأوصَاف عَالية المستوى، فإن استخدَام واجهة برمجة تطبيقَات البرمجة النصية للعميل يمنحك مرونة كبيرة لتنفيذ المنطق مِن جَانب العميل. من المهم أن تتذكر أن المنطق الذي يتم تنفيذه باستخدَام البرمجة النصية مِن جَانب العميل يفرض المنطق الخَاص بك فقط عندمَا يستخدم المُستَخدِم التطبيق. فِي كثير مِن الحَالات، يجب أن يتم إقرَان البرمجة النصية للعميل مع التنفيذ مِن جَانب الخَادم لضمَان تشغيل المنطق دَائمًا بغض النظر عن الطريقة المُستَخدِمة للوصول إلى البيَانَات والوظَائف. تتعمق بقية هذه الوحدة فِي كيفية استخدَام البرمجة النصية للعميل.