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

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

بدأه هانى عوض في 26 أكتوبر 2008 · 27 رد · 6,664 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

تحية طيبة أخوانى الكرام

قمت بمتابعة بعض المواضيع التى طرحت موضوع المتوسط الحسابى والمرجح ولكن تضاربت الآراء ولم أجد الحل الذى يرضينى...

المثال

قمنا بشراء كمية كاميرات على ثلاث مرات

الكمية --------السعر---------القيمة

50------------95--------4750

7--------------85 --------595

5--------------50 --------250

ــــــــ ------------------- ـــــــــ

62 ----------------------5595

إذا التكلفة للقطعة = (إجمالى القيمة / إجمالى الكمية)= 90.24

السؤال:

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

أى آخر تكلفة للوحدة فى رصيد المخزن محسوب عليها التكلفة الجديدة وهكذا

مرفق مثال ولكن بطريقة آخر سعر شراء.. لأن هذه الطريقة السابقة لم تضبط معى..

أرجو أن أكون قد وفقت فى شرح المشكلة..

وشكراً مسبقاً للمساعدة

HItemCost.rar

تم تعديل هذه المشاركة بواسطة هانى عوض في 26 أكتوبر 2008 في 16:19

#2

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

اخي الكريم هذا الموضوع دار حوله نقاش في عدة منتديات ؛ وفي واقع الحياة العملية ايضا

وزي ما بيقوله في مصر كل شيخ وليه طريقته

ولكن من وجه نظري انا حسب المثال المرفق منك

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

اجمالى عدد مرات الشراء لقيمة القطعة الواحده مقسومة علي عدد مرات الشراء ؛ تكون المعادلة كاالتالي بالمثال المرفق منك :

(95+85+50) / 3 = 76.66

اذن سعر الشراء للمنتج بالمتوسط هو : 76.66

وعلي اساس هذا السعر قم بحساب اجمالي رصيد المخزن لديك

بالتوفيق

تم تعديل هذه المشاركة بواسطة Hisham_wz في 26 أكتوبر 2008 في 17:25

#3

شكراً أخى هشام لتجاوبك معى

ولكن عملياً بهذه الطريقة يصبح تكلفتها قيمة غير صحيحة

فإجمالى الكمية 62 قطعة * 76.66 متوسط=4752.92 قيمة المخزن "بالطبع قيمة خاطئة"

فقيمة المخزن لدى بناء على احتساب سعر التكلفة 90.24

= 62 قطعة * 90.24 التكلفة= 5594.88 وهى قيمة أقرب احتساباً لقيمة رصيد المخزن لدى

أرجو أن أكون وضحت وجهة نظرى فى هذه الطريقة

وشكراً مسبقاً للمساعدة

#4

بســم الله الـرحمــن الرحيــم

استاذنا الكريم هاني

مرحبا بك وبأسئلتك الدسمة :lol:

دون الخوض في تفاصيل سنتكلم من الناحية المخزنية

ما ذكرته سابقا صحيح تماماً من حيث تسعير المشتريات

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

بالطبع انت تريد تسعير رصيدك المخزني

والرصيد ماهو الا وارد - منصرف (تمام ياعمنا؟؟)

دعنا نمشي مع مثالك السابق

1 - انت تقول انك اشتريت 62 وحدة بسعر 5595 والمتوسط هو 90.24 للوحدة

بلغة اهل الحسابات والمخازن رصيدك عدده 62 تكلفته الى الان 5595

ومتوسط سعر الوحدة 90.24

نأتي للجديد...

2 - في اليوم التالي ربك فتح عليك وبعت لك 12 قطعة دعك الان من سعر البيع

واسالني عن تكلفة المبيعات؟؟

طبقا لطريقة المتوسط المرجح ستكون التكلفة هي اخر متوسط لديك وهو 90.24

نريد الان ان نسعر رصيدك بعد هذه العملية

العدد = 50

اجمالي التكلفة = 50 * 92.24 = 4612

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

كيف يكون الموقف...؟؟؟

