تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة الشراء باسعار مختلفه
#1
فى مشكله بتواجهنى وممكن تكون بتواجه كتير من المبتدئين 
انا عامل برنامج مبيعات صغير فاتورة الشراء بيدرج المشتريات للمخزن بالاسعار الى فى فاتورة المشتريات لو اشترى تانى نفس السلع باسعار مختلفه 
حلها ايه 
1- هل يدرج اسم المورد جمب اسم الصنف ؟
ممكن يشترى نفس الصنف من نفس المورد باسعار مختلفه 
2- هل يدرج اسم الصنف بجواره رقم واحد بالكود بالفيجوال تلقائى دون تدخل المستخدم ؟
اذاى ..؟؟؟؟؟
او يكون ايه الحل ارجو المساعده
الرد
تم الشكر بواسطة:
#2
يفترض أنك لا تكرر نفس الصنف في نفس فاتورة المشتريات. هذا أولاً.

الفاتورة تتكون من قسمين:
قسم رأس الفاتورة: وهو جدول في قاعدة البيانات يحتوي على حقول تمثل رأس الفاتورة مثل:
رقم مسلسل - رقم الفاتورة - تاريخ الفاتورة - رقم المورد - إجمالي الفاتورة - قيمة الخصم - نهائي الفاتورة - القيمة المدفوعة - القيمة المتبقية - حالة الفاتورة... الخ.
(وبالطبع لا بد من وجود جدول خاص بالموردين يحتوي على حقول مثل: رقم مسلسل - اسم المورد - أرقام الهواتف - العنوان - البريد الإلكتروني - حالة المورد - ... الخ).

قسم محتويات الفاتورة: وهو جدول في قاعدة البيانات يحتوي على حقول تمثل محتويات الفاتورة من الأصناف مثل:
رقم مسلسل - رقم الفاتورة - رقم الصنف - الكمية - سعر التكلفة للوحدة - إجمالي سعر التكلفة - ... الخ.

ويكون مرتبطاً بجدول رأس الفاتورة من خلال الحقل (رقم الفاتورة).

في الفورم الخاص بالفاتورة، تصنع آلية لاختيار الأصناف (عن طريق الباركود أو عن طريق البحث عن الصنف المطلوب يدوياً) وعند اختياره تكتب الكمية المشتراة وسعر التكلفة للوحدة ثم تضغط زراً معيناً ليضيفه إلى محتويات الفاتورة.

   


عندئذ يتم إضافة إجمالي تكلفة هذا الصنف إلى الإجمالي العام للفاتورة، ويتم تحديث كل من الجدولين (جدول رأس الفاتورة وجدول محتويات الفاتورة) بالقيم الجديدة.

   

   

- اصنع آلية لاختيار المورد، بحيث تسترجع رقم تسلسله واسمه من جدول الموردين، ليتم تحديث جدول رأس الفاتورة برقم المورد المحدد.

   

- اصنع آلية لسداد الفاتورة.

   

- عند الانتهاء من تخزين الأصناف المشتراة في الفاتورة، اصنع آلية تقوم بإضافة الكميات المشتراة إلى نظيراتها في جدول الأصناف، ولا تنس أيضاً أن تستنتج (متوسط) سعر تكلفة كل صنف وتقوم بتحديث حقل سعر التكلفة لكل صنف من أصناف الفاتورة في نظيراتها من جدول الأصناف. وحبذا لو تخزن التغيير في سعر التكلفة في جدول مستقل يكون بالتركيبة التالية: رقم مسلسل - رقم الصنف - سعر التكلفة الحالي - سعر التكلفة الجديد - تاريخ آخر تحديث - رقم المشغل... الخ.

- كل ذلك تعمله يدوياً بنفسك، حتى تفهم الكود تماماً ويمكنك لاحقاً تعديله وتصحيح مواطن العلل إن وجدت.

أتمنى لك الفائدة.
الرد
#3
م / أبوبكر سويدان بشكر حضرتك جدااا على اجابة حضرتك
وانا عامل جدول لراس الفاتوره فعلا وجدول لعناصر الفاتوره وراس الفاتوره مربوط بجدول المورردين برده وبيتم ادراج الاصناف لجدول الاصناف
هل فى طريقه بقى يتم فيها ادراج مثلا اشتريت النهارده كماكم علبه بسعر 10 جنيه عدد 15
وتانى يوم اشتريت طماطم علبه بسعر 15 جنيه عدد10
وده ممكن يكون مقدمه ليا فى اصناف بتواريخ صلاحيه مختلف
عند جرد المخزن اعرف ان عندى 25 علبة طماطم 15 ب 10 و 10 علب ب15
الى هى الجزء ده من كلام حضرتك" وحبذا لو تخزن التغيير في سعر التكلفة في جدول مستقل يكون بالتركيبة التالية: رقم مسلسل - رقم الصنف - سعر التكلفة الحالي - سعر التكلفة الجديد - تاريخ آخر تحديث - رقم المشغل... الخ."
انا بجد يا م / أبوبكر سويدان بشكر حضرتك واتمنى انك تساعدنى علشان دورت ويوتيوب وحضرتك الوحيد الى رديت عليا
الرد
تم الشكر بواسطة: أبوبكر سويدان , sendbad100 , sendbad100
#4
لو اتبعت طريقتي، ستكون قد أجبت نفسك بنفسك.

أنت عندما تخزن محتويات الفاتورة في الجدول، لديك الآن سجل بحركة شراء أي صنف، وباستخدام جمل SQL يمكنك عمل تقرير لهذه الحركة بحيث يبين لك تواريخ الشراء وأسعار الشراء وغير ذلك من المعلومات.

