31-05-2013, 10:38 AM
السلام عليكم ورحمة الله وبركاته
في واقع الامر انا قرأت بداية الموضوع ولم اقرأ جميع الردود، هذا الموضوع كان يؤرقني في السابق كثيرا. لكن هناك طريقة مرة جربتها وأعجبتني كثيرا وأحسست انها مريحة بالنسبة لي. وربما تكون مريحة للبعض ومربكة ومعقدة للبعض الاخر. ربما تكون فكرة قديمة او جديدة لا اعرف بالضبط. وربما هناك من سبقني لذكرها في الردود السابقة.
عموما الطريقة كالآتي:
جعلت جدول المبيعات والمشتريات في جدول واحد لأنه لا يوجد فرق في الحقول تقريبا، وأضفت حقل من النوع الصحيح يأخذ احد القيم اما (1 او -1 او 0).
في حالة المشتريات تكون قيمة الحقل 1
في حالة المبيعات تكون قيمة الحقل -1
في حالة الفواتير المبدئية تكون قيمة الحقل 0
وعند الاستعلام عن المخزون باستخدام جمل sql اضرب قيمة الحقل في حقل العدد او الكمية ثم احسب المجموع يطلع صافي المخزون مثلا:
... وهكذا
عند حساب المجموع: 100×(1)+10×(-1)+15×(-1)
صافي المخزون 75
الجميل في الامر انه يمكن اجراء هذه العملية في View وبعد ذلك نستخدم جملة Select في كل مرة
ان شاء الله يكون الشرح واضح
تحياتي...!
في واقع الامر انا قرأت بداية الموضوع ولم اقرأ جميع الردود، هذا الموضوع كان يؤرقني في السابق كثيرا. لكن هناك طريقة مرة جربتها وأعجبتني كثيرا وأحسست انها مريحة بالنسبة لي. وربما تكون مريحة للبعض ومربكة ومعقدة للبعض الاخر. ربما تكون فكرة قديمة او جديدة لا اعرف بالضبط. وربما هناك من سبقني لذكرها في الردود السابقة.
عموما الطريقة كالآتي:
جعلت جدول المبيعات والمشتريات في جدول واحد لأنه لا يوجد فرق في الحقول تقريبا، وأضفت حقل من النوع الصحيح يأخذ احد القيم اما (1 او -1 او 0).
في حالة المشتريات تكون قيمة الحقل 1
في حالة المبيعات تكون قيمة الحقل -1
في حالة الفواتير المبدئية تكون قيمة الحقل 0
وعند الاستعلام عن المخزون باستخدام جمل sql اضرب قيمة الحقل في حقل العدد او الكمية ثم احسب المجموع يطلع صافي المخزون مثلا:
كود :
ملاحظات الحقل (1،-1،0) الكمية اسم المنتج
-----------------------------------------------------------------------------------------
المنتج A 100 1 مشتريات
المنتج A 10 -1 مبيعات
المنتج A 15 -1 مبيعاتعند حساب المجموع: 100×(1)+10×(-1)+15×(-1)
صافي المخزون 75
الجميل في الامر انه يمكن اجراء هذه العملية في View وبعد ذلك نستخدم جملة Select في كل مرة
ان شاء الله يكون الشرح واضح
تحياتي...!
O. M. Fares

