إعادة بناء قيود النظام في الوحدات
عدد من الوحدات يحتفظ بسجل جارٍ بجانب مستنداته: مَن يملك كل وحدة عقارية، وهل الوحدة مؤجرة أم شاغرة، وفي أي حالة كل موظف، وكم رصيد أجازة كل موظف، وإلى أي حالة وصلت كل سيارة عميل، وكم تساوي كل أصل ثابت. هذا السجل يُكتب في صورة قيود نظام عند اعتماد المستند، والشاشات والتقارير تقرأ هذه القيود بدل أن تعود إلى كل مستند.
حين تبتعد القيود عن المستندات — بعد إصلاح بـ SQL، أو ترقية غيّرت طريقة حسابها، أو مستندات حُذفت من خارج البرنامج — تتخلص الأدوات في هذه الصفحة من القيود وتكتبها من جديد من المستندات المعتمدة بترتيب التاريخ. كل أداة محصورة في وحدتها وفي قيودها، ولا تلمس أي منها الأستاذ أو المخزون.
إعادة البناء تُفرغ الجدول أولاً
كل أداة هنا تبدأ بحذف القيود التي ستعيد بناءها. فإن توقفت في منتصفها بقي السجل ناقصاً حتى تُشغَّل مرة أخرى إلى النهاية. خذ نسخة احتياطية، وشغّلها خارج ساعات العمل، وتوقع على قاعدة بيانات كبيرة أن تستغرق ساعات.
قبل أن تشغّل أياً منها
تنطبق القواعد نفسها التي تنطبق على أدوات الدفعات من ملف: لا يفتح الروابط إلا المستخدم admin أو مستخدم معلَّم عليه Allow Access to Admin Restricted Functionality (utils.html, kill tasks, logout users and so on)، وكل مسار ملف هو مسار على خادم التطبيق، وكل رابط يُبنى بأداة التشغيل الموضحة في روابط التشغيل في هذه الصفحات. وحين ينتهي التشغيل تعرض الصفحة Done on ثم التاريخ.
العقارات
إعادة تطبيق قيود النظام لعقود البيع (Reapply Real Estate Sales Contracts System Entries)
تحذف كل قيود ملكية الوحدات وتكتبها من جديد من كل عقد بيع افتتاحي وعقد بيع وسند تنازل عن ملكية معتمد، الأقدم أولاً. شغّلها حين تظهر وحدة بمالك خاطئ — مباعة وما زالت متاحة، أو باسم مشترٍ في عقد تُنوزل عنه لاحقاً. إعادة البناء كلها خطوة واحدة: إن فشل أي مستند لم يُحفظ شيء، وتبقى القيود محذوفة حتى يُعالج السبب وتُشغَّل الأداة مرة أخرى. إعادة تشغيلها آمنة.
http://localhost:8080/erp/utils?util=com.namasoft.modules.realstate.domain.utils.RESalesSysEntryMigratorUtility
إعادة تطبيق قيود النظام لعقود الإيجار (Reapply Rent Contracts System Entries)
تحذف كل قيود حالة الإيجار وتكتبها من جديد من كل عقد إيجار وانهاء عقد ايجار وعقد ايجار افتتاحي وعرض سعر ايجار معتمد، الأقدم أولاً. شغّلها حين تكون حالة إيجار وحدة خاطئة — تظهر مؤجرة بعد إنهاء عقدها، أو شاغرة وعقدها سارٍ. يمكن إيقافها كمهمة جارية؛ والتشغيل الموقوف يترك السجل ناقصاً، فشغّلها مرة أخرى إلى النهاية. إعادة تشغيلها آمنة.
http://localhost:8080/erp/utils?util=com.namasoft.modules.realstate.domain.utils.UpdateREReservationEntryUtil
إصلاحات العقارات الأخرى — مدفوعات الأقساط والتحصيلات — استعلامات في أدوات العقارات.
الموارد البشرية
إعادة إنشاء قيود حالة الموظف (Recreate Employee State System Entries)
تكتب سجل حالة الموظف من جديد من كل عرض وظيفي وسند مباشرة عمل وبيان توظيف وتغير حالة موظف وتحديث بيانات الموظف وسند أجازة وسند إخلاء طرف وسند إنهاء الخدمة معتمد. شغّلها حين تكون حالة موظف في تاريخ ما خاطئة — ما زال على رأس العمل بعد سند إنهاء خدمة، أو في أجازة بعد عودته. كل نوع مستند يُعالج كخطوة واحدة، وأول مستند يفشل يوقف التشغيل. إعادة تشغيلها آمنة.
http://localhost:8080/erp/utils?util=com.namasoft.modules.humanresource.domain.entities.utils.MigrateEmpStateEntry
إعادة إنشاء قيود أرصدة الأجازات (Recreate Employee Vacation System Entries)
تعيد بناء رصيد أجازة كل موظف من مستنداته — سند إدخال رصيد أجازة إفتتاحية وسند أجازة وسند مباشرة عمل وسند تعديل رصيد أجازة وسند صرف بدل أجازة وتحديث بيانات الموظف وسند إنهاء الخدمة وإيقاف عن العمل ومستند تصفية مستحقات وبدل أرصده راحات أسبوعية و عطلات رسمية. شغّلها حين تختلف الأرصدة في شاشات وتقارير الأجازات عن المستندات. (صفحة أنواع وأرصدة الأجازات تشرح من أين يأتي الرصيد.)
يُعالج الموظفون واحداً واحداً، كل موظف مستقلاً: الموظف الذي تفشل مستنداته يُتخطّى مع السبب ويستمر التشغيل. وحين ينتهي تعرض الصفحة كل موظف فشل. إعادة تشغيلها آمنة. اختر الصيغة المناسبة:
كل الموظفين:
http://localhost:8080/erp/utils?util=com.namasoft.modules.humanresource.domain.entities.utils.VacationsSysEntryMigratorForAllEmpsالموظفون على رأس العمل فقط — تتخطى الموظفين الذين حالتهم مفصول أو مستقيل أو متقاعد:
http://localhost:8080/erp/utils?util=com.namasoft.modules.humanresource.domain.entities.utils.VacationsSysEntryMigratorForWorkingEmpsكل الموظفين، مع إمكانية الاستئناف — كل موظف تعامل معه التشغيل يُكتب في الملف، والتشغيل اللاحق بالملف نفسه يتخطاه. استخدمها في شركة كبيرة قد ينقطع فيها التشغيل:
http://localhost:8080/erp/utils?util=com.namasoft.modules.humanresource.domain.entities.utils.VacationsSysEntryMigratorForAllEmpsالموظف الذي فشل موجود في الملف أيضاً
الملف يسجل كل موظف وصل إليه التشغيل، ومنهم من ظهر فاشلاً في النهاية. بعد إصلاح مستنداتهم أعد بناءهم بصيغة موظفين محددين أدناه — فالتشغيل المستأنف سيتخطاهم.
كل الموظفين، مع الاستئناف، ابتداءً من تاريخ — تُبقي كل ما قبل التاريخ وتعيد البناء منه فصاعداً فقط (يُكتب التاريخ بالصيغة
yyyyMMdd، مثل20260101). استخدمها حين تكون الأرصدة صحيحة حتى تاريخ معروف:http://localhost:8080/erp/utils?util=com.namasoft.modules.humanresource.domain.entities.utils.VacationsSysEntryMigratorForAllEmpsموظفون محددون — أكواد الموظفين مفصولة بـ
-:http://localhost:8080/erp/utils?util=com.namasoft.modules.humanresource.domain.entities.utils.VacationsSysEntryMigratorForAllEmps
لا يعمل إلا تشغيل واحد لإعادة بناء الأجازات في كل مرة، أياً كانت الصيغة التي بدأ بها.
مراكز الخدمة
إعادة إنشاء قيود حالة الصنف الفرعي (Recreate Sub Item Status Entries)
تحذف كل قيود حركة حالة سيارات العملاء (الأصناف الفرعية) وتكتبها من جديد من كل مستند معتمد من الأنواع التي كانت تُنتج هذه القيود، الأقدم أولاً، 100 مستند في كل مرة. شغّلها حين تكون حالة سيارة أو سجل حالاتها خاطئاً — بعد تعديل إعدادات حالة السيارة مثلاً. إعادة تشغيلها آمنة.
الملف إلزامي. قبل أن تحذف شيئاً، تكتب الأداة فيه قائمة أنواع المستندات التي لها قيود؛ والتشغيل الثاني يقرأ هذه القائمة، فإن توقف التشغيل الأول بعد حذف القيود ظل الثاني يعرف أي المستندات يعيد تطبيقها. احتفظ بالملف بين التشغيلات.
http://localhost:8080/erp/utils?util=com.namasoft.modules.srvcenter.domain.utils.SubItemStatusSysEntryRecalculateUtil
الأصول الثابتة
تعيد هذه الأدوات بناء سجل موقع وخصائص كل أصل — التكلفة، والإضافات والاستبعادات، ومجمع الإهلاك، والقيمة الحالية، وتاريخ آخر إهلاك — من كل أفتتاح أصل ثابت وسند شراء أصل ثابت وسند تكليف اعتماد أصل وسند نقل الأصل وسند الإضافة و الإستبعاد وخصائص أصل ثابت وسند إهلاك ومستند منع اهلاك اصول وتخلص من الأصل وسند تخلص جزئي من أصل معتمد، الأقدم أولاً. تبدأ بتصفير هذه القيم في بطاقات الأصول وحذف القيود، ثم تعيد تطبيق المستندات 100 في كل مرة. ولا يعمل منها إلا واحدة في كل مرة.
إعادة إنشاء كل قيود الأصول الثابتة. تعيد بناء السجل وتترك قيم الإهلاك في المستندات كما هي. شغّلها حين تختلف قيم بطاقة أصل أو موقعه عن مستنداته. إعادة تشغيلها آمنة.
http://localhost:8080/erp/utils?util=com.namasoft.modules.fixedassets.domain.utils.SWSUpdatePropertyEntryUtilإعادة إنشاء كل القيود وإعادة حساب أقساط الإهلاك. كالسابقة، وتعيد أيضاً حساب قيم الإهلاك في المستندات وتعيد توليد الأثر المحاسبي لكل سند إهلاك.
قيم الإهلاك ستتغير
يُعاد حساب كل سند إهلاك بقواعد اليوم ويُنتج قيداً جديداً. اتفق على النتيجة مع محاسب العميل قبل تشغيلها على سنة مقفلة.
http://localhost:8080/erp/utils?util=com.namasoft.modules.fixedassets.domain.utils.SWSUpdatePropertyEntryAndRecalcDepreciationUtilإعادة الحساب، مع إزالة الأصول الموجودة في مستندات منع الإهلاك. كالسابقة، وتزيل أيضاً من المستندات التي يُعاد تطبيقها كل أصل يستثنيه مستند منع اهلاك اصول من الإهلاك.
http://localhost:8080/erp/utils?util=com.namasoft.modules.fixedassets.domain.utils.SWSUpdatePropertyEntryAndRecalcDepreciationAndRemovePreventedAssetsUtilأصول محددة فقط. تعيد إنشاء قيود الأصول المذكورة وتترك باقي الأصول كما هي. تُعطى الأصول بمعرّفاتها (ID) لا بأكوادها، مفصولة بـ
-.http://localhost:8080/erp/utils?util=com.namasoft.modules.fixedassets.domain.utils.SWSUpdatePropertyEntryUtil
إصلاحات SQL للوحدة نفسه في أدوات الأصول الثابتة.