المتغيرات العمومية

مكتمل

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

تخزين معلومات للمستخدم الخاص بك

يعتبر تخصيص التطبيق من أنماط التصميم الشائعة فِي التطبيقات. يمكن أن يكون هذا بسيطًا كقول مرحبًا وعرض اسم المستخدم على كل شاشة فِي التطبيق. مع Power Apps، يمكنك إظهار رسالة ترحيب والحصول على اسم المستخدم بطريقة تصريحية باستخدام الصيغة التالية فِي عنصر تحكم تسمية.

"Welcome " & User().FullName

تعرض هذه الصيغة المقطع مرحبًا ثم استعلامات Azure Active Directory لخاصية DisplayName للمستخدم وتعرضه كنص. ولكن إذا قمت بتضمين تلك الدالة على كل شاشة، فإنه فِي كل مرة تفتح فيها الشاشة يجب على Power Apps الاستعلام عن تلك البيانات من Microsoft Entra ID مباشرة. يؤدي هذا إلى إنشاء استدعاءات متكررة للشبكة التي تبطئ التطبيق الخاص بك.

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

Set(varUserDisplayName, User().FullName)

الآن بالنسبة إلى عنصر تحكم التسمية الخاص بك، ستقوم بتغيير الصيغة إلى ما يلي.

"Welcome " & varUserDisplayName

لقطة شاشة للتعليمات البرمجية والرسالة المقابلة لها من الخطوة السابقة.

تجعلك هذه الصيغة تحصل على نفس إخراج الصيغة السابقة، ولكن بدلاً من الحاجة إلى الرجوع إلى Microsoft Entra ID على كل شاشة، يمكن لـ Power Apps الرجوع إلى القيمة المخزنة فِي المتغير.

حالة التعقب فِي متغير

بطريقة تفكير إلزامية، قد تقوم بإخفاء عناصر التحكم أو إظهارها استنادًا إلى استعلام للبيانات. على سبيل المثال، إذا كان لديك تطبيق لإدارة أوامر العميل، فقد يكون لديك رمز تحذير يعرض فقط ما إذا كان لدى العميل أكثر من ثلاث فواتير مستحقة. بالإضافة إلى التحذير، قد يكون لديك متطلب للحصول على موافقة من أحد المديرين إذا كان العميل يرغب فِي إرسال طلب جديد عندما يكون لديه أكثر من ثلاث فواتير مستحقة. سيبدأ سير عمل الموافقة هذا بواسطة المستخدم الذي يحدّد زر الموافقة.

باستخدام طريقة التفكير الإلزامية، يمكنك بتعيين الخاصية مرئي لرمز التحذير إلى التالي.

CountRows(Filter(InvoiceEntity, CustomerNumber = ThisCustomersNumber 
And Status = "Outstanding")) > 3

إذا كانت هذه القيمة صحيحة، فيتم عرض الرمز، وإذا كانت خاطئة، فلن يتم عرض الرمز. يمكنك تكرار نفس هذه الصيغة على الخاصية مرئي لزر الموافقة.

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

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

للقيام بذلك، قم بتكوين خاصية OnVisible بالشاشة لتعيين المتغير.

Set(varOustandingExceeded, CountRows(Filter(InvoiceEntity, CustomerNumber = 
ThisCustomersNumber And Status = "Outstanding")) > 3)

يكون المتغير varOutstandingExceeded إما صحيحًا أو خطأ استنادًا إلى نتيجة الصيغة. قم الآن بتعيين الخاصية مرئي لعنصر التحكم الزر والرمز إلى varOutstandingExceeded.

لا توجد أي صيغ أو وظائف إضافية ضرورية. وهذا لأن عناصر التحكم هذه تقبل إما القيمة صحيح أو خطأ للخاصية مرئي وسيكون المتغير إما صحيحًا أو خطأ. بناءً على الدالة تعيين الخاصة بك فِي الخاصية OnVisible بالشاشة، ستقوم مجموعة تطبيقات Power Apps بتعيين نوع المتغير إلى Boolean وتعيين القيمة إلى صحيح أو خطأ استنادًا إلى نتيجة الصيغة.

مثل هذه التغييرات الصغيرة تجعل تطبيقك أعلى أداءً وأسهل فِي الصيانة. وينبغي تضمين المتغيرات فِي أي وقت تقوم بشكل متكرر باسترداد المعلومات التي لا تتغير أثناء استخدامك لها.