تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة الكسور في برنامج مبيعات
#1
السلام عليكم
عندي البرنامج عند حساب الضريبة لازم يطلع كسور
سواء زيادة او ناقص 
الضريبة المحددة هي ( 15 % ) يقوم البرنامج بحسابها وليس يدوي
ايه حل المشكلة ( الصورة مرفقة ) سعر البيع المفترض 7 ريال شامل الضريبة ( يظهر في شاشة البيع ) 7.0035 ريال
وفي حساب اخر سعر البيع 22 ريال شامل الضريبة ( يظهر في شاشة البيع ) 21.9995 ريال

 .Parameters.AddWithValue("@ProductSale", SqlDbType.Decimal).Value = TxtProductSale


الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته :
اذا كان السعر مفروض من قبل هيئة للتسعير .. فـ بيكون الخطأ أساساً من الرقم المخزن في النظام : الرقم قبل الضريبة.
حيث أنه 7 ريال شامل ضريبة قيمة مضافة(15%) تعني : 
  • قيمة المنتج تقريباً     :  6.0869565
  • القيمة المضافة تقريباً :  0.9130435
لا بد من وجود خطأ بالفواصل عند حساب الضريبة على الأرقام الصغيرة .. ويتحملها بالعادة البائع، (شو يعني الفرق يكون ريال على كل 10 آلاف ريال)
وليس بالضرورة أن يكون على صاحب العمل، أحياناً يكون المجموع أقل من الرقم فيعطي الرقم نفسه مجبوراً، فيكون الكسر برقم يجبره جبر رقم آخر.


من أجل تجاوز ها الخطأ الظاهري عليه أن يقوم بتخزين الأرقام في النظام بعد الضريبة وليس قبلها..
وشاشة المبيعات هي من تقوم بإستخلاص الضريبة وعرضها للمستخدم..
ولعرض نتيجة تقريبية مرضية عليه عرض اربع خانات على الأقل كما فعلت في شاشة مبيعاتك.
وعليه استخدام الكود التالي ضمن حدث التغير لمربع التسعيرة ليحسب السعر قبل الضريبة والضريبة عليه مع التقريب لأربع خانات بعد الفاصلة :
كود :
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
   TextBox2.Text = Strings.Format(Val(TextBox1.Text) / 1.15, "0.0000")
   TextBox3.Text = Strings.Format(Val(TextBox1.Text) / 1.15 * 0.15, "0.0000")
End Sub
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة: ali_ahmed12
#3
(14-01-23, 06:53 PM)Taha Okla كتب : وعليكم السلام ورحمة الله وبركاته :
اذا كان السعر مفروض من قبل هيئة للتسعير .. فـ بيكون الخطأ أساساً من الرقم المخزن في النظام : الرقم قبل الضريبة.
حيث أنه 7 ريال شامل ضريبة قيمة مضافة(15%) تعني : 
  • قيمة المنتج تقريباً     :  6.0869565
  • القيمة المضافة تقريباً :  0.9130435
لا بد من وجود خطأ بالفواصل عند حساب الضريبة على الأرقام الصغيرة .. ويتحملها بالعادة البائع، (شو يعني الفرق يكون ريال على كل 10 آلاف ريال)
وليس بالضرورة أن يكون على صاحب العمل، أحياناً يكون المجموع أقل من الرقم فيعطي الرقم نفسه مجبوراً، فيكون الكسر برقم يجبره جبر رقم آخر.


من أجل تجاوز ها الخطأ الظاهري عليه أن يقوم بتخزين الأرقام في النظام بعد الضريبة وليس قبلها..
وشاشة المبيعات هي من تقوم بإستخلاص الضريبة وعرضها للمستخدم..
ولعرض نتيجة تقريبية مرضية عليه عرض اربع خانات على الأقل كما فعلت في شاشة مبيعاتك.
وعليه استخدام الكود التالي ضمن حدث التغير لمربع التسعيرة ليحسب السعر قبل الضريبة والضريبة عليه مع التقريب لأربع خانات بعد الفاصلة :
كود :
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
   TextBox2.Text = Strings.Format(Val(TextBox1.Text) / 1.15, "0.0000")
   TextBox3.Text = Strings.Format(Val(TextBox1.Text) / 1.15 * 0.15, "0.0000")
End Sub
الف شكر ي غالي تم الحل مشكووووووووور جدا
لكن سؤال بسيط
هل متغير الجدول يحدث اي مشاكل على المدى البعيد
يعني تفرق اذا كان الصف decimal(18, 2) او nvarchar(250) او int
حتى لو كان الكود يعمل جيد لكن اقصد على المدى البعيد ؟
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: