WindoorERP الدليل 19.0

تدقيق نماذج قاعدة البيانات والحقول المخصصة والدقة العشرية ومعايير النظام والتسلسلات

9 دقيقة قراءة آخر تحديث 2026-08-30 WindoorERP 19.0
هذا المقال هو الخطوة 4 من 6 في 14- إدارة WindoorERP وتأمينه

الغرض

قوائم هيكل قاعدة البيانات و المعايير و التسلسلات والمُعرّفات تحت الإعدادات › تقني تريك قاعدة البيانات كما يعرّفها البرنامج: كل نموذج وحقل، وقواعد الدقة العشرية، ومعايير النظام مفتاح–قيمة، وتسلسلات ترقيم المستندات، والمعرفات الخارجية التي تربط السجلات بالتطبيقات التي شحنتها. وجُلّه انعكاس للكود للقراءة فقط — هذا سطح تدقيق، والأشياء القليلة التي تغيّرها هنا فعلاً مسماة أدناه.

قبل أن تبدأ

  • صلاحيات مدير مع وضع المطور — قائمة تقني لا وجود لها بدونه.
  • هذه الشاشات تعرض الدواخل بأسمائها التقنية. لا شيء هنا لازم للعمل اليومي؛ تعال للتحقق أو التشخيص أو لأحد التغييرات المتعمدة القليلة الموصوفة أدناه.

الخطوات

  1. 01
    افتح الإعدادات › تقني › هيكل قاعدة البيانات › النماذج لترى كل نموذج؛ افتح واحداً لحقوله وقواعد وصوله وعدد سجلاته.
  2. 02
    افتح هيكل قاعدة البيانات › الدقة العشرية لتقرأ — ولا تغيّر إلا عمداً — دقة التقريب لكل استخدام.
  3. 03
    افتح المعايير › معايير النظام لتدقيق إعدادات قاعدة البيانات مفتاح–قيمة. وعامل القيم على أنها حساسة.
  4. 04
    افتح التسلسلات والمُعرّفات › التسلسلات لضبط ترقيم المستندات — البادئات والحشو والأرقام التالية.
  5. 05
    افتح التسلسلات والمُعرّفات › مُعرفات خارجية للنظر فقط: هذه الصفوف هي كيف تجد الترقيات سجلاتها.

النماذج والحقول — المرآة للقراءة فقط

النماذج تسرد كل نموذج باسمه التقني ووصفه و النوع وعلامة العبور. كائن أساسي يعني معرّفاً بكود التطبيقات: يعيد النظام كتابة تعريفه مع كل ترقية، وحارس الحذف مطلق — "Model '…' contains module data and cannot be removed." ويعرض النموذج حقوله وصلاحيات وصوله وقواعد سجلاته مضمنةً، وأي التطبيقات تعرّفه، وعدد سجلات حياً.

قائمة النماذج: الاسم التقني والوصف والنوع لأكثر من تسعمائة نموذج — كلها كائنات أساسية في قاعدة بيانات قياسية

الفعل الإنشائي الوحيد الذي تتيحه هذه الشاشة هو كائن مخصص: اسمه التقني يجب أن يبدأ بـ x_، ويحصل على جدول قاعدة بيانات حقيقي وحقل x_name تلقائي، ويتجمد نوعه واسم نموذجه وعلامة عبوره إلى الأبد بعدها. والقاعدة نفسها تحكم الحقول: الحقول المخصصة تبدأ بـ x_ وتُحرَّر كلياً عدا نموذجها ونوعها ("Changing the type of a field is not yet supported. Please drop it and create it again!")، بينما الشيء الوحيد الذي يحرره المدير على حقل أساسي هو ما يقبل الترجمة — تسمية الحقل و مساعدة الحقل. وكل ما عداهما يجيب بـ "Properties of base fields cannot be altered in this manner! Please modify them through Python code, preferably through a custom addon!". وقاعدة بيانات WindoorERP القياسية تكاد تخلو من النماذج والحقول المخصصة — فإن رأيت مدخلات x_ فقد صنعها أحد عمداً.

اختيار الحقول يسرد قيم الاختيار لكل حقل اختيار. يحرر المدراء تسمية القيمة؛ أما إضافة القيم أو حذفها على الحقول الأساسية فمحجوب، وتحرير القيمة المخزنة يعيد كتابة ذلك العمود في كل سجل موجود — تحرير التسميات فقط، ما لم تعرف بالضبط ما تفعل.

