أفكار لاستبدال الإجراء المخزن في تقرير التدفق النقدي [مغلق]

StackOverflow https://stackoverflow.com/questions/150032

سؤال

لدينا تقرير التدفق النقدي والذي يتكون بشكل أساسي من هذا الهيكل:

Date |Credit|Debit|balance|
09/29| 20   | 10  | 10    |
09/30| 0    | 10  | 0     |

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

تأتي هذه البيانات أيضًا من عدة جداول وكان من الصعب الحفاظ على هذا الإجراء، لأن بيانات تعريف قاعدة البيانات تتغير بشكل متكرر.

يمكن لأي شخص أن يعطيني بعض الحلول المختلفة الممكنة؟للمشكلة؟

يتم عرض هذا التقرير على DataGrid.

هل كانت مفيدة؟

المحلول

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

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

لا يزال يتعين معالجة مشكلة الرصيد الآجل وعليك أن تأخذ في الاعتبار عدد المعاملات المعنية والاستجابة المطلوبة للنظام ولكن على الأقل يمكنك اتخاذ قرار بشأن كيفية التعامل معها مرة واحدة وليس عليك إجراء تغييرات كما هو الحال تتطور الأجزاء الأخرى من نظامك.

نصائح أخرى

من ناحية التعليمات البرمجية، لديك خياران سهلان نسبيًا، لكن كلاهما يتضمن التكرار عبر مجموعة البيانات.

الخيار 1:للحلقة قبل ربط البيانات.بالنسبة لكل صف في جدول البيانات، قم بإضافة/طرح الرصيد/المدينة إلى رصيد الصف السابق وقم بتعيينه إلى الخلية المناسبة في جدول البيانات الخاص بك.

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

انتبه إلى أن هذا يعني عادةً زيادة كبيرة في حركة مرور الشبكة، مما قد يقلل من أداء التطبيق ككل (حيث سيتعين عليك جلب كل هذه البيانات لمعالجتها على العميل).

النهج البديل هو إنشاء (في أي تنفيذ تريد) تطبيق الطبقة الوسطى حيث يمكنك إرسال طلب وإجراء هذه المعالجة على خادم قاعدة البيانات أو في جزء منفصل من الشبكة.

إذا كان هناك SP للقيام بهذه العملية الحسابية، فعادةً ما يكون ذلك بسبب اللمس الكثير من البيانات والهدف هو تجنب هذا التداول في الشبكة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top