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

أريد كود لعمل العمليات الحسابية على الداتا وانقاص الكمية من جدول الاصناف

بدأه تمتوم في 15 مايو 2010 · 11 رد · 4,645 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

انا الان اقوم بعمل مشروع تخرج لنظام محاسبي بالفيجوال دوت نت 2008 وسكول 2005 ولم يبقى على التسليم وقت

فأرجوا ان تساعدوني في الفواتير حيث لدي داتا غريد يوجد بها كود الصنف والكمية المباعه وسعر الصنف والمبلغ والخصم واجمالي المبلغ

بحيث أريد عنما يختار المستخدم كود الصنف ويكتب الكمية المباعه بتظهر رساله ان كانت الكمية المطلوبه متوفرة ام غير متوفرة وان كانت متوفرة يتم انقاصها من جدول الاصناف

و يتم ضربها بالسعر الصنف ويطلع الناتج بالمبلغ وبعد ذلك يعمل خصم وبينضاف في المبلغ الاجمال

وعند شراء العميل لاكثر من صنف تنجمع جميع المبالغ الي في الداتا غريد وتنضاف في التكست الي موجود براس الفاتورة فأرجوا مساعدتي واعطائي كود بذلك لاني بحثت كتيرا ولم اجد الجواب

شكرا

تم تعديل هذه المشاركة بواسطة تمتوم في 15 مايو 2010 في 18:57

−1
#2

اخي الكريم ....

بما انك تعمل علي SQL SERVER فيمكنك الاستفادة من TRIGGERS لأتمام المهمة

والافضل ان تضع رابط للمشروع وسنقوم إن شاء الله بمساعدتك

1

وما من كاتب إلا سيفني .. ويبقي الدهر ما كتبت يداه.

فلا تكتب بكفك غير شئ .. يسرك في القيامة ان تراه.

#3

السلام عليكم أخي

العملية التي تطلبها تسمى "الجرد"

وتتم هذه العملية من خلال استعلام sql كالتالي

الكمية المتبقية للصنف = مجموع الكمية الداخلة للمستودع - مجموع الكمية المخرجة منه للصنف

فتلقائيا سيقوم الاستعلام بعملية الطرح

نرجو منك توضيح الجداول التي استخدمتها من أجل مساعدتك في بناء الإستعلام

1
#4

مشكورين

بس انا مش فاهمة كيف اعمل الاستعلام وما اعرف ماهي triger ياليت تساعدوني في اقرب وقت مابقي شي غلى التسليم

الجداول عندي جدول الاصناف

item_code

tiem_name

price1

price18

price 25

qty1

qty18

qty25

حيث لكل لتر كميه معينه

مثل جالون لتر واحد له كميه qty 1

وجدول راس الفاتورة

inv_id

inv_date

customer_id

account_id

inv_payment

nots

chech_id

user_id

اما جدوال تفاصيل الفاتورة به

ts_id مفتاح رئيسي

inv_id

item_code

qty

price

discount

total

وهذي صورة الشاشة لدي

261556763.jpg

وانا اريد ان اعمل جميع العليات الحسابيه على الداتا غريد بمجرد ما اكتب فيها وعند كتابة كميه اكبر من الكميه الموجودة بالمخزن تظهر لي رسالة بان الكميه المطلوبة غير متوفرة

واذاكانت متوفرة يقوم بانقاصها من جدول الاصناف (علما بان لكل نوع 3 احجام بكمياتها (1 لتر وكميته و 18 لتر وكميته و25 لتر كميته ))

وعند شراء اكثر من صنف يقوم بجمع العامود (المجموع) الموجود بالدا غريد ووضع الناتج في التكست الموجود بالراس لنعرف كم اجمالي الفاتورة

ونفس الشي بفاتورة استرجاع ويقوم بزيادة الكمية

تم تعديل هذه المشاركة بواسطة تمتوم في 20 مايو 2010 في 15:51

#5

اخي الكريم

triger هي عملية استجابة للاحداث التي تحصل علي الجدول كالاضافة والحذف والتعديل وبما انك تعمل علي sql server فمن الاجدي لك ان تجعلها هي من تقوم بهذه العمليات الحسابية , يمكنك ان تبعث السورس كود للمشروع وساقوم بمساعدتك علي استكماله إن شاء الله

وبالتوفيق

وما من كاتب إلا سيفني .. ويبقي الدهر ما كتبت يداه.

فلا تكتب بكفك غير شئ .. يسرك في القيامة ان تراه.

#6
Eng.Aboda كتب:

السلام عليكم أخي

العملية التي تطلبها تسمى "الجرد"

وتتم هذه العملية من خلال استعلام sql كالتالي

الكمية المتبقية للصنف = مجموع الكمية الداخلة للمستودع - مجموع الكمية المخرجة منه للصنف

فتلقائيا سيقوم الاستعلام بعملية الطرح

نرجو منك توضيح الجداول التي استخدمتها من أجل مساعدتك في بناء الإستعلام

هذا الاسستعلام غير نافع لان كمية الصنف تتوقف علي اشياء متعددة كالبيع والشراء وارجاع المبيعات وارجاع المشتريات والتوالف و تسوية الكمية والفاقد ولعمل استعلام يقوم بحساب من جميع هذه الجدوال سياخذ وقت كبير مما يؤدي لعدم نجاح النظام ومن الافضل ان يتم تخزين كمية الصنف في حقل ويتم انقاص او زيادة الكمية حسب العملية المنجزة

−1

وما من كاتب إلا سيفني .. ويبقي الدهر ما كتبت يداه.

فلا تكتب بكفك غير شئ .. يسرك في القيامة ان تراه.

#7

الاخ العقوري جزاك الله خير

تم ارسال رابط المشروع على الخاص

وشكرا

#8

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

ملف قاعدة البيانات الذي ارسالته معطوب ارجو اعادة ارساله من جديد

وما من كاتب إلا سيفني .. ويبقي الدهر ما كتبت يداه.

فلا تكتب بكفك غير شئ .. يسرك في القيامة ان تراه.

#9

تم ارسالة

شكرا

#10

السلام عليكم ورحمة الله اخي تمتوم اعذرني عن تاخري في الرد ولكن كنت منشغل بعض الشئ ..ولندخل بالموضوعلقد قمت بعمل TRIGGERS علي جدول T_Invoice وهو علي ما اظن الجدول الخاص بفاتورة المبيعات وعلي كل حال ساقوم بشرح ما قمت به TRIGGERS هو حدث يعمل علي مستوي الجدول الخاص به وتنقسم الاحداث الي ثلاث احداث وهي العمليات الاساسية علي الجدول الاضافة والتعديل والحذففي حالة الاضافة تقوم sql server بانشاء سجل لاخر عملية اضافة علي جدول ويسمي الجدول الخاص بهذا السجل inserted و يمكننا القيام بالاستعلام عن حقوله  بطريقه نفسها في الجدوال العادية نفس الكلام ينطبق علي عملية الحذف والجدول الخاص به يسمي deleted اما في حالة التعديل فيتم انشاء جدولين deleted و inserted ولان عملية التعديل في تعامل كعملية حذف للسجل القديم واضافة للسجل الجديد صور تشرح كيفية انشاء TRIGGERS 328210429.jpg568177892.jpgوفي حالة العمل علي نظامك فاننا في عملية الاضافة سنقوم بالتالي قراءة الصف المضاف حديثا تعديل الاجمالي الخاص بالفاتورة والحقل الخاص به موجود في جدول البيانات الرئيسية للفاتورة .تعديل كمية الصنف المباع وفي حالة البيع سنقوم بانقاص كمية الصنف في جدول الاصناف بقدر الكمية المباعة.http://www.herosh.com/download/3951935/trigger1save.jpg.htmlفي حالة الحذف سنقوم بنفس العمليات السابقة ولكن سنعكس العمليات الحسابية لان اجمالي الفاتورة يطرح منه سعر الصنف المحذوف من الفاتورة * الكمية المباعة مسبقا من الصنف ومن ثم يجمع كمية الصنف بالفاتورة علي كمية الصنف بجول الاصنافhttp://www.herosh.com/download/3952013/trigger2.jpg.htmLفي حالة التعديل بنقوم بالعمليتان السابقتان مجتمعات اي سنقوم بالعملية التي قمنا بها بالحذف ومن ثم العملية التي قمنا بها بالاضافةhttp://www.herosh.com/download/3952044/trigger3.jpg.html,والملف المرفق به قاعدة البيانات بعد التعديل وقد قمت باضافة حقل الي جدول T_Invoice اسميته qutno وهو خاص بمعرفة اي نوع من الصنف قد بيعت 1 او 18 او 25 لطرح الكمية او جمعها بالحقل الخاص بها فلا تنسي اضافته الي الكود لديك في عملية استرجاع المبيعات قم بكتابة نفس الاحداث علي فاتورة الارجاع الفرعية مع عكس جميع العمليات الحسابية وهذا ينطبق علي فاتورة المشتريات اما فاتورة ارجاع المشتريات فالعمليات الحسابية تنطبق مع ما قمنا به في فتورة المبيعات تعقيبات علي المشروع طريقة العمل في جدول الاصناف من حيث تفريع الكميات 1و18و25 من الافضل ان تقوم بجعلها كمية واحدة وتفريع الاصناف بحيث يصبح كل صنف لوحده مثلا (اسم الصنف 1 لتر)  والثاني (اسم الصنف 18 لتر) وهكذا.. اي ان لكل صنف كمية واحدة الا اذا كنت تعمل علي اكثر من مخزن ويصبح لكل مخزن كمية من الصنف.المجموع TOTAL في جدول الفاتورة الفرعية الافضل الا يتم تخزينه لاننا نستطيع ان نحصل عليه بطريقة سهلة وهي ضرب الكمية المباعة بسعر البيع.ادخال كمية الصنف في بيانات جدول الاصناف غير صحيحة عمليا ومن الافضل ان يتم الادخال فقط عن طريق فاتورة المشتريات .ارجوا ان اكون قد وفقت في شرح الموضوع , موفق إن شاء الله

ddd.rar

تم تعديل هذه المشاركة بواسطة العقوري في 2 يونيو 2010 في 00:34

وما من كاتب إلا سيفني .. ويبقي الدهر ما كتبت يداه.

فلا تكتب بكفك غير شئ .. يسرك في القيامة ان تراه.

#11

يعطيك العافية على المساعدة

#12

انا بصراحة المشروع شكله حلو

لو ينفع تبعته على الخاص حتى استفيد من بعض الاكواد لو امكن

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…