19-07-20, 04:33 PM
(آخر تعديل لهذه المشاركة : 19-07-20, 05:14 PM {2} بواسطة ابراهيم ايبو.)
السلام عليكم ورحمة الله وبركاته
اخي الكريم بالنسبة لصلاحيات المنتجات
من المفروض عند البيع عرض كمية المنتجات المتوفرة في المخزن فقط بدون تاريخ صلاحياتها اذ ليس من المعقول ان ابيع كمية 20 قطعة من منتج له صلاحية بقي منه 7 قطع ثم اخذ 13 قطعة من نفس المنتج من صلاحية اخرى لتتم عملية استكمال المطلوب للبيع (شاهدت احد الفيديوهات يظهر الصلاحيات اثناء البيع لكن لم يخطر في بالي وفتها هذه المشكلة) فمن غير المعقول البحث في الصلاحيات اثناء البيع
اما صلاحيات المنتجات فيجب ان يكون لها فورم خاصة مهمتها تصفية المنتجات المنتهية الصلاحية او التي تم بيعها بالكامل او التي تتلف
(البعض يجعل للاتلاف فورم خاصة)
وفي العادة يتم تسليم المنتجات الاقدم الى العملاء تفاديا لتراكمها وانتهاء صلاحياتها
كل ماسبق عبارة عن الافكار الرئيسة في حل هذا المشكل والحلول كثيرة ومختلفة حسب مايبرمجه كل على طريقته
قمت بعمل مثال فيه فورم واحدة تعرض كل المنتجات النشطة والغير منتهية الصلاحية وفيها مربع نص يستقبل عدد مبيعات منتج ما وعند جلب المنتج باسمه ( المفروض ان يكون له استعلام خاص بجلب كمية المباع)
تتم عملية الخصم من مجمل الكميات ويتم اغلاق الكميات التي بيعت من من هذا المنتج بحيث لن تظهر مرة اخرى وذلك عن طريق جعل حالة هذا المنتج (false)
كما يمكننا عرض المنتجات التي ستنتهي صلاحياتها خلال اسبوع ابتداء من اليوم الحالي
وايضا جعل حالة اي منتج غير نشط وكذلك عمليات البحث حسب التاريخ وغيرها
طبعا المثال عملته قبل ساعة من الان بالرغم من عدم وجود فكرة سابقة عن الموضوع(ربما يطوره احد ما للافضل)
قد برى البعض فيه افكار جيدة واخرون افكار غير عملية
اتنمى ابداء الرأي من الجميع فأراؤكم مهمة تساعدني على التطور نحو الافضل
ان اصبت فمن توفيق الله لي وان اخطأت فهو مني
ملاحظة تعديل بسيط على هذا الكود :
اخي الكريم بالنسبة لصلاحيات المنتجات
من المفروض عند البيع عرض كمية المنتجات المتوفرة في المخزن فقط بدون تاريخ صلاحياتها اذ ليس من المعقول ان ابيع كمية 20 قطعة من منتج له صلاحية بقي منه 7 قطع ثم اخذ 13 قطعة من نفس المنتج من صلاحية اخرى لتتم عملية استكمال المطلوب للبيع (شاهدت احد الفيديوهات يظهر الصلاحيات اثناء البيع لكن لم يخطر في بالي وفتها هذه المشكلة) فمن غير المعقول البحث في الصلاحيات اثناء البيع
اما صلاحيات المنتجات فيجب ان يكون لها فورم خاصة مهمتها تصفية المنتجات المنتهية الصلاحية او التي تم بيعها بالكامل او التي تتلف
(البعض يجعل للاتلاف فورم خاصة)
وفي العادة يتم تسليم المنتجات الاقدم الى العملاء تفاديا لتراكمها وانتهاء صلاحياتها
كل ماسبق عبارة عن الافكار الرئيسة في حل هذا المشكل والحلول كثيرة ومختلفة حسب مايبرمجه كل على طريقته
قمت بعمل مثال فيه فورم واحدة تعرض كل المنتجات النشطة والغير منتهية الصلاحية وفيها مربع نص يستقبل عدد مبيعات منتج ما وعند جلب المنتج باسمه ( المفروض ان يكون له استعلام خاص بجلب كمية المباع)
تتم عملية الخصم من مجمل الكميات ويتم اغلاق الكميات التي بيعت من من هذا المنتج بحيث لن تظهر مرة اخرى وذلك عن طريق جعل حالة هذا المنتج (false)
كما يمكننا عرض المنتجات التي ستنتهي صلاحياتها خلال اسبوع ابتداء من اليوم الحالي
وايضا جعل حالة اي منتج غير نشط وكذلك عمليات البحث حسب التاريخ وغيرها
طبعا المثال عملته قبل ساعة من الان بالرغم من عدم وجود فكرة سابقة عن الموضوع(ربما يطوره احد ما للافضل)
قد برى البعض فيه افكار جيدة واخرون افكار غير عملية
اتنمى ابداء الرأي من الجميع فأراؤكم مهمة تساعدني على التطور نحو الافضل
ان اصبت فمن توفيق الله لي وان اخطأت فهو مني
ملاحظة تعديل بسيط على هذا الكود :
كود :
' الحساب والحفظ الاتوماتيكي
Private Sub Btn_CalcAndSave_Click(sender As Object, e As EventArgs) Handles Btn_CalcAndSave.Click
Dim Total As Integer = Val(Txt_Total_Buy.Text)
For k As Integer = 0 To dgv_table.Rows.Count - 1
Dim MyArr(dgv_table.Rows.Count - 1) As Integer
For i As Integer = 0 To dgv_table.Rows.Count - 1
MyArr(i) = dgv_table.Rows(i).Cells("item_Qty").Value
Next
If Total >= MyArr(0) Then
Total = Total - MyArr(0)
' حفظ التعدبلات على اول سجل يظهر
Update_ItemExp(dgv_table.Rows(0).Cells("Item_Code").Value,
dgv_table.Rows(0).Cells("Item_Name").Value,
dgv_table.Rows(0).Cells("Item_Experiance").Value,
0,
False,
dgv_table.Rows(0).Cells("Exp_ID").Value)
' اعادة التحميل
selectItem()
Else
Exit Sub
End If
Next
MessageBox.Show("تم حساب المنتجات المباعة بالكامل والحفظ بنجاح", "حساب", MessageBoxButtons.OK, MessageBoxIcon.Information)
Btn_CalcAndSave.Enabled = False
Txt_Searsh.Text = Nothing
End Subاعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
