دليل استخدام أداة إنشاء التقارير ونماذج الطباعة
يوفّر نظام Nama ERP وسيلة سهلة وفعالة لإنشاء تقارير احترافية بسرعة عبر أداة "إنشاء التقارير" (Report Wizard).
تمكنك هذه الأداة من إنشاء التقارير عن طريق اختيار الجدول الرئيسي، ثم تحديد الحقول المطلوبة وإضافة الفلاتر بطريقة بسيطة وسريعة، كما سيتم شرحه بالتفصيل من خلال الأمثلة.
إنشاء تقرير بسيط لعرض فواتير المبيعات
لإنشاء تقرير يعرض بيانات فواتير المبيعات مثل كود الفاتورة، اسم العميل، تاريخ الفاتورة، وصافي قيمة الفاتورة، اتبع الخطوات التالية:
- قم بإنشاء تقرير جديد باستخدام أداة إنشاء التقارير، وحدد له كود واسم مناسب.
- في حقل الجدول الرئيسي، اختر
فاتورة مبيعاتمن شاشة البحث. - في جدول الحقول، أضف السطور التالية:
thisلعرض كود السند مع رابط لفتح تفاصيل الفاتورة.customerلعرض اسم العميل مع رابط لفتح تفاصيل العميل.money.netValueلعرض صافي قيمة الفاتورة.
- في جدول المدخلات، أضف سطرًا واحدًا يحتوي على الحقل
valueDateلتحديد الفترة الزمنية.
Tips
- يمكنك استخدام زر Select Fields لعرض واجهة اختيار الحقول بطريقة مرئية دون الحاجة لكتابة أسمائها يدويًا.
- عند كتابة جزء من اسم الحقل (بالعربية أو بالإنجليزية)، يمكنك الضغط على السهم للأسفل لعرض الحقول المقترحة.
JSON for direct import
{
"mainTable": "SalesInvoice",
"fields": [
{ "fieldId": "this" },
{ "fieldId": "customer" },
{ "fieldId": "valueDate" },
{ "fieldId": "customer" },
{ "fieldId": "valueDate" },
{ "fieldId": "money.netValue" }
],
"parameters": [
{
"fieldId": "valueDate",
"filterType": "Between"
}
]
}
بعد الحفظ، اضغط على زر عرض التقرير، ستظهر لك شاشة شبيهة بالتالي:

اختر فترة زمنية مناسبة (من تاريخ - إلى تاريخ) واضغط على زر تشغيل الآن، سيظهر التقرير بالشكل التالي:

كما تلاحظ، تم إنشاء تقرير بفلاتر زمنية وأعمدة منظمة بشكل احترافي، مع ظهور شعار الشركة، تاريخ ووقت التشغيل، واسم المستخدم تلقائيًا.
شرح تفصيلي لحقول وجداول أداة إنشاء التقارير
في هذا القسم نستعرض شرحًا دقيقًا لكل الحقول المستخدمة في أداة إنشاء التقارير، مع توضيح وظيفة كل حقل وكيفية تأثيره على التقرير الناتج.
Report Group
عند حفظ ملف أداة إنشاء التقرير، يتم تلقائيًا إنشاء ملف تقرير جديد في النظام. يمكنك استخدام هذا الحقل لتحديد المجموعة التي سيتم تصنيف التقرير ضمنها، مما يساعد في تنظيم التقارير بحسب الأقسام أو الوظائف.
Table Type
يساعدك هذا الحقل على تسهيل اختيار الجدول الرئيسي (Main Table) للتقرير من خلال تصنيف الجداول المتاحة. يحتوي على القيم التالية:
Entityيتيح لك اختيار أي نوع كيان موجود في النظام، مثل:- فاتورة مبيعات
SalesInvoice - سند صرف
PaymentVoucher - العميل
Customer - المورد
Supplier - الموظف
Employee - الحسابات
Accountوغيرها من الكيانات الرئيسية في النظام.
- فاتورة مبيعات
Detail Lineيتيح لك اختيار أحد جداول السطور المرتبطة بالكيانات، مثل:SalesInvoiceLine: تفاصيل سطور فاتورة المبيعاتCustomerContactInfo: جهات الاتصال بملف العميل
System Tableيتيح لك اختيار جداول نظامية داخلية مثل:ItemDimensionsQty: يعرض كميات الأصناف في المخازن المختلفةFAPropertiesEntry: يعرض خصائص الأصول الثابتة
Virtual Entity(الكيان الافتراضي) يتيح لك اختيار أحد الكيانات الافتراضية التي عرّفها المستخدم بنفسه عبر استعلام SQL مخصص (مثل اتحاد جدولين بـUNIONأو ضم عدة جداول مع تعبيرات حسابية). تظهر هذه الكيانات في قائمة الجدول الرئيسي تماماً مثل الكيانات الحقيقية، مع نفس آلية اختيار الحقول والترجمات والمراجع التلقائية للكيانات (Reference Fields).لتعريف كيان افتراضي جديد أو فهم كيفية إعداد خرائط الأعمدة وآلية الاستنباط (Bootstrap)، راجع دليل الكيانات الافتراضية.
عنوان التقرير بالعربية و عنوان التقرير بالإنجليزية
تُستخدم هذه الحقول لتحديد عنوان التقرير الظاهر في أعلى التقرير النهائي، وتظهر القيمة وفقًا للغة المستخدم. إذا كانت واجهة المستخدم بالعربية، سيظهر العنوان العربي، وإذا كانت بالإنجليزية، فسيظهر العنوان الإنجليزي.
Layout Method
يحدد هذا الحقل الطريقة التي سيتم بها وضع الحقول والمدخلات داخل التقرير الناتج. يحتوي على الخيارات التالية:
يدوي (Manual)تتيح لك تحديد الخصائص يدوياً لكل حقل ومدخل مثل الموضع والعرض والارتفاع من خلال الجداول داخل ملف إنشاء التقرير.From Uploaded Fileتسمح برفع ملف Jasper مسبق الصنع (امتداد.jrxml) واستخدام خصائص الحقول والمواضع الموجودة به داخل التقرير.From Editorتتيح لك استخدام محرر بصري لتنسيق الحقول وتحديد مواقعها داخل التقرير. يمكن فتح المحرر من خلال زرOpen Editor.
تحويل الكميات حسب وحدة القياس المختارة
في تقارير المخزون، تُخزَّن الكميات عادةً بوحدة القياس الأساسية للصنف، لكن المستخدم قد يرغب في عرضها بوحدة أخرى (وحدة البيع، وحدة الشراء، إلخ). توفّر أداة إنشاء التقارير خياران متكاملان لتحقيق ذلك.
الخيار الأول: إضافة بارامتر UOMConversion
يضيف هذا البارامتر قائمة منسدلة في شاشة تشغيل التقرير تتيح للمستخدم اختيار وحدة القياس، ويقوم تلقائيًا بإضافة الـ joins اللازمة.
١. تأكد أن التقرير يحتوي على حقل من جدول InvItem (مثل item.code) — هذا شرط مسبق لتفعيل البارامتر. ٢. في جدول المدخلات (Parameters)، أضف سطرًا جديدًا واترك Field ID فارغًا، ثم اختر Parameter Type = UOMConversion. ٣. احفظ التقرير.
عند الحفظ يُضاف تلقائيًا:
- بارامتر
UOMفي ملف JRXML بقيمbaseUnit, reportingUnit1, defaultPurchaseUnit, defaultSalesUnit. LEFT JOIN UOM AS PrimaryUOM ON PrimaryUOM.id = <InvItem>.prim$P!{UOM}_idLEFT JOIN PrimaryItemUOMLine AS UL ON UL.invItem_id = <InvItem>.id AND UL.uom_id = <InvItem>.prim$P!{UOM}_id
الخيار الثاني: تحويل قيمة حقل كمية إلى الوحدة المختارة
بعد إضافة بارامتر UOMConversion، يمكنك تفعيل التحويل على أي حقل كمية بشكل مستقل.
١. تأكد من توفر الشرطين: بارامتر UOMConversion موجود + حقل من InvItem في التقرير. ٢. في سطر الحقل المراد تحويله (مثل inBasePValue أو تعبير مخصّص)، فعّل خانة «استخدام معامل وحدة القياس لتحويل الكمية». ٣. احفظ التقرير.
يتحوّل تعبير الـ SELECT للحقل إلى (SUM(الحقل)) / UL.rateToBase، ويُضاف UL.rateToBase تلقائيًا إلى GROUP BY.
Tips
لو لم يتوفر الشرطان (بارامتر UOMConversion + حقل InvItem)، تُتجاهل الخانة بصمت ولن يحدث أي تحويل.
JSON for direct import
{
"mainTable": "QtyTransLine",
"fields": [
{
"fieldId": "in.base.primeQty.value",
"customSqlExpression": "(@{in.base.primeQty.value}@-@{out.base.primeQty.value}@)",
"useUOMParameterForQtyConversion": true
},
{ "fieldId": "itemTransRef.item" }
],
"parameters": [
{
"userAlias": "PrimaryUOM",
"parameterType": "UOMConversion"
},
{
"fieldId": "commonData.valueDate",
"filterType": "Equals"
}
]
}