نموذج تعريف حقل: الاسم والتسمية والنموذج والنوع، ولسانا الخصائص وصلاحيات الوصول، وقيم اختيار الحقل مسرودة قيمة قيمة

قيود النموذج و علاقات متعدد لمتعدد دفاتر لآلة الترقية — كل عمود للقراءة فقط ولا شيء يُضبط. و المرفقات تسرد كل ملف مخزن مع سجله المالك ونوعه (ملف أو رابط) وحجمه وبصمته؛ ومحتوى الملف نفسه يعيش في مخزن ملفات الخادم لا في جدول قاعدة البيانات. و تسجيل يعرض فقط المدخلات المكتوبة عبر نموذج التسجيل (كـ log() في إجراء خادم مثلاً) — وليس ملف سجل الخادم. أما التحليل فيحمل آثار الأداء: يسمح المدير أولاً بالتحليل لمدة محدودة عبر نافذة «تمكين التحليل لبعض الوقت»، ثم يسجل أثراً من أدوات المطور ويفتحه هنا رسماً لهبياً؛ وبدون تلك الخطوة يُخبر المستخدم العادي بأن التحليل غير مفعّل في قاعدة البيانات هذه.

الدقة العشرية

صف لكل استخدام وقيمة خانات واحدة لكلٍّ — هذا ما يقرّب الكميات وأسعار الوحدات عبر النظام:

قائمة الدقة العشرية في قاعدة بيانات WindoorERP: وحدة المنتج والنسبة التحليلية وسعر المنتج والخصم ووزن المخزون والحجم على خانتين، وشروط السداد على 6، والحساب على 3

في قاعدة بيانات WindoorERP تقرأ القائمة: وحدة المنتج و سعر المنتج و الخصم و وزن المخزون و الحجم و النسبة التحليلية على خانتين، و شروط السداد على 6، و الحساب على 3. أمران يجب فهمهما قبل اللمس: المبالغ النقدية تتقرب بتقريب العملة لا بهذه الشاشة؛ وتغيير دقة لا يعيد كتابة البيانات الموجودة أبداً — ولهذا بالضبط يحذرك خفضُها مطولاً بأن "changing decimal precisions in a running database is not recommended".

معايير النظام

مخزن مفتاح–قيمة مسطح يقرؤه النظام كله. التغييرات تسري من الطلب التالي — بلا إعادة تشغيل. حفنة تستحق التمييز: web.base.url هو العنوان المستخدم في روابط البريد (ويتبع آخر تسجيل دخول لمدير ما لم يُضبط web.base.url.freeze على True)؛ و base.login_cooldown_after و base.login_cooldown_duration هما قفل الحماية من التخمين (بعد 10 محاولات فاشلة، حجب 60 ثانية، افتراضياً)؛ و database.uuid و database.secret يعرّفان النسخة ويؤمّنانها — والمفاتيح المحمية لا تُعاد تسميتها ولا تُحذف.

قائمة معايير النظام: صفوف مفتاح–قيمة للتسجيل وأقفال المحاولات والموجز وهوية قاعدة البيانات — والقيم الحساسة لا مكان لها في لقطة شاشة، وهي مموهة هنا

تحذير

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

التسلسلات — ترقيم المستندات

كل مستند مرقم — عروض الأسعار وأوامر الشراء والتحويلات والفواتير — يسحب رقمه من تسلسل هنا. والنموذج يوثق نفسه بنفسه، ومعه جدول الرموز:

نموذج تسلسل: الاسم والرمز والتطبيق القياسي والبادئة وحجم التسلسل والخطوة والرقم التالي — ومعه جدول رموز العناصر النائبة الكامل للبادئة واللاحقة

الحقلما يفعله
رمز التسلسلكيف يجد البرنامج التسلسل — لا تغيّره أبداً على تسلسل مدمج.
بادئة / اللاحقةنص ثابت حول الرقم، مع عناصر تاريخ نائبة من جدول الرموز على النموذج: %(year)s و %(month)s و %(day)s وبقيتها. مثال WindoorERP: أوامر الإنتاج تستخدم WPO-%(year)s- فتعطي WPO-2026-0031.
حجم التسلسلحشو الأصفار: الحجم 5 يحوّل 42 إلى 00042. أوامر البيع تُشحن بـ S وخمس خانات (S00042) وأوامر الشراء بـ P وخمس خانات.
خطوة / الرقم التاليالزيادة والقيمة التالية المسلّمة. والرقم التالي المعروض قد يتأخر قليلاً عن الواقع في نظام مزدحم.
التطبيققياسي يستخدم عداد قاعدة بيانات سريعاً — والمستند الملغى يستهلك رقمه مع ذلك، فتحدث الفجوات. و لا توجد فجوة يقفل الصف لكل رقم: بلا فجوات، أبطأ، والمستخدمان المرقّمان في اللحظة نفسها يصطفان لوهلة. والتسلسلات المحاسبية الواجب خلوها من الفجوات كذلك أصلاً.
استخدم المتتابعات لكل date_rangeيعيد بدء الترقيم لكل فترة (سنوياً عادة)، مع عناصر نائبة تسبقها range_ (كـ %(range_year)s) تستخدم بداية الفترة.

قاعدتا إبهام لإعادة الترقيم: اضبط البادئات قبل الإطلاق؛ ولا تُرجع الرقم التالي أبداً فوق أرقام استُخدمت — فيصطدم المستند التالي بمستند موجود.

المعرفات الخارجية

كل سجل يشحنه تطبيق يحمل مُعرفاً خارجياً (module.name). وهو كيف تجد الترقية سجلها «الخاص» لتحدّثه. حذف المعرف لا يحذف السجل — بل أسوأ: الترقية التالية لا تجد السجل فتنشئ نسخة مكررة، أو تفشل على قاعدة تفرد. وحذف معرف طريقة عرض أو قائمة هو الطريق الكلاسيكي الذي يكسر به مديرٌ حسنُ النية نسخته. انظر ورشّح وصدّر — ولا تحذف.

قائمة المعرفات الخارجية — أكثر من عشرة آلاف صف module.name، كل منها المعرف الكامل الذي تجد به الترقية سجلها

استكشاف الأخطاء

العرضالسبب والعلاج
"Properties of base fields cannot be altered in this manner!"حررت خاصية غير قابلة للترجمة على حقل مدمج. تسمية الحقل ومساعدته وحدهما قابلتان للتحرير على الحقول الأساسية؛ وما زاد فمكانه تطبيق مخصص.
"Model '…' contains module data and cannot be removed."النماذج الأساسية لا تُحذف من الواجهة أبداً. إزالة خاصية تعني إلغاء تثبيت تطبيقها من التطبيقات.
"Cannot rename/delete fields that are still present in views:"الرسالة تسمي الحقل وطريقة العرض — أزل الحقل من تلك الطريقة أولاً.
الإجماليات «مخطئة بكسر» بعد تغيير دقةالسجلات الموجودة تحتفظ بتقريبها القديم؛ والحسابات الجديدة وحدها تستخدم الخانات الجديدة. هذا هو التداخل المحذَّر منه — تغييرات الدقة مكانها قبل الإطلاق.
روابط البريد تشير إلى عنوان خاطئأعاد تسجيلُ دخول مديرٍ من عنوان آخر كتابةَ web.base.url. اضبطه صحيحاً وأضف web.base.url.freeze = True.
"Invalid prefix or suffix for sequence"خطأ إملائي في عنصر نائب — راجع الهجاء على جدول الرموز في نموذج التسلسل.
رقم مستند تخطّىطبيعي في التسلسلات القياسية: المستند الملغى أو الفاشل يستهلك رقمه. تسلسلات لا توجد فجوة وحدها تضمن الاستمرارية، بثمن في التزامن.
سجلات مكررة ظهرت بعد ترقيةحذف أحدهم معرفات خارجية — فأعادت الترقية إنشاء السجلات التي لم تعد تجدها. استرجع من نسخة احتياطية أو أزل التكرار يدوياً، وكفّ عن حذف المعرفات.

أخطاء شائعة

  • معاملة هذه المنطقة كسطح ضبط — إنها مرآة للكود، والحراس موجودون لأن تحرير المرآة لا يصلح شيئاً.
  • تغيير الدقة العشرية على قاعدة بيانات حية «لإصلاح» تقريب مستند واحد.
  • لصق لقطة شاشة لمعايير النظام في تذكرة دعم وقيم الرموز ظاهرة.
  • تحرير القيمة المخزنة لقيمة اختيار بدل تسميتها — فيُعاد كتابة العمود عبر كل سجلات النموذج.
  • حذف مُعرف خارجي «للتنظيف» — والثمن يصل مع الترقية التالية، نسخاً مكررة.

هل كان هذا المقال مفيداً؟

تدير مصنع نوافذ أو أبواب؟

اطلب عرضاً تجريبياً