الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

فكرة عمل مخزون يتعامل بنظام First In First Out

مغلق
بدأه kindmand_nb في 30 أبريل 2007 · 4 رد · 1,429 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله

الفكره دي شائعة جدا في الكثير من الشركات مثل الصيدليات والسوبرماركت ,,

واكيد ان الجميع يعلم معنى هذه الفكره

وهي ان البضائع التي تأتي أولا تبعا أولا .. وطبعا الحكاية دي بيترتب عليها عمليه مهمة وهي حساب الارباح والخسائر بدقة ,, لانه اسعار المنتجات يختلف من وقت لاخر ..

اقول للشباب الفكره التي قمت بعملها ,,

1- هناك جدول باسم المخزون به بيانات السلع والكمية الاجمالية في المخزن

2- جدول اخر يتم ادخال البضائع حسب شرائها وتاخذ ترتيب لكي يتم التعامل معها بنظام FIFO ..

مثلا سلعة س قمبنا بشراء 20 وحدة منها بسعر 100 جنيه للوحدة ,, ومره اخرى قمنا بشراء 30 وحدة بسعر 120 ريال للوحدة .

الجدول الاول وهو جدول المخزون يظهر فيه ان هذه السلعة المخزون منها 50 وحدة .

اما الجدول الثاني فيظهر فيه العمليتين وسعر شراء كل عملية .

هذا ما قمت بعمله .. نظام حقق الغرض منه ,, ولكن !!!!!!!!!!!!

بعد ما مرور الوقت وازدياد حجم قاعدة البيانات ,, بدأ يحدث اخطاء لا حمد عقباها ,, في الجدول الثاني FIFO والذي يظهر تفاصيل العمليات .

الاخوة المبرمجين الذين قاموا بتصمميم شاشات مبيعات او مشتروات من الممكن ان يعرفون ما اقصد تمام .

فانه عند تسجيل فاتورة مشتروات مثلا .. فانت تتعامل مع العديد من الجداول في آن واحد :

1- جدول المشتروات الرئيسي " ماستر "

2- جدول المشتروات الفرعي " ديتلز "

3- جدول المخزون , حيث يقوم بتعديل المخزون من السلعة

4- جدول FIFO حيث يتم اضافة بيانات السلعة المضافة من الكيمة وسعر الشرء وما الى ذلك .

وطبعا لو البرنامج بيتعامل بنظام المبيعات الاجلة ,, دخلنا بقا في حكاية تانيه وكشفات حساب العملاء والحكاية دي .

فطبعا لك انت تتخيل حجم العمليات والتي كلها حرجة تتم على التوالي ..

لك ان تتخيل ان لو حدث انقطاع للتيار اثناء عملية ولم تتم الاخر ..

او ان الجهاز متصل بسيرفر وحدث ان الشبكة علقت او ما شابه , عملية تمت والتانيه لا ..

او عملية تمت بنجاح , وعملية قالتلك حصل خطأ ولم يتم تخزين البيانات في الجدول الاخر ..

اصبح عندك جدول المخزون به حجم المخزون حقيقي , وجدول FIFO غير حقيقي ..

وهكذا من اخطاء وارد ان تحدث جعلتني من الممكن ان يذهب عقلي وانا اتابع حجم الارقام الغير حقيقية داخل المخزن .

أردت أن اطرح الفكره لتعم الفائدة للجميع خاصمة ممن سيقدمون على تصميم برامج مثل هذه , وايضا لكي نستفيد جميعا انا واصدقائي من اصدقائنا المتمرسين والمحرتفين في هذا المجال لكي يتفضلو ويفيدونا ,,

هل هناك توصيات بشأن هذه الطريقه ,

ام انه هناك فكره أفضل يتم التعامل معها في برامج من هذا النوع لكي تتعامل مع نظام First In First Out

جعل الله عملنا جميعا مخلصا لوجه وجاء به سبحانه الى ميزان حسناتنا يوم ان نلقاه ...

قال رسول الله صلى الله عليه وعلى آله وسلم :

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

سبحان الله ، والحمد لله ، ولا إله إلا الله ، والله أكبر .

رواه الترمذي .

#2

اقرب شئ ممكن قوله لك ان SQL SERVER يدعم ترتيب الحقل تصاعدى او تنازلى مثلا فى ظروفك على حسب تاريخ دخول البضاعة

#3

نعم, ما هو نظام ادارة قواعد البيانات الذي تستخدمه ؟ أنا أرى أن كل العمليات التي ذكرتها يمكن القيام بها بسرعة عالية مع SQL Server. ويمكن أيضا لتحسين الأداء ضرب قوانين التطبيع Normalization عرض الحائط ان رأيت أن هذا قد يسرع من الأداء. فكثرة الجداول وعمل العلاقات الكثيرة والعديدة و التشدد في استخدام القوانين ليس بالأمر الجيد دائما.

لكن قبل قل شيء, يجب أن تركز في الكود فربما هو من يؤثر على الأداء وليس شيء آخر. لأن ما ذكرته من مهام تم تنفيذها ويتم تنفيذها كل يوم بدون مشاكل وربما تم ويتم استخدام تصميم مشابه لما تقوم به.

تم تعديل هذه المشاركة بواسطة معتز شمس في 30 أبريل 2007 في 18:31

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#4

طبعا جزاكم الله خيرا على مشاركتكم

انا بستخدم sql server

بس انا كنت احب اسال بعض اخوانا

هل في طريقه أخرى للتعامل مع نظام FIFO غير ما ذكرت

وجزاكم الله خير

قال رسول الله صلى الله عليه وعلى آله وسلم :

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

سبحان الله ، والحمد لله ، ولا إله إلا الله ، والله أكبر .

رواه الترمذي .

#5

السلام عليكم

أضيف على ما ذكره الاخوة الكرام, هو انه يمكن ان تستغني عن الجدول الذي يتضمن FIFO و يدمج في الجدول الاول للبضائع مع وضع عامود

اضافي فيه قيمة منطقية تبين هل البضاعة بيعت ام لا , اما ان كنت لابد فاعل لهذا الجدول فإستخدم طريقة الكل ام لا transaction

فإما ان يتم نقل البيانات من جدول المخزون الحقيقي و يضاف في جدول FIFO أو لا تتم إطلاقاً , وهذه الطريقة شائعة في البنوك و المصارف

بشكل عام. للمزيد عن هذا المنطق راجع الرابط التالي بالتوفيق إن شاء الله.

ملاحظة في اللغة العربية : هي مشتريات وليست مشتروات .

السلام عليكم.

في المثال يتضح المقال

هذا الموضوع مغلق.

مواضيع مشابهة