تابعتُ بعض مواضيعك في المنتدى، وأعتقد انك مبتدئ، ولذلك أنصحك بدراسة أساسيات البرمجة والخوارزميات وقواعد البيانات قبل الخوض في برامج كبيرة.
الرد
تم الشكر بواسطة: sendbad100 , sendbad100 , elgokr
#5
مرحبا صديقي اتمنى اني مش جاي متاخر
الطريقه انك تعمل وسط حسابي للاصناف القديمة و الجديده 
يعني عندك نجي نحكي 10 كياس رز تسجلو اول مره
و كان سعر الكيس فالنفرض 15
رجت جبت كمان 10 كياس من نفس النوع بس جبت الكيس بسعر 13
الي بتعملو كالاتي :

مجموع سعر جميع اكياس الارز 1 + مجموع سعر جميع  اكياس الارز 2 / ( تقسيم ) عدد الاكياس 1 + عدد الاكياس2

يعني 


مجموع سعر جميع اكياس الارز 1 : 10*15 = 150
مجموع سعر جميع اكياس الارز 2 : 10*13 = 130
عدد الاكياس 1 + عدد الاكياس2 = 10 + 10= 20

سعر الكيس النهائي: 150 + 130/ 20 = 14

اتمنى اني افدتك
الرد
#6
اخي الكريم في البرامج المحاسبية هناك ثلاث طرق للتعامل مع تكلفة الصنف عند عملية الشراء

1- احتساب اخر سعر شراء هو سعر التكلفة للصنف :  وهذه تحتاج فقط لتغير سعر التكلفة باخر سعر شراء

2- احتساب سعر الشراء السابق هو سعر التكلفة للصنف : وهذه لا تحتاج الى تغير سعر التكلفة لانه يعتمد على السعر السابق


3- احتساب متوسط التكلفة هو سعر التكلفة للصنف
وهذا المعتمد والاصح عند اغلب المحاسبين عشان يجيب لك تقارير تكلفة المخزون + تقارير تكلفة المبيعات بشكل صحيح

والطريقة الثالثة تحتاج لعمل معادلة لحساب متوسط التكلفة كالتالي

1-  جمع التكاليف : تكلفة إجمالي المخزون السابق + تكلفة إجمالي المخزون في فاتورة المشتريات  = تكلفة اجمالي المخزون السابق والجديد
2-  جمع المخزون : مجموع المخزون السابق + مجموع المخزون في الفاتورة = مجموع المخزون السابق والجديد

نقوم بقسمة مجموع التكاليف على مجموع المخزون لنحصل على متوسط سعر التكلفة للصنف .



(إني وجهت وجهي للذي فطر السماوات والأرض حنيفًا وما أنا من المشركين)
الرد
تم الشكر بواسطة: نبيل كونكت , نبيل كونكت
#7
السلام عليكم الاخوة الاكارم بعد متابعتي للموضوع اري ان الاخ ابو بكر قد شرح الموضوع شرحا مستفيضا رائعا وان طريقته هي المثلي .
والى الاخ نبيل اقول له بصفتي محاسب
ان المخزون فى حركة دائمة من اضافة او صرف او ارتجاع ( فبذلك من الناحية المحاسبية لن يفيدنا ان نعرف كم من الصنف الواحد بسعر كم بل قد تكون الاصناف بالمئات والالف فتخيل معى فةى هذه الحالة ما هى الفائدة من معرفة ان الصنف 1 مثلا لدينا 500 قطعة وبيانها كالتالى 10 ب5 , 60 ب5.5 , 105 ب 8 وهكذا فهذا امر شاق لا فائدة محاسبية منه فنحن كل ما يهمنا هو حساب قيمة المخزون بسعر السوق او التكلفة ايهما اقل (طبقا لمبداء الحيطة والحذر) حتي نستطيع ان نحسب تكلفة البضاعة المباعة كي نكون قادرين على حساب مجمل الربح والموضوع يطول شرحه)
وان هناك ثلاث طرق اساسية للصرف من المخزون يترتب عليها تقدير قيمة المخزون اخر المدة (البضاعة فى المخزن اخر العام او حاليا وقت الجرد)
=====================
1- طريقة ما ورد اولا يصرف اولا - وهى للاشياء التى لها تاريخ صلاحية تنفع الصيدلايات ( ويكون فى هذه الحالة قيمة المخزون هى احدث الاسعار للصنف وهذه الطريقة معقدة برمجيا )
2- طريقة ما ورد اخيرا يصرف اولا وهى عكس الطريقة السابقة
3- طريقة متوسط التكلفة للوحدة وهذه هى الطريقة الافضل والتي تصلح برمجيا
==========================
وبالتوفيق
الرد
تم الشكر بواسطة: نبيل كونكت , elgokr , elgokr , أبوبكر سويدان
#8
بشكركوا جميعا بجد بس انا صممتها على اساس
السعر القديم + السعر الجديد /2 بصرف النظر عن الكميه
فى اى عدد بسعر 10 واشتريت اى عدد بسعر 20 متوسط شراء الواحده كده 15 ايا كان العدد
والحمد لله حتى نظام الصلاحيات كمعرفة الصلاحيات وكمياتها عرفتها  بس دى فى المشروع الجاى ان شاء الله وطريقة ما ورد اولا يصرف اولا  بس مش بالشكل ده بتحدديد اقرب تاريخ انتهاؤ وهيكون فى الصيدليات فعلا هخنقكم بيه فعلا لو وقفت قدامى حاجه بس انا هعتمد على المينى والماكس فى التواريخ ان شاء الله
عدينا مرحلة الشراء دى ودخلت فى التحزيم وواقف معايا برده الحمد لله
الرد
تم الشكر بواسطة:
#9
ممكن مثال للطريقة اخواتى
الرد
تم الشكر بواسطة:



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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم