برنامج إدارة المبيعات: الدرس الخامس: صفحة البيع النقدي - الجزء 2: إضافة المواد الى فاتورة البيع
في الدرس الخامس من برنامج ادارة المبيعات سنقوم باضافة المواد المراد بيعها الى الداتاكردفيو - dgvBill الخاصة بفاتورة او وصل البيع الموجودة داخل فورم البيع النقدي frmCashSales الموضح بهذه الصورة
- داتاكردفيو الفاتورة - dgvBill
- زر إضافة مادة الى الوصل او الفاتورة btnAddToBill
أولا: داتاكردفيو الفاتورة- dgvBill
عن طريق هذه الاداة نقوم بعرض المواد المراد بيعها والمضافة من قبل المستخدم فيها وذلك لغرض طباعة وصل بعملية البيع وايضا خزن عملية البيع داخل قاعدة البيانات للرجوع لها لاحقا. ثم نقوم باضفة اربع اعمدة (اسم المادة - السعر - عدد الوحدات - الاجمالي) الى داتاكردفيو - dgvBill لكي تستقبل المادة المضافة وحسب الخطوات التالية:
1- عن طريق قائمة ToolBox قم بادراج اداة DataGridView جديدة الى دخل الفورم.
2- يم اضافة اربع اعمدة وهي (اسم المادة - السعر - عدد الوحدات - الاجمالي) عن طريق الضغط على زر Add Columns وتتم الاضافة بالشكل التالي:
- نبدأ باخر عمود وهو المجموع حيث يتم إضافته اولا عن طريق اعطاء حقل Name اسما على ان يكون باللغة الانكليزية مثلا Total اما حقل HeaderText يمكن اعطاءه اسما باللغة العربية مثلا المجموع.
- العمود الاخر وهو العدد حيث يتم إضافته ثانيا عن طريق اعطاء حقل Name اسما على ان يكون باللغة الانكليزية مثلا No اما حقل HeaderText يمكن اعطاءه اسما باللغة العربية مثلا العدد.
- العمود الاخر وهو السعر حيث يتم إضافته ثالثا عن طريق اعطاء حقل Name اسما على ان يكون باللغة الانكليزية مثلا Price اما حقل HeaderText يمكن اعطاءه اسما باللغة العربية مثلا السعر.
- العمود الاخير وهو اسم المادة حيث يتم إضافته رابعا عن طريق اعطاء حقل Name اسما على ان يكون باللغة الانكليزية مثلا ItemName اما حقل HeaderText يمكن اعطاءه اسما باللغة العربية مثلا اسم المادة.
عن طريق هذه الاداة نقوم بعرض المواد المراد بيعها والمضافة من قبل المستخدم فيها وذلك لغرض طباعة وصل بعملية البيع وايضا خزن عملية البيع داخل قاعدة البيانات للرجوع لها لاحقا. ثم نقوم باضفة اربع اعمدة (اسم المادة - السعر - عدد الوحدات - الاجمالي) الى داتاكردفيو - dgvBill لكي تستقبل المادة المضافة وحسب الخطوات التالية:
1- عن طريق قائمة ToolBox قم بادراج اداة DataGridView جديدة الى دخل الفورم.
2- يم اضافة اربع اعمدة وهي (اسم المادة - السعر - عدد الوحدات - الاجمالي) عن طريق الضغط على زر Add Columns وتتم الاضافة بالشكل التالي:
- نبدأ باخر عمود وهو المجموع حيث يتم إضافته اولا عن طريق اعطاء حقل Name اسما على ان يكون باللغة الانكليزية مثلا Total اما حقل HeaderText يمكن اعطاءه اسما باللغة العربية مثلا المجموع.
- العمود الاخر وهو العدد حيث يتم إضافته ثانيا عن طريق اعطاء حقل Name اسما على ان يكون باللغة الانكليزية مثلا No اما حقل HeaderText يمكن اعطاءه اسما باللغة العربية مثلا العدد.
- العمود الاخر وهو السعر حيث يتم إضافته ثالثا عن طريق اعطاء حقل Name اسما على ان يكون باللغة الانكليزية مثلا Price اما حقل HeaderText يمكن اعطاءه اسما باللغة العربية مثلا السعر.
- العمود الاخير وهو اسم المادة حيث يتم إضافته رابعا عن طريق اعطاء حقل Name اسما على ان يكون باللغة الانكليزية مثلا ItemName اما حقل HeaderText يمكن اعطاءه اسما باللغة العربية مثلا اسم المادة.
ثانياً: زر الاضافة- btnAddToBill
- يتم التأكد من ان مربع النص الخاص باسم المادة وسعر البيع وعدد الوحدات قيمهم غير فارغة عن طريق الكود التالي:
If tbItemName.Text = "" Then
MsgBox("يرجى التأكد من إدخال اسم المادة", vbMsgBoxRight +
MsgBoxStyle.Critical, "عذراً .. اسم المادة مطلوب")
tbItemName.Focus()
Return
End If
If tbSellingPrice.Text = "" Then
MsgBox("يرجى التأكد من إدخال سعر البيع", vbMsgBoxRight + MsgBoxStyle.Critical,
"عذراً .. سعر البيع مطلوب")
tbSellingPrice.Focus()
Return
End If
If tbNo.Text = "" Then
MsgBox("يرجى التأكد من إدخال عدد الوحدات", vbMsgBoxRight +
MsgBoxStyle.Critical, "عذراً .. عدد الوحدات مطلوب")
tbBillNo.Focus()
Return
End If
If tbItemName.Text = "" Then
MsgBox("يرجى التأكد من إدخال اسم المادة", vbMsgBoxRight +
MsgBoxStyle.Critical, "عذراً .. اسم المادة مطلوب")
tbItemName.Focus()
Return
End If
If tbSellingPrice.Text = "" Then
MsgBox("يرجى التأكد من إدخال سعر البيع", vbMsgBoxRight + MsgBoxStyle.Critical,
"عذراً .. سعر البيع مطلوب")
Return
End If
If tbNo.Text = "" Then
MsgBox("يرجى التأكد من إدخال عدد الوحدات", vbMsgBoxRight +
MsgBoxStyle.Critical, "عذراً .. عدد الوحدات مطلوب")
Return
End If
- يتم إضافة صف جديد يحتوي على قيم اسم المادة السعر العدد و الاجمالي المأخوذة من ادوات معلومات المادة وحسب الكود التالي:_
- يتم إضافة صف جديد يحتوي على قيم اسم المادة السعر العدد و الاجمالي المأخوذة من ادوات معلومات المادة وحسب الكود التالي:_
dgvBill.Rows.Add()
Dim NewRow = dgvBill.Rows.Count - 1
dgvBill.Rows(NewRow).Cells("ItemName").Value = tbItemName.Text
dgvBill.Rows(NewRow).Cells("Price").Value = tbSellingPrice.Text
dgvBill.Rows(NewRow).Cells("No").Value = tbNo.Text
dgvBill.Rows(NewRow).Cells("Total").Value = CInt(tbSellingPrice.Text * tbNo.Text)
dgvBill.Rows.Add()
Dim NewRow = dgvBill.Rows.Count - 1
dgvBill.Rows(NewRow).Cells("ItemName").Value = tbItemName.Text
dgvBill.Rows(NewRow).Cells("Price").Value = tbSellingPrice.Text
dgvBill.Rows(NewRow).Cells("No").Value = tbNo.Text
dgvBill.Rows(NewRow).Cells("Total").Value = CInt(tbSellingPrice.Text * tbNo.Text)
- يتم الـتأكد من عدم سماح تكرار المادة المضافة داخل فاتورة البيع اكثر من مرة وحسب الكود التالي:_
- يتم الـتأكد من عدم سماح تكرار المادة المضافة داخل فاتورة البيع اكثر من مرة وحسب الكود التالي:_
For i = 0 To dgvBill.Rows.Count - 1
If dgvBill.Rows(i).Cells("ItemName").Value = tbItemName.Text Then
MsgBox("المادة التي أخترتها مضافة فعلاً الى فاتورة البيع", vbMsgBoxRight + MsgBoxStyle.Information, "عذراً..")
Return
End If
Next
For i = 0 To dgvBill.Rows.Count - 1
If dgvBill.Rows(i).Cells("ItemName").Value = tbItemName.Text Then
MsgBox("المادة التي أخترتها مضافة فعلاً الى فاتورة البيع", vbMsgBoxRight + MsgBoxStyle.Information, "عذراً..")
Return
End If
Next
- يتم إضافة صف جديد يتم فيه حساب فيه مجموع او اجمالي الفاتورة وحسب الكود التالي:_
- يتم إضافة صف جديد يتم فيه حساب فيه مجموع او اجمالي الفاتورة وحسب الكود التالي:_
dgvBill.Rows.Add()
Dim RowTotal = dgvBill.Rows.Count - 1
dgvBill.Rows(RowTotal).Cells("ItemName").Value = "المجموع"
Dim sumRowTotal As Double
sumRowTotal = 0
For Each r As DataGridViewRow In dgvBill.Rows
sumRowTotal += r.Cells("Total").Value
Next
dgvBill.Rows(RowTotal).Cells("No").Value = "-"
dgvBill.Rows(RowTotal).Cells("Price").Value = "-"
dgvBill.Rows(RowTotal).Cells("Total").Value = sumRowTotal
dgvBill.Rows.Add()
Dim RowTotal = dgvBill.Rows.Count - 1
dgvBill.Rows(RowTotal).Cells("ItemName").Value = "المجموع"
Dim sumRowTotal As Double
sumRowTotal = 0
For Each r As DataGridViewRow In dgvBill.Rows
sumRowTotal += r.Cells("Total").Value
Next
dgvBill.Rows(RowTotal).Cells("No").Value = "-"
dgvBill.Rows(RowTotal).Cells("Price").Value = "-"
dgvBill.Rows(RowTotal).Cells("Total").Value = sumRowTotal
- في حال اضافة مادة ثانية نحتاج الى حذف صف المجموع المضاف اخر صف لضمان عدم تكراره مع كل عملية اضافة والسماح باضافته فقط اخر صف وحسب الكود التالي:_
- في حال اضافة مادة ثانية نحتاج الى حذف صف المجموع المضاف اخر صف لضمان عدم تكراره مع كل عملية اضافة والسماح باضافته فقط اخر صف وحسب الكود التالي:_
If dgvBill.Rows.Count <> 0 Then
Dim lastrow = dgvBill.Rows.Count - 1
If dgvBill.Rows(lastrow).Cells("ItemName").Value = "المجموع" Then
dgvBill.Rows.RemoveAt(lastrow)
End If
End If
If dgvBill.Rows.Count <> 0 Then
Dim lastrow = dgvBill.Rows.Count - 1
If dgvBill.Rows(lastrow).Cells("ItemName").Value = "المجموع" Then
dgvBill.Rows.RemoveAt(lastrow)
End If
End If
- يتم وضع الاكواد اعلاه (ماعدا كود التحقق من الادوات اذا كانت تحتوي على قيمة او لا ) في جملة Try .. Catch , وحسب الترتيب الموضح بالكود التالي
- يتم وضع الاكواد اعلاه (ماعدا كود التحقق من الادوات اذا كانت تحتوي على قيمة او لا ) في جملة Try .. Catch , وحسب الترتيب الموضح بالكود التالي
Private Sub btnAddtoBill_Click(sender As Object, e As EventArgs) Handles btnAddToBill.Click
If tbItemName.Text = "" Then
MsgBox("يرجى التأكد من إدخال اسم المادة", vbMsgBoxRight +
MsgBoxStyle.Critical, "عذراً .. اسم المادة مطلوب")
tbItemName.Focus()
Return
End If
If tbSellingPrice.Text = "" Then
MsgBox("يرجى التأكد من إدخال سعر البيع", vbMsgBoxRight + MsgBoxStyle.Critical,
"عذراً .. سعر البيع مطلوب")
tbSellingPrice.Focus()
Return
End If
If tbNo.Text = "" Then
MsgBox("يرجى التأكد من إدخال عدد الوحدات", vbMsgBoxRight +
MsgBoxStyle.Critical, "عذراً .. عدد الوحدات مطلوب")
tbBillNo.Focus()
Return
End If
Try
For i = 0 To
dgvBill.Rows.Count - 1
If dgvBill.Rows(i).Cells("ItemName").Value = tbItemName.Text Then
MsgBox("المادة التي أخترتها مضافة فعلاً الى فاتورة البيع", vbMsgBoxRight + MsgBoxStyle.Information, "عذراً..")
Return
End If
Next
If dgvBill.Rows.Count <> 0 Then
Dim lastrow = dgvBill.Rows.Count - 1
If dgvBill.Rows(lastrow).Cells("ItemName").Value = "المجموع" Then
dgvBill.Rows.RemoveAt(lastrow)
End If
End If
dgvBill.Rows.Add()
Dim NewRow = dgvBill.Rows.Count - 1
dgvBill.Rows(NewRow).Cells("ItemName").Value =
tbItemName.Text
dgvBill.Rows(NewRow).Cells("Price").Value =
tbSellingPrice.Text
dgvBill.Rows(NewRow).Cells("No").Value = tbNo.Text
dgvBill.Rows(NewRow).Cells("Total").Value = CInt(tbSellingPrice.Text * tbNo.Text)
dgvBill.Rows.Add()
Dim RowTotal = dgvBill.Rows.Count - 1
dgvBill.Rows(RowTotal).Cells("ItemName").Value = "المجموع"
Dim sumRowTotal As Double
sumRowTotal = 0
For Each r As DataGridViewRow In dgvBill.Rows
sumRowTotal += r.Cells("Total").Value
Next
dgvBill.Rows(RowTotal).Cells("No").Value = "-"
dgvBill.Rows(RowTotal).Cells("Price").Value = "-"
dgvBill.Rows(RowTotal).Cells("Total").Value = sumRowTotal
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub btnAddtoBill_Click(sender As Object, e As EventArgs) Handles btnAddToBill.Click
If tbItemName.Text = "" Then
MsgBox("يرجى التأكد من إدخال اسم المادة", vbMsgBoxRight +
MsgBoxStyle.Critical, "عذراً .. اسم المادة مطلوب")
tbItemName.Focus()
Return
End If
If tbSellingPrice.Text = "" Then
MsgBox("يرجى التأكد من إدخال سعر البيع", vbMsgBoxRight + MsgBoxStyle.Critical,
"عذراً .. سعر البيع مطلوب")
tbSellingPrice.Focus()
Return
End If
If tbNo.Text = "" Then
MsgBox("يرجى التأكد من إدخال عدد الوحدات", vbMsgBoxRight +
MsgBoxStyle.Critical, "عذراً .. عدد الوحدات مطلوب")
tbBillNo.Focus()
Return
End If
Try
For i = 0 To
dgvBill.Rows.Count - 1
If dgvBill.Rows(i).Cells("ItemName").Value = tbItemName.Text Then
MsgBox("المادة التي أخترتها مضافة فعلاً الى فاتورة البيع", vbMsgBoxRight + MsgBoxStyle.Information, "عذراً..")
Return
End If
Next
If dgvBill.Rows.Count <> 0 Then
Dim lastrow = dgvBill.Rows.Count - 1
If dgvBill.Rows(lastrow).Cells("ItemName").Value = "المجموع" Then
dgvBill.Rows.RemoveAt(lastrow)
End If
End If
dgvBill.Rows.Add()
Dim NewRow = dgvBill.Rows.Count - 1
dgvBill.Rows(NewRow).Cells("ItemName").Value =
tbItemName.Text
dgvBill.Rows(NewRow).Cells("Price").Value =
tbSellingPrice.Text
dgvBill.Rows(NewRow).Cells("No").Value = tbNo.Text
dgvBill.Rows(NewRow).Cells("Total").Value = CInt(tbSellingPrice.Text * tbNo.Text)
dgvBill.Rows.Add()
Dim RowTotal = dgvBill.Rows.Count - 1
dgvBill.Rows(RowTotal).Cells("ItemName").Value = "المجموع"
Dim sumRowTotal As Double
sumRowTotal = 0
For Each r As DataGridViewRow In dgvBill.Rows
sumRowTotal += r.Cells("Total").Value
Next
dgvBill.Rows(RowTotal).Cells("No").Value = "-"
dgvBill.Rows(RowTotal).Cells("Price").Value = "-"
dgvBill.Rows(RowTotal).Cells("Total").Value = sumRowTotal
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
تعليقات
إرسال تعليق