Skip to content
English

إعادة المعالجة والأدوات ​

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

اقرأ هذا قبل أن تشغّل شيئاً هنا

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

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

من أين تبدأ، حسب العَرَض ​

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

ترتيب العمل ​

  1. اقرأ قبل أن تكتب. ابدأ بالاستعلامات التشخيصية، فهي تُخبر ولا تغيّر شيئاً، وتكشف لك اتساع المشكلة حقاً.
  2. أصلح أضيق ما يفسّرها. طلب أعمال فاشل، أو مستند واحد، أو محدد واحد.
  3. أعِد بناء منطقة واحدة — الكميات والتكلفة، أو الأستاذ، أو جداول وحدة بعينها — ولا تفعل إلا بعد أن تعرف أن الخلل فيها.
  4. وإعادة البناء الكاملة آخر شيء، ومعها نسخة احتياطية ووقت متفق عليه وخادم موقَف.

فإذا لم تفسّر الخطوة الأولى العَرَض، فتلك لحظة التصعيد لا لحظة توسيع دائرة الضرر.

دليل الأدوات المساعدة ​

أكثر الأدوات استخداماً مجمّعة أيضاً في صفحة واحدة على السيرفر، لكل أداة وصف وزر يفتحها، مقسّمة إلى أقسام مرقمة. افتحها من آخر قسم في utils.html؛ راجع دليل الأدوات المساعدة.

روابط التشغيل في هذه الصفحات ​

كثير من الأدوات في هذه الصفحات تُشغَّل من رابط لا من قائمة. ويظهر كل منها كنموذج صغير: خانة لكل مُدخل من مُدخلات الأداة، والرابط الجاهز تحتها، وزرّان بجانبه — نسخ، الذي ينسخ الرابط كما هو، وإظهار عنوان الخادم (أيقونة العين)، الذي يفتح خانة تكتب فيها عنوان خادم العميل. ويُعاد بناء الرابط أثناء الكتابة، ويحفظ المتصفح العنوان الذي أدخلته لكل روابط التشغيل في الموقع، فتضبطه مرة لكل خادم لا مرة لكل صفحة.

بناء رابط التشغيل يدوياً ​

في مصدر الصفحة (ملف markdown) يظهر كل رابط تشغيل كوسم <UtilityLinkBuilder> فيه className، وأحياناً قائمة :params، وفي بعضها :gui="true". والرابط الذي يعرضه يُبنى دائماً بالطريقة نفسها، فتستطيع كتابته بنفسك من المصدر:

text
<server address>/utils?util=<className>-<value 1>,<value 2>,<id>=<value>&gui=true
  • عنوان الخادم — عنوان نظام العميل حتى /erp ضمناً، مثل http://localhost:8080/erp على الخادم نفسه.
  • className — يُنسخ كما هو في الوسم تماماً.
  • القيم — علامة -، ثم قيم قائمة :params مفصولة بفواصل ,: أولاً كل مُدخل ليس له id بقيمته وحدها وبترتيب القائمة، ثم كل مُدخل له id بالشكل id=value. استعمل القيمة default ما لم تحتج حالة العميل غيرها. والقيمة الفارغة تُحذف، وإن لم تبقَ قيم حُذفت علامة - أيضاً. وكل ما بعد أول - يصل إلى الأداة كما هو، فيجوز أن تحتوي القيمة على - (أكواد موظفين مثل E001-E002-E003) ولا يجوز أن تحتوي على فاصلة.
  • &gui=true — تُضاف فقط إذا كان الوسم يحمل :gui="true".

افتح الرابط في متصفح سجّلت فيه الدخول إلى ذلك الخادم بمستخدم مدير، ويظهر رد الأداة صفحةً.

مثال: رابط إعادة الاعتماد من ملف (Recommit From File) في صفحة أدوات تعمل على دفعة سجلات من ملف مكتوب هكذا:

text
className="com.namasoft.erp.gui.server.RecommitFromFile"
:params="[
{ title: 'Main File', default: 'e:/rc/recommit.txt' },
{ title: 'Done File', default: 'e:/rc/done.txt' },
{ title: 'Errors File', default: 'e:/rc/errors.txt' }
]" :gui = "true"

ورابطه بالقيم الافتراضية:

text
http://localhost:8080/erp/utils?util=com.namasoft.erp.gui.server.RecommitFromFile-e:/rc/recommit.txt,e:/rc/done.txt,e:/rc/errors.txt&gui=true

والمُدخل الذي له id مثل { title: 'Types To Process File', default: 'e:/rc/toProcessTypes.txt', id:'file' } يصير -file=e:/rc/toProcessTypes.txt، ورابط التشغيل الذي ليس له :params هو <server address>/utils?util=<className> فقط.

اكتشف المشكلة أولاً ​

إعادة بناء الأرصدة ​

أدوات الوحدات ​

أدوات تُشغَّل من رابط ​

قاعدة البيانات والمواقع ​