معالجة قيود اليومية أصبحت بطيئة جدا، واكتشفنا أن متابعة أعمار الديون مفعّلة على حسابات الإيرادات والنقدية والتكاليف — هل هذا هو السبب وكيف أعالجه؟

Viewed 2

عند أحد العملاء لاحظنا أن معالجة طلبات القيود (LedgerTransReq) أصبحت بطيئة بشكل ملحوظ.

بالمراجعة تبيّن أن خاصية متابعة أعمار الديون (Track Debt Ages) مفعّلة على حسابات لا يُفترض تفعيلها عليها: حسابات الإيرادات، والحسابات النقدية، وبعض حسابات التكاليف. هذه الحسابات تظهر في معظم الحركات تقريبا — كل فاتورة، وكل صرف وإضافة مخزنية، وكل سند قبض ودفع — وبالتالي يتولّد لها عدد ضخم من سطور أعمار الديون مع كل عملية معالجة.

السؤال:

  • هل تفعيل متابعة أعمار الديون على هذه الحسابات هو فعلا سبب بطء المعالجة؟
  • ما هي الحسابات التي يُفترض تفعيل هذه الخاصية عليها فقط؟
  • كيف أكتشف الحسابات التي عليها عدد سطور أعمار ديون مبالغ فيه حتى أصلح إعدادها؟
1 Answers

نعم، هذا غالبا هو السبب. خاصية متابعة أعمار الديون يجب أن تكون مفعّلة فقط على الحسابات التي تمثّل ذمما (مديونيات) يُراد متابعة أعمارها — أي حسابات العملاء والموردين. هذه هي الحسابات التي يكون لمتابعة عمر الدين فيها معنى محاسبي حقيقي.

أما حسابات الإيرادات والنقدية/الخزائن والبنوك والتكاليف فلا يجب تفعيلها عليها، لأنها:

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

هذا الكم الزائد من سطور أعمار الديون هو ما يُثقل عملية المعالجة ويبطئها.

كيف تكتشف الحسابات المسبّبة للمشكلة

اعرض الحسابات صاحبة أكبر عدد من سطور أعمار الديون، مع الذمة (العميل/المورد) المرتبطة بكل سطر:

select top 100 count(1), l.accountRef_id, acc.code accountCode, acc.name1 accountName1,
l.subsidiaryEntityType, l.subsidiaryId, e.name1 subsidiaryName
from DebtLine l
left join Account acc on acc.id = l.accountRef_id
left join EntitySystemEntry e on e.targetId = l.subsidiaryId
group by l.accountRef_id, l.subsidiaryId, acc.code, acc.name1, e.name1, l.subsidiaryEntityType
order by 1 desc

أو بشكل مختصر مجمّعا على مستوى الحساب فقط:

select top 100 count(1), l.accountRef_id, acc.code accountCode, acc.name1 accountName1
from DebtLine l
left join Account acc on acc.id = l.accountRef_id
group by l.accountRef_id, acc.code, acc.name1
order by 1 desc

ستظهر في أعلى القائمة عادة حسابات الإيرادات والنقدية والتكاليف بأعداد سطور ضخمة — وهي بالضبط الحسابات التي لا يُفترض تفعيل الخاصية عليها.

كيف تصحّح الإعداد

  1. افتح شاشة الحساب (المسار: الحسابات ← الملفات ← حساب).
  2. على الحسابات التي ظهرت في الاستعلام أعلاه وليست حسابات عملاء/موردين (الإيرادات، النقدية، الخزائن والبنوك، التكاليف)، أوقف خيار متابعة أعمار الديون (Track Debt Ages).
  3. أبقِ الخيار مفعّلا فقط على حسابات العملاء والموردين.

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

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

Related