Nama ERP DocsNama ERP Docs
Home
Namasoft.com
Data Model
GitHub
Home
Namasoft.com
Data Model
GitHub
  • Home

    • Guides

      • بعض المعلومات عن استعمال هذا الموقع
      • Utility Links
      • System Minimum Requirements
      • Nama ERP Installation Guide
      • Reports Guide (Jasper Reports)
      • Keyboard Shortcuts
      • Layout Names:
      • Entity Flows

        • مقدمة عن مسارات الكيان
        • Field Values Calculator
        • Importing Data from Excel or Queries
        • EAGenerateEntityFromEntityAction
      • دليل استخدام أداة إنشاء التقارير ونماذج الطباعة
      • الفواتير والضرائب والخصومات

        • ربط سندات الدفع بالفواتير
        • دليل استعمال وتشغيل الضرائب والخصومات بنظام Nama ERP وتأثيرها على حساب قيم الفواتير
        • دليل ربط Nama ERP بأنظمة الفاتورة الإلكترونية
        • الربط مع هيئة الزكاة والدخل بالسعودية
        • Electronic Receipt (Egypt Tax eInvoice) تفعيل الإيصال الإلكتروني - الفاتورة الإلكترونية - مصر
      • Tempo Language Manual
      • Sending Invoices and Documents to Customers
      • SMS and WhatsApp Configuration in Nama ERP
      • Field Filter with Criteria
      • تعديل الترجمات في نظام نما
      • Criteria Based Validation
      • صيغ الحضور والانصراف
      • الربط مع ماكينات الحضور والانصراف
      • Email By Parameterized Reports In Task Scheduler
      • Nama Properties
      • Customer Reward Points (Loyalty Points)
      • دليل استعمال النقاط الفنية في نقاط البيع
      • ORACLE JDBC Integration Connection in context.xml for integration purposes
      • Nama ERP REST API
      • Criteria from Text Parser
      • ضوابط إنشاء طلبات تطوير من قبل أقسام الدعم الفني والتجهيز بالشركة
    • Examples

      • أمثلة لمسارات كيان
    • Reprocessing Transactions

      • Reprocessing Quantity, Cost, and Stock Ages
      • Accounting Utilities - Ledger and Debt Ages Reprocessing
      • Queries to Check for (and Fix) Cost And Qty Problems
      • Inventory Related Utility Queries
      • Manufacturing Utilities
      • Fixed Assets Module Utilities
      • Real Estate Utilities
      • Database Related Operations
      • Suggest Indexes for Large Detail Tables
      • General Purpose Utility Queries
      • Replication Utilities
    • Frequently Asked Questions

      • أسئلة عامة
      • أسئلة شائعة حول تعديل الشاشات
      • أسئلة شائعة عن التنبيهات والرسائل
      • أسئلة عامة عن GUI Post Actions
      • أسئلة شائعة عن مسارات الكيان
      • أسئلة شائعة حول الفواتير والدفع
      • أسئلة في موديول التوزيع والمخازن والمبيعات والمشتريات
      • أسئلة شائعة حول موديول التصنيع في نظام Nama ERP
      • أسئلة شائعة حول نقاط البيع
      • أسئلة شائعة في موديول الرواتب والموارد البشرية
      • أسئلة شائعة عن تصميم التقارير
      • أسئلة شائعة حول أداة إنشاء التقارير
      • أسئلة شائعة عن الموافقات
      • أسئلة شائعة حول تطبيقات الهواتف المحمولة في نظام Nama ERP
      • أسئلة شائعة حول فلترة الحقول
      • Database Related Errors FAQ
    • Video Tutorials

      • توثيق فيديو تنصيب Nama ERP والبرامج المساعدة
      • Supply Chain Videos

        • فيديو طريقة عمل التكاليف - 1
        • فيديو طريقة عمل التكاليف - 2
        • فيديو طريقة عمل التكاليف - 3
      • توثيق شرح التكاليف غير المباشرة والفعلي في نظام تصنيع
      • Report Wizard Videos

        • فيديو (1) شرح أداة انشاء التقار
        • شرح تفصيلي لجروبنج (Grouping) ومصادر البيانات وترتيب التقارير في Nama ERP
        • توثيق كامل لإنشاء تقارير الكروس تاب، كشف الحساب، وحركة المخزون باستخدام أداة إنشاء التقارير
        • توثيق فيديو تدريب تقرير فاتورة المبيعات وميزات الجيو الجديدة
        • شرح إنشاء نموذج طباعة شاشة مستند تصفية
        • توثيق شامل لمحتوى الفيديو حول إعداد تقارير الريبورت ويزرد وإدارة الصلاحيات

Field Values Calculator

altCode=mask(code,XXX.XXX.XXX)
  • الحرف X يمثل حرفًا من الكود الأصلي.
  • أي رمز آخر (مثل - أو . أو *) سيتم نسخه كما هو إلى الناتج.

مثال 1:

إذا كان كود الصنف هو 111222333، واستخدمنا mask(code,XXX-XXX*XXX)، سيكون الكود البديل هو 111-222*333.

مثال 2:

إذا كان كود الصنف هو ABC155713، واستخدمنا mask(code,XXX-XXX@XXX)، سيكون الكود البديل هو ABC-155@713.

n1=totalize(details,details.price.unitPrice)
  • لحساب مجموع القيم داخل حقل معين في جدول (grid)، نستخدم الدالة totalize. المثال أعلاه يجمع كل قيم details.price.unitPrice.
n1=totalizeif(details,details.price.unitPrice,select case when {details.item.item.section.code} = 'SEC001' then 1 else 0 end)
  • تجمع القيم فقط إذا تحقق شرط معين. في هذا المثال يتم جمع unitPrice فقط إذا كان section.code يساوي SEC001.
n1=totalizesql(select {details.price.unitPrice} * {details.n1} / {n3})
  • يجمع ناتج عملية حسابية على الحقول باستخدام SQL مدمج.
n1=sql(select sum(netValue) from SalesInvoice where customer_id = {customer.id})
  • ترجع الدالة ناتج استعلام SQL لحساب إجمالي مبيعات عميل معين.
n1=mlsql(select case when {code} = 'abc' then 5 when {code} = 'cde' then 6 else 7 end)endmlsql
  • نفس وظيفة sql ولكن يمكن كتابة الاستعلام على عدة أسطر.
details.ref1=firstNotEmpty(details.ref1,ref1)
details.n1=firstNotEmpty(details.n5,netValue,n4)
  • تعيد أول قيمة غير فارغة من مجموعة الحقول المحددة.

Tips

يمكن استخدام عدد غير محدود من الحقول داخل firstNotEmpty.

details.text1=mask(details.text2,XX-XX:X--X)
book="BookCode"
book=null
term=book.code
ref5=$this
ref4=ref("SalesInvoice","SIV150160")
  • هذه الأوامر لملء أو تفريغ القيم، أو استخدام مرجع حالي أو ثابت.
ref4=ref(ref2.$toReal.ref1.entitType,sql(select top 1 id from Customer where ref4id = {ref4.$toReal.id}))
  • تُستخدم لإنشاء مرجع ديناميكي مستندًا إلى نتيجة استعلام SQL.
runCommand="edit"
runCommand="save"
  • لتعديل وحفظ سجل.
details.item.item.runCommand="edit"
details.item.item.n1=details.n1
details.item.item.runCommand="Save"
  • لتحديث سجل مرتبط مثل صنف من داخل فاتورة.
runCommand="forcestable"
runCommand="unforcestable"
  • لتحديث البيانات دون المرور بآلية التعديل التقليدية.
runCommand="guessPeriod"
valueDate=sql(select getdate())
  • لتحديد الفترة الزمنية تلقائيًا عند الحفظ.
runCommand="makeValueDateToday"
runCommand="flush"
runCommand="runManualEntityFlow(EF005)"
runCommand="systemUpdateCalculatedFields"
  • أوامر لتحديثات وحركات النظام.
addDiscussion="New Discussion added by entity flow"
selectLine="details(2)"
n3=currentLine.n3
n3=$line.n3
  • لاختيار سطر محدد والعمل عليه.
selectLine="details(1)"
$line.n1="15"
  • لتعديل بيانات سطر معين باستخدام $line.
selectLine="details(last)"
description1=remarks.$left_5
description1=remarks.$right_2
description1=remarks.$mid_3_4
details=[clear]
details=[5]
details=[lines]
  • عمليات على الجدول: إفراغ، تحديد عدد الأسطر، أو مطابقته مع جدول آخر.
details1=[addLines(details2)]
details=[addLines(5)]
details1=addedLinesOnly(details1.n1=details2.n5)
  • لإنشاء أسطر جديدة ونسخ بيانات من جدول آخر.
selectLine="details(0)"
$line.n1=n5
switchTarget=ref1(details.n1=n2)endSwitchTarget
switchTarget=ref1(
  details.n1=n1
  details.n2=n2
  details.ref5=details.ref2
)endSwitchTarget
switchSource=ref1(details.n1=n2)endSwitchSource
  • لنقل البيانات بين الكيانات المصدر والهدف.
matchLinesBy=details.item.item=lines.ref1,details.text1=lines.text1(
  details.n1=lines.n2
  details.description5=lines.text1
)endMatchLinesBy
  • لمطابقة ونقل بيانات الأسطر بين كيانين.

تشفير النصوص

description1=code.$encrypt1
description2=description1.$decrypt1
ref1=sql(select entityType,id from SalesInvoice where code = {description1.$decrypt1})

في التقارير يمكن استخدام:

NamaRep.encrypt1($F{code})
NamaRep.decrypt1($F{description1})
  • encrypt1 للتشفير، decrypt1 لفك التشفير.
  • يوجد أيضًا encrypt2/decrypt2 و encryptX/decryptX بكلمات سر مختلفة.

OTP Support

ندعم إنشاء رموز OTP رقمية أو أبجدية رقمية، بطول من 4 إلى 8 خانات.

description1=$createNumericOTP4
description2=$createNumericOTP5
description3=$createNumericOTP8

description1=$createOTP4
description2=$createOTP6
description3=$createOTP7

لمزيد من التفاصيل راجع: Excel and SQL importing using entity flows

Edit On github
Last Updated:: 6/11/25, 5:38 AM
Prev
مقدمة عن مسارات الكيان
Next
Importing Data from Excel or Queries