أسئلة شائعة عن التنبيهات والرسائل
كيف أرسل تنبيه لكل عميل عند تسجيل سند قبض يحتوي على عدة سطور لعدة عملاء؟
عند تسجيل سند قبض يحتوي على عدة سطور لعدة عملاء، قد تلاحظ أن التنبيه يُرسل فقط لأول عميل ولا يُرسل لباقي العملاء الموجودين في السطور الأخرى.
السبب
السبب هو أن القالب المستخدم لا يحتوي على جملة loop
التي تسمح بتكرار الرسالة لكل سطر على حدة. وبالتالي، يتم توليد رسالة واحدة فقط باستخدام أول سطر، ويتم تجاهل باقي السطور.
القالب غير الصحيح (لا يعمل بشكل متكرر)
الشركة المتحدة فارم صيدلية د/ {lines.subsidiary.$toReal.name1} نحيط علمكم بأنة
تم اضافة استلام نقدية لحسابكم رقم الايصال {lines.rpaper} قيمة الأيصال {lines.amount.value.amount} جنية بتاريخ {valueDate}
هذا القالب يرسل رسالة واحدة فقط باستخدام بيانات أول سطر فقط.
القالب الصحيح لإرسال رسالة لكل عميل على حدة
{loop(lines)}
{openmsg}
{sendto}{lines.subsidiary.$toReal.contactInfo.mobile}{endsendto}
الشركة المتحدة فارم صيدلية د/ {lines.subsidiary.$toReal.name1} نحيط علمكم بأنة
تم اضافة استلام نقدية لحسابكم رقم الايصال {lines.rpaper} قيمة الأيصال {lines.amount.value.amount} جنية بتاريخ {valueDate}
{closemsg}
{enloop}
شرح القالب سطرًا بسطر:
{loop(lines)}
يبدأ تكرار على كل سطر في المستند.{openmsg}
يحدد بداية رسالة جديدة.{sendto}{lines.subsidiary.$toReal.contactInfo.mobile}{endsendto}
يحدد رقم الموبايل الذي ستُرسل إليه الرسالة — في هذه الحالة هو رقم العميل الموجود في السطر الحالي.و5. محتوى الرسالة نفسه، مع استخدام بيانات السطر الحالي مثل اسم العميل، رقم الإيصال، المبلغ، وتاريخ السند.
{closemsg}
ينهي الرسالة.{enloop}
ينهي التكرار.
بهذا الشكل، سيتم إرسال رسالة منفصلة لكل عميل موجود في كل سطر من سطور سند القبض، وبذلك يتم إعلام كل عميل بالمعلومة الخاصة به فقط.
إرسال جميع تفاصيل الفاتورة في التنبيه النصي
عند إنشاء تنبيه مرتبط بفاتورة، قد تلاحظ أن القالب المستخدم يعرض فقط بيانات أول سطر من الفاتورة، على الرغم من وجود عدة أصناف داخلها.
في المثال التالي، تم إعداد قالب رسالة نصية داخل تنبيه:
القالب المستخدم سابقًا
الشركة المتحدة فارم نحيط علمكم صيدلية د / {Customer.name1} بأن
تم اضافة فاتورة رقم {code} لحسابكم
_____
قيمة الفاتورة {money.netValue} جنية
___محتويات الفاتورة ___
صنف {details.item.item}
كمية {details.quantity.quantity.primeQty.value}
خصم {details.price.discount2.percentage}
القالب السابق يعرض فقط سطر واحد من تفاصيل الفاتورة، لأن المتغيرات المستخدمة ({details.item.item}
، {details.quantity...}
) لا يتم تكرارها تلقائيًا عبر السطور.
الحل: استخدام {loop(details)}
للحصول على كل السطور، يجب استخدام تعليمة {loop(details)}
ليتكرر المحتوى حسب عدد سطور الفاتورة، مع إغلاق التكرار بـ {endloop}
.
القالب المعدل الصحيح
الشركة المتحدة فارم نحيط علمكم صيدلية د / {Customer.name1} بأن
تم اضافة فاتورة رقم {code} لحسابكم
_____
قيمة الفاتورة {money.netValue} جنية
___محتويات الفاتورة ___
{loop(details)}
صنف {details.item.item}
كمية {details.quantity.quantity.primeQty.value}
خصم {details.price.discount2.percentage}
{endloop}
بهذا الشكل، سيتم إرسال كل تفاصيل سطور الفاتورة ضمن الرسالة النصية، وليس فقط السطر الأول.
كيف يمكنني عرض اسم الشخص الذي وافق على المستند داخل قالب التنبيه في Nama ERP؟
جواب: لعرض اسم الشخص الذي وافق على المستند في قالب التنبيه، يمكنك استخدام المتغير currentApprovalCase.lastStep.actualResponsible
.
إذا كنت تريد عرض الاسم كرابط إلى ملف المستخدم، استخدم الصيغة التالية:
تمت الموافقة على السجل {link($this)} من قبل {link(currentApprovalCase.lastStep.actualResponsible)}
أما إذا كنت تريد عرض الاسم كنص فقط بدون رابط، فاستخدم:
تمت الموافقة على السجل {code} من قبل {currentApprovalCase.lastStep.actualResponsible.name1}
- يمكنك إضافة شرط للتأكد من وجود خطوة موافقة قبل عرض الاسم، كالتالي:
{if(currentApprovalCase.lastStep)}
تمت الموافقة على السجل {code} من قبل {currentApprovalCase.lastStep.actualResponsible.name1}
{else}
لم يتم الموافقة بعد على السجل {code}
{endif}