رصيد سابق 50 قطعة * 92.24 = 4612 جم

مشتريات جديدة 25 قطعة * 40 = 1000 جم

رصيدك الجديد 75 قطعة باجمالي قيمة 5612 جم ومتوسط 74.83

4 - حين تبيع دفعة جديدة طبعا تعلم ماذا سنفعل..... تمام؟؟؟

أتمنى أن تكون الناحية المحاسبية والمخزنية وضحت

================

طيب ما العمل لميكنة او برمجة ما سبق على الاكسيس؟؟؟

الشغل كله سيكون في الاستعلام المبني على جدول المنصرف او المبيعات حيث سيتم الاتي (ساعطيك الفكرة العامة وانت معلم كبير)

1 - قراءة متوسط السعر من جدول الرصيد

2 - تأثير الرصيد بعملية البيع الجديدة

==================

شكراً لحسن المتابعة وفي انتظار اي استفسارات :D

تم تعديل هذه المشاركة بواسطة ايهاب عثمان في 26 أكتوبر 2008 في 23:38

طبتم واهتديتم :)

===================================

إقرأ معي

رابط متجدد لكتاب أقرؤه فشاركني فيه

======

فضائح الرافضة ومخازيهم حين يكتب عنها أحد خصومهم فهذا شيء متوقع ،فإن كتب عنها أحدهم فهو شيء غير مألوف ، وإن كان الكاتب أحد مراجعهم وأخص خواصهم فهذا شيء متناهي الغرابة ، وإن علمت أن الكاتب قد قتل بعد نشر الكتاب فقد حان وقت قراءة الكتاب

الكتاب :

حسين الموسوي - لله تم للتاريخ ، كشف الأسرار وتبرئة الأئمة الأطهار

اضغط على الصورة لتحميل الكتاب

%E1%E1%E5%20%CB%E3%20%E1%E1%CA%C7%D1%ED%CE.jpg

-----------

كتب سابقة

سعد الدين الشاذلي - مذكرات حرب أكنتوبر

#5

تحية طيبة لك أخى ومعلمى الكبير إيهاب عثمان

أولاً:

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

ثانياً :

من كلامك عن المخازن.. استشفيت أنك محاسب محترف لا محال.. تملك من الخبرة ما يزيد عن عمرك.. ربنا يزيدك دايماً..

ثالثاً:

شرحك للموضوع قام بتوسيع أفقى أكثر..

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

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

لذلك قمت بالتفكير مرة أخرى فى كيفية تنفيذ فكرة المتوسط المرجح فهى منطقية أكثر..

الأصعب فى الموضوع أننى أدرج تلقائياً سعر الشراء فى فاتورة المبيعات مع كل صنف لاحتساب ربحى على كل قطعة تباع وبإجمالى القطع أعرف مكسبى فى الفاتورة..

والمتشعب فى الموضوع أن مخزنى يعتمد فى ادخاله على:

الصادر : حيث يمثل المبيعات ومردودات المشتريات

والوارد: حيث يمثل المشتريات ومردودات المبيعات

غير عمليات تحويل الأصناف داخل المخازن المختلفة..

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

لذا أرجو لمن يملك أى معلومة ولو بسيطة لا يبخل بها لحل هذه المشكلة..

وجارى العمل ضمن توجيهاتك أخى إيهاب

وشكراً لحسن المتابعة

تم تعديل هذه المشاركة بواسطة هانى عوض في 28 أكتوبر 2008 في 14:23

#6

اخوتي الكرام

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

اخي واستاذي هاني المحترم أحببت المداخلة بهذا الموضوع الجميل ....

واحببت ان افيدك بأنني اتبع هذه الطريقة بحساب السعر الوسطي على برنامج مخازن نحن نعمل عليه منذ اكثر من عشرسنوات ولم نعاني من اية مشاكل والحمد لله.

السعر الوسطي =

( الكمية الموجودة بالمخزن * سعر التكلفة الحالي) +( سعر التكلفة للبضاعة الجديدة * كمية البضاعة الموردة)/

(الكمية الموجودة بالمخزن + كمية البضاعة الموردة)

وبعد تطبيق مثالك على هذه الطريقة اعطى نفس الرقم 90.24

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

اخوك ابو عدنان

27169617.gif
#7

هاني...

شكرا لمجاملاتك (المبالع فيه :D)

موعدنا مساء الغد ان شاء الله اعملك ملف صغير به فكرة الحل

طبتم واهتديتم :)

===================================

إقرأ معي

رابط متجدد لكتاب أقرؤه فشاركني فيه

======

فضائح الرافضة ومخازيهم حين يكتب عنها أحد خصومهم فهذا شيء متوقع ،فإن كتب عنها أحدهم فهو شيء غير مألوف ، وإن كان الكاتب أحد مراجعهم وأخص خواصهم فهذا شيء متناهي الغرابة ، وإن علمت أن الكاتب قد قتل بعد نشر الكتاب فقد حان وقت قراءة الكتاب

الكتاب :

حسين الموسوي - لله تم للتاريخ ، كشف الأسرار وتبرئة الأئمة الأطهار

اضغط على الصورة لتحميل الكتاب

%E1%E1%E5%20%CB%E3%20%E1%E1%CA%C7%D1%ED%CE.jpg

-----------

كتب سابقة

سعد الدين الشاذلي - مذكرات حرب أكنتوبر

#8

بسم الله الرحمن الرحيم

بارك الله فيكم اخواني وفي من شارك في هذا الموضوع الذي نحن بحاجة حقيقية اليه

#9

تحية طيبة لكم أخوانى الكرام

اخى ابو عدنان شكراً لك على مداخلتك الطيبة وهذه المعادلة الشاملة .. فهى بالفعل نفس الطريقة التى قام أخى إيهاب مشكوراً بإيضاحها أكثر فهى فعلاً القانون النهائى لحل هذه المشكلة مخزنياً...

ولكن المشكة تكمن فى كيفية تنفيذها برمجياً..

وهى لازالت صعبة التنفيذ..

ما تم عمله حتى الآن :

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

2- استخدام هذه التكلفة داخل استعلام الرصيد المخزنى

ولكن لم تكتمل الصورة حيث يتم احتساب متوسط التكلفة العامة للصنف... :wacko:

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

عموماً إذا توصلت إلى شىء آخر سأطلعكم عليه...

ومن يملك أى معلومة ولو بسيطة تقرب المسافة.. أكون شاكراً له..

وجارى العمل مرة أخرى للوصول إلى نتيجة مرضية..

فى هذا الاتجاه:

(قيمة رصيد المخزن الحالى) + (قيمة البضاعة الموردة)

(كمية رصيد المخزن الحالى) + (كمية البضاعة المورد)

وشكراً لكم أخوانى على متابعتكم وتوجيهاتكم..

تم تعديل هذه المشاركة بواسطة هانى عوض في 1 نوفمبر 2008 في 23:01

#10

تحية طيبة لكم أخوانى الكرام

عودة أخرى إلى هذا الموضوع المتعب :D

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

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

المشكلة فى كيفية استخراج قيمة المخزن الحالية وهى (الكمية الموجودة بالمخزن * سعر التكلفة الحالى).... !!! سعر التكلفة الحالى!!!!

استنتاجى لهذه المشكلة أن استعلام التحديد لا يفى بالمطلوب...

لذا كان هناك اتجاه آخر... وهو

فى جدول المشتريات يتم إضافة الحقول الآتية:

1- الرصيد قبل الإضافة

2- الرصيد بعد الإضافة

3- قيمة الرصيد السابق

4- المتوسط المرجح

ويتم على هذا الأساس احتساب المتوسط لكل عملية إضافة وهكذا..

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

#11

بسم الله الرحمن الرحيم

بارك الله فيك اخي هاني

ودعوتنا لك للوصول لحل هذه المشكلة

#12

بســم الله الـرحمــن الرحيــم

شوف يا عم هاني...

بحمد الله توصلت للحل غير اني اجلت العرض لحين الوصول لحل بخصوص الطريقتين الاخريين للتعير وهما:

الوارد اولا يصرف اولا

الوارد اخيرا يصرف اولا

ومن ثم فتح موضوع جديد للطرق الثلاثة

ولكن واضح ان الطرق الاخرى ستتاخر لذا اليكم طريقة المتوسط المرجح لتسعير المخزون

.........

1 - بالملف المرفق لاحظ انني قد وضعت مثالا صغيرا على قدر البيانات المطلوبة ولك ان تضيف ما تشاء من حقول كرقم المستند ورقم امر التوريد وخلافه

2 - لدينا جدولان احدهما للاضافة والاخر للصرف ومرتبط بكل منهما نموذج للادخال

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

4 - ستجد عملية ونتيجة التسعير بالاستعلام المسمى QryOutPrice

معكم المرفق للتجربة

ملحوظة تم العمل على صناف ثلاثة كمثال A - b - c

AvgStock1.rar

تم تعديل هذه المشاركة بواسطة ايهاب عثمان في 8 نوفمبر 2008 في 12:51

طبتم واهتديتم :)

===================================

إقرأ معي

رابط متجدد لكتاب أقرؤه فشاركني فيه

======

فضائح الرافضة ومخازيهم حين يكتب عنها أحد خصومهم فهذا شيء متوقع ،فإن كتب عنها أحدهم فهو شيء غير مألوف ، وإن كان الكاتب أحد مراجعهم وأخص خواصهم فهذا شيء متناهي الغرابة ، وإن علمت أن الكاتب قد قتل بعد نشر الكتاب فقد حان وقت قراءة الكتاب

الكتاب :

حسين الموسوي - لله تم للتاريخ ، كشف الأسرار وتبرئة الأئمة الأطهار

اضغط على الصورة لتحميل الكتاب

%E1%E1%E5%20%CB%E3%20%E1%E1%CA%C7%D1%ED%CE.jpg

-----------

كتب سابقة

سعد الدين الشاذلي - مذكرات حرب أكنتوبر

#13

لك أخى إيهاب منى ألف مليون تحية طيبة..

أولاً : على الترقية التى تستحقها.. وأنت جدير بها

ثانياً: على مساعدتك فى هذا الموضوع الشائك.. مقدراً مدى تعبك المبذول للوصول لحل قاطع لهذه المشكلة ..

ثالثاً:

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

وعندما قمت بالاطلاع على المعادلة الخاصة باستخراج المتوسط .. وجدتها تضم فى طياتها عمليات كثيرة.... تعتمد على حقل sn المسلسل..

  1.  UPr: (DSum("[upr]*[qty]";"tblIn";"[sn]<" & [sn] & " And [itemcode]='" & [itemcode] & "'")-nz(D
    Sum("[upr]*[qty]";"qryoutprice";"[sn]<" & [sn] & " And [itemcode]='" & [itemcode] & "'");0))/(D
    Sum("[qty]";"tblIn";"[sn]<" & [sn] & " And [itemcode]='" & [itemcode] & "'")-nz(DSum("[qty]";"q
    ryoutprice";"[sn]<" & [sn] & " And [itemcode]='" & [itemcode] & "'");0)) 
  2.  

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

ولكننى لا أنكر مدى انبهارى بالنتيجة .. ولا أقلل من مجهودك.. فهو بالفعل رائع..

ولكن كما عودتنا أخى إيهاب من إجاباتك الرائعة وحلولك القاطعة.. أن نعتاد استخدام امثلتك دون حدوث مشاكل مستقبلية مع المستخدم..

فما رأيك أن يعتمد المتوسط فى أساسه على التاريخ لا على مسلسل العمليات.. حيث أن التاريخ هو الذى يقوم بإيضاح عمليات الصرف والإضافة وبالتالى يتحكم فى تغير السعر ..

وشكراً لحسن متابعتكم ..

ملحوظة:

خلال هذه الفترة قمت بالبحث فى عدة مواقع وبالأخص الأجنبية منها عن المتوسط المرجح Weighted Average وجدت أن نسبة كبيرة جداً من هذه المواقع لم تتوصل لحل قاطع بل مجرد وجهات نظر متعارضة.. فهناك من قام بالحل عن طريق الاستعلام المعتمد على توحيد عمليات الصرف والإضافة.. وهناك من اعتمد على أكواد VBA وتسجيل قيمة المتوسط لكل عملية إضافة داخل الجدول.. أى أن الموضوع على ما أظن كما قلت سابقاً أنه شائك...

وفقكم الله.

تم تعديل هذه المشاركة بواسطة هانى عوض في 8 نوفمبر 2008 في 14:40

#14

شكرا استاذنا هاني

كنت ساعتمد في الحل على التاريخ ولكن ستظهر مشكلة لو تمت اكثر من عملية صرف واضافة لنفس الصنف في تاريخ محدد.

وبالنسبة لعمليات الحذف والالغاء فلا توجد مشكلة مع المسلسل الاوتماتيك لان التتابع لن يختل جرب !!

تاخر الادخالات لا مشكلة منه المهم ان يتم الادخال بالترتيب كما حدث على ارض الواقع لتحصل على النتائج الدقيقة

طبتم واهتديتم :)

===================================

إقرأ معي

رابط متجدد لكتاب أقرؤه فشاركني فيه

======

فضائح الرافضة ومخازيهم حين يكتب عنها أحد خصومهم فهذا شيء متوقع ،فإن كتب عنها أحدهم فهو شيء غير مألوف ، وإن كان الكاتب أحد مراجعهم وأخص خواصهم فهذا شيء متناهي الغرابة ، وإن علمت أن الكاتب قد قتل بعد نشر الكتاب فقد حان وقت قراءة الكتاب

الكتاب :

حسين الموسوي - لله تم للتاريخ ، كشف الأسرار وتبرئة الأئمة الأطهار

اضغط على الصورة لتحميل الكتاب

%E1%E1%E5%20%CB%E3%20%E1%E1%CA%C7%D1%ED%CE.jpg

-----------

كتب سابقة

سعد الدين الشاذلي - مذكرات حرب أكنتوبر

#15

وللموضوع عودة أخرى :hmm:

حيث أننى قمت بتنفيذ فكرتك أخى إيهاب.. متبعاً كافة الخطوات السابقة..

1- قمت بوضع حقل SN فى جدولى المشتريات والمبيعات

2- قمت بعمل استعلام تحديث للـ SN للتحديث داخل نموذجى المشتريات والمبيعات

3-قمت بعمل استعلام تحديد باسم Qry_Cost يعتمد على جدول المبيعات ووضعت به معادلة احتساب المتوسط المرجح كالآتى:

  1. price: (DSum("[Price]*[qty]";"Purchases_sub";"[sn]<" & [sn] & " And [Code_Sub_Item]='" & [Code_
    Sub_Item] & "'")-nz(DSum("[Price]*[qty]";"Qry_Cost";"[sn]<" & [sn] & " And [Code_Sub_Item]='" &
    [Code_Sub_Item] & "'");0))/(DSum("[qty]";"Purchases_sub";"[sn]<" & [sn] & " And [Code_Sub_Item
    ]='" & [Code_Sub_Item] & "'")-nz(DSum("[qty]";"Qry_Cost";"[sn]<" & [sn] & " And [Code_Sub_Item]
    ='" & [Code_Sub_Item] & "'");0))
  2.  

لك أن تتخيل ما ينتج عند تشغيل هذا الاستعلام..

صدقنى إذا قلت لك أننى أكتب هذا الرد وهو لا يزال يقوم باحتساب المتوسط -_-

طبعاً البيانات كثيرة .. فهى تقريباً بيانات سنة كاملة..

مع الاعتبار أن جهاز الكمبيوتر لدى بمعالج 3 جيجا و 1 جيجا رام....

المشكلة فى أن هذه المعادلة متشعبة النتائج .. خاصة عند جلب بيانات من جدول المشتريات Purchases_sub

ماذا تفعل لو كنت مكانى :D

شكراً لحسن المتابعة والمساعدة

#16

للرفع للإفادة

#17

بسم الله الرحمن الرحيم

بارك الله فيك اخي هاني

لا اخفيك سرا عندما رايت الموضوع قد تم تحديثه عن طريقك ظننته الحل

ولكن خير ان شاء الله

#18

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

اخي واستاذي العزيز هاني

اولا - اذا كان السعر الحالي في المعادلة بالمشاركة رقم 6 = السعر الوسطي الذي تتحدث عنه هنا فلماذ هذا الضغط على النظام وانه في كل مرة او عند كل توريد سوف نعيد حساب السعر الوسطي ؟ .. ولماذا لا يكون مخزن لدينا مسبقا في كرت المادة مثله مثل سعر البيع وعند التوريد او عمل طلب توريد يكون معين لنا من جديد لاعادة حساب السعر الوسطي من جديد بعد توريد البضاعة الجديدة ؟.

ثانيا _ اذا لم يكن هذا ..... فما هو قصدك من هذا الطرح ولاي غاية تريد ان تصل او ما هو التحليل المطلوب عندك ببرنامجك؟؟؟؟

مع احترامي وتقديري

اخوك ابو عدنان

27169617.gif
#19

سبق ان قمت بعمل ملف بطريقة المتوسط المرجح " ولكن للاسف هذا الملف فقد منى " وكانت المشكلة كما طرحها الاستاذ هانى هى بطء التنفيذ عندما تكون البيانات كثيرة " عمليات الشراء والبيع "

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

لذا نرجو من الاستاذ ايهاب والاستاذ هانى وجميع الاعضاء التعاون لحل تلك المشكلة

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

#20

up

#21

تحية طيبة للجميع

الحمد لله أخيراً وبعد طول عناء التفكير والبحث عن أسهل طريقة للحصول على المتوسط المرجح Weighted Average بمعونة الله قد توصلت لطريقة غاية السهولة..

إليكم الفكرة وعليكم الباقى...

الفكرة تعتمد على كيفية الحصول على هذه المعادلة (طبعاً بعد تبسيطها)

( الكمية الحالية الموجودة بالمخزن × سعرها + الكمية الجديدة × السعر الجديد ) / مجموع الكميتين

لذا وجب عمل الآتى:

1- إضافة ثلاثة حقول فى جدول المشتريات

- Store_Qty : لتخزين الكمية الموجودة برصيد المخزن

- Store_Price : لتخزين آخر سعر شراء

- WAVC : لتخزين قيمة المتوسط المرجح Weighted Average Cost

2- فى نموذج المشتريات فى حدث بعد تحديث كود الصنف الفرعى (أو اسم الصنف) يتم استخدام دالة تقوم بجلب بيانات من استعلام الرصيد الخاص بالمخزن معتمدة على حقل كود الصنف الفرعى الموجود بنموذج المشتريات

وهذه شكل الدالة:

  Dim Q As Double
	Dim P As Double

		Q = Nz(DLookup("[Store_Balance]", "QryWStore"))
		P = Nz(DLookup("[WAVC]", "QryWStore"))

	Store_Qty = Q
	Store_Price = P

3- وفى حدث بعد التحديث وحدث عند التغيير للسعر الجديد للشراء يتم وضع هذه المعادلة:

	Me.TxtWAV = (Nz([Store_Qty]) * Nz([Store_Price]) + Nz([Qty]) * Nz([Price])) / (Nz([Qty]) + Nz([Store_Qty]))

وبالتالى سيتم إدراج السعر المتوسط لكل عملية شراء معتمدة على الكمية الموجودة بالرصيد التى تتأثر بحركات المبيعات والمردودات ..

الحمد لله على هذه النتيجة..

وشكراً جزيلاً لكل من ساهم فى المساعدة وبالأخص أستاذنا الكبير إيهاب عثمان

#22

بسم الله الرحمن الرحيم

بارك الله فيك اخي هاني

ولكن لو فيها طمع ممكن مثال صغير

#23

أضم صوتي الي وصوتك

واطلب مثال لهذا الحل حيث انني اعاني في برامجي مع كافة العملاء لدي لحل هذة المشكلة

فأن كنت اخي قد قمت بحل المشكلة فبالله عليك لا تبخل في شرحها بمثال حتي تعم الفاءدة

والله الموفق.

اللهم ارحم ابي وامي وارحم اللهم اموات المسلمين جميعا

اللهم لك الحمد ولك الشكر علي نعمك التي لا تعد ولا تحصي عدد معلوماتك ومدادا كلماتك

سبحان الله وبحمده سبحان الله العظيم عدد ما كان وعدد ما سيكون وعدد الحركات وعدد السكون

اللهم صلي وسلم وبارك علي سيدنا محمد عدد نعمك التي لا تعد ولا تحصي وانت العليم الحكيم

#24

الأخوه الاعزاء

الان بس وصلت للحل

لكل من داغ وتعب علشان يجعل المخزن يحسب بالمتوسط المضبوط

اليكم الحل

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

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

عمل استعلام اضافة لكل مبيعات الصنف واخر لاضافة كل المشتريات السابقة للاذن الحالي لنفس الصنف وعمل استعلام لرصيد الصنف

وبعدين عمل معادلة ( الكمية الحالية الموجودة بالمخزن × سعرها + الكمية الجديدة × السعر الجديد ) / مجموع الكميتين

طبعا دي في الاستعلام الأخير

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

عمل استعلام يجمع بين الكميات في الجدولين وجمع إجمالي المبالغ وقسمتهم علي بعض كما بالمعادلة .

اخيرا استعلام تحديث لجدول الاصناف الخانة المضافة حديثا المتوسط .

وتمتع يا أخي .

لو حبيتو اضيف مثال لو كلامي مش مفهوم اطلبو نحن نتعلم من بعض . والشكر لله اولا وللمنتدي ثانيا في الوصول للفكرة .

أخوكم وائل عزت

اللهم ارحم ابي وامي وارحم اللهم اموات المسلمين جميعا

اللهم لك الحمد ولك الشكر علي نعمك التي لا تعد ولا تحصي عدد معلوماتك ومدادا كلماتك

سبحان الله وبحمده سبحان الله العظيم عدد ما كان وعدد ما سيكون وعدد الحركات وعدد السكون

اللهم صلي وسلم وبارك علي سيدنا محمد عدد نعمك التي لا تعد ولا تحصي وانت العليم الحكيم

#25

تحياتى للأخوة الكرام

الله وحده يعلم أننى لا أبخل بأى شىء .. المشكلة فى ظروف عملى والتزاماتى ..

لذا وضعت فكرة الحل.. لضيق الوقت لدى لعمل مثال ..

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

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

أما بالنسبة لفكرة أخى وائل عزت

فهى صحيحة أيضاً .. ولكن لما الحاجة لعمل جداول مؤقتة منفصلة لتخزين آخر سعر شراء وتخزين المتوسط؟؟

فاستعلام الرصيد بجانب أنه يقوم باحتساب الكمية الموجودة من الصنف.. يمكن أيضاً نضيف فيه آخر سعر شراء من جدول المشتريات وبهذه الطريقة نكون قد حصلنا على الكمية الموجودة بالمخزن وسعرها..

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

منها على سبيل المثال وجدت وحدة نمطية جاهزة باسم Moving Average وهى متاحة داخل موقع MSDN و MicroSoft كبديل للـ Weighted Average ولكنها لا تعطى نتيجة دقيقة مثل الطريقة السابقة..

عموماً فى أقرب وقت سوف أقوم بمشيئة الله بعمل مثال متكامل حتى يوضح الفكرة أكثر..

لذا دعواتكم لى بالتوفيق..

فى ظل هذه الظروف العصيبة..

تقبلوا فائق تحياتى

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

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

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

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

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