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

إضافة رد
 
أدوات الموضوع
  #1  
قديم 24-01-2017, 04:18 AM
الصورة الرمزية mo7med
mo7med mo7med غير متواجد حالياً
مشــرف ســابق
 
تاريخ التسجيل: Jul 2006
المشاركات: 12,327
icon11 حساب قيمة المخزون






الحمد لله والصلاة والسلام على رسول الله

اللهم صل وسلم وزد وبارك على النبي المبارك وعلى آله وصحبه

وذريته الى يوم الدين كلما ذكرك الذاكرون وغفل عن ذكرك الغافلون

اللهم أخرجنا من ظلمات الجهل والوهم إلى أنوار العلم والمعرفة ومن وحول الشهوات إلى جنات القربات

الاخوة الكرام



حساب قيمة المخزون

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

نضرب مثال :

قمنا بشراء كمية 100 قطعه من الصنف 1 بسعر القطعة 10 جنيهات بتاريخ 01/01/2017
قمنا بشراء كمية 100 قطعه من الصنف 1 بسعر القطعة 15 جنيهات بتاريخ 03/01/2017
قمنا بشراء كمية 100 قطعه من الصنف 1 بسعر القطعة 20 جنيهات بتاريخ 05/01/2017

100 × 10 = 1000
100 × 15 = 1500
100 × 20 = 2000

اصبح لدينا الرصيد = 300 قطعه باجمالي سعر 4500 جنيه

فلو اننا قمنا بحساب قيمة المخزون = 4500 جنيه / 300 قطعه = 15 جنيه ( لكل قطعه )

قيمة المخزون = 15 جنيه × 300 قطعه = 4500 جنيه

هذا الكلام سليم بنسبة 100% اذا لم يتم البيع نهائياً

فاذا قمنا ببيع كمية 70 قطعه سيكون قيمة المخزون =

15 جنيه × 230 قطعه = 3450 جنيه

قيمة المخزون قبل البيع = 4500 جنيه
قيمة المخزون بعد البيع = 3450 جنيه
الفرق = 1050 جنيه

كلام منطقي وسليم 100 %

قمنا بشراء كمية 1 قطعه من الصنف 1 بسعر القطعة 100 جنيهات بتاريخ 07/01/2017

نكرر الخطوات السابقة

رصيد المخزون =

100 × 10 = 1000
100 × 15 = 1500
100 × 20 = 2000
1 × 100 = 100

حساب قيمة المخزون = 4600 جنيه / 301 قطعه = 15.28 جنيه ( لكل قطعه )

قيمة المخزون = 15.28 جنيه × 231 قطعه = 3529.68 جنيه

قيمة المخزون قبل البيع = 4600.00 جنيه
قيمة المخزون بعد البيع = 3529.68 جنيه
الفرق = 1070.32 جنيه

هنا نلاحظ الفرق لم يتغير كثيراً قبل عملية الشراء الاخيرة
1070.32 - 1050.00 = 20.32 جنيه

مع اننا قمنا بشراء قطعه واحدة بقيمة 100 جنيه

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

لهذا فان الطريقة الصحيحة والخالية من الاخطاء بإذن الله هي طريقة الوارد اولاً يصرف اولاً وحساب الاسعار على هذا الاساس

في المثال السابق تم شراء

100 × 10 = 1000
100 × 15 = 1500
100 × 20 = 2000

وتم بيع 70 قطعه

اذن لحساب قيمة المخزون نبيع من الوارد اولاً

( 100 - 70 ) × 10 = 300
100 × 15 = 1500
100 × 20 = 2000

الاجمالي = 230 قطعه بقيمة 3800 جنيه

واذا قمنا بشراء كمية 1 قطعه من الصنف 1 بسعر القطعة 100 جنيهات بتاريخ 07/01/2017

حساب قيمة المخزون نبيع من الوارد اولاً

( 100 - 70 ) × 10 = 300
100 × 15 = 1500
100 × 20 = 2000
1 × 100 = 100

الاجمالي = 231 قطعه بقيمة 3900 جنيه ( القيمة الصحيحة للمخزون حسب سعر الشراء الاصلي بدون متوسط )



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

والله ولي التوفيق

و


__________________

_________________
نسألكم الدعاء بالرحمة والمغفرة لأخيكم ابومروان
{ رَبّ إِنِّي لِمَا أَنْزَلْت إِلَيَّ مِنْ خَيْر فَقِير } القصص 24
رد مع اقتباس
  #2  
قديم 24-01-2017, 07:49 AM
الصورة الرمزية mo7med
mo7med mo7med غير متواجد حالياً
مشــرف ســابق
 
تاريخ التسجيل: Jul 2006
المشاركات: 12,327
افتراضي



الحمد لله والصلاة والسلام على رسول الله

اللهم صل وسلم وزد وبارك على النبي المبارك وعلى آله وصحبه

وذريته الى يوم الدين كلما ذكرك الذاكرون وغفل عن ذكرك الغافلون

اللهم أخرجنا من ظلمات الجهل والوهم إلى أنوار العلم والمعرفة ومن وحول الشهوات إلى جنات القربات

الاخوة الكرام



حساب قيمة المخزون

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

واثبتنا بالمثال انها طريقة خاطئة ولا تعطي نتيجة صحيحة

والطريقة الصحيحة لحساب قيمة المخزون هي الوارد أولاً يصرف أولاً ووضحنا ذلك بالمثال العملي

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

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

جدول العملاء - Customers

كود العميل - IdCustomer - ترقيم تلقائي
اسم العميل - CustomerrName - نص



جدول الموردين - Suppliers

كود المورد - IdSupplier - ترقيم تلقائي
اسم المورد - SupplierName - نص



جدول الاصناف - Products

كود الصنف - IdProduct - ترقيم تلقائي
اسم الصنف - ProductName - نص



جدول فواتير المشتريات - InvoicesPurchase

رقم فاتورة المشتريات - InvoicePurchase - ترقيم تلقائي
تاريخ الفانورة - XDate - تاريخ ووقت
اسم المورد - IdSupplier - رقم ( سيتم انشاء علاقه بيه وبين جدول الموردين ان شاء الله )



جدول فواتير المبيعات - InvoicesSales

رقم فاتورة المبيعات - InvoiceSales - ترقيم تلقائي
تاريخ الفانورة - XDate - تاريخ ووقت
اسم العميل - IdCustomer - رقم ( سيتم انشاء علاقه بيه وبين جدول العملاء ان شاء الله )



جدول المعاملات أو العمليات - Transactions

كود العملية - IdTransaction - ترقيم تلقائي
اسم الصنف - IdProduct - رقم ( سيتم انشاء علاقه بيه وبين جدول الاصناف ان شاء الله )
رقم فاتورة المشتريات - InvoicePurchase - رقم ( سيتم انشاء علاقه بيه وبين جدول فواتير المشتريات ان شاء الله )
اسم المورد - IdSupplier - رقم ( سيتم انشاء علاقه بيه وبين جدول الموردين ان شاء الله )
السعر شراء - PricePurchasing - رقم
الكمية شراء - QuantityPurchase - رقم

رقم فاتورة المبيعات - InvoiceSales - رقم ( سيتم انشاء علاقه بيه وبين جدول فواتير المبيعات ان شاء الله )
اسم العميل - IdCustomer - رقم ( ستم انشاء علاقه بيه وبين جدول العملاء ان شاء الله )
السعر بيع - PriceSale - رقم
الكمية بيع - QuantitySale - رقم



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



نقوم بادخال ( بيانات العملاء - الموردين - الاصناف )

ثم نقوم بتنفيذ بعض العمليات ( شراء - بيع )

والتأكد من ان البرنامج يعمل بطريقة سليمة ان شاء الله

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

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

والله ولي التوفيق

و


__________________

_________________
نسألكم الدعاء بالرحمة والمغفرة لأخيكم ابومروان
{ رَبّ إِنِّي لِمَا أَنْزَلْت إِلَيَّ مِنْ خَيْر فَقِير } القصص 24
رد مع اقتباس
  #3  
قديم 24-01-2017, 07:59 AM
الصورة الرمزية mo7med
mo7med mo7med غير متواجد حالياً
مشــرف ســابق
 
تاريخ التسجيل: Jul 2006
المشاركات: 12,327
icon11



الحمد لله والصلاة والسلام على رسول الله

اللهم صل وسلم وزد وبارك على النبي المبارك وعلى آله وصحبه

وذريته الى يوم الدين كلما ذكرك الذاكرون وغفل عن ذكرك الغافلون

اللهم أخرجنا من ظلمات الجهل والوهم إلى أنوار العلم والمعرفة ومن وحول الشهوات إلى جنات القربات

الاخوة الكرام



حساب قيمة المخزون

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

والآن سنقوم بتصميم الاستعلامات ان شاء الله

استعلام - QStockBalance

نفتح استعلام جديد ونضع به جدول المشتريات InvoicesPurchase وجدول العمليات Transactions

وقد تم انشاء علاقة بينهما كما هو موضح في المشاركة السابقة

ونضع الحقول التالية في الاستعلام

كود العملية - IdTransaction - فرو تصاعدي

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

تاريخ العملية - XDate

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

اسم الصنف - IdProduct

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

رقم فاتورة المشتريات - InvoicePurchase - ونضع معيار له ( اكبر من 0 ) حتى تظهر فواتير الشراء فقط

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

سعر الشراء - PricePurchasing

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

TotalQuantityPurchase = باستخدام دالة DSum نقوم بحساب تراكمي لكميات الشراء فقط كالتالي :

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

كود PHP:
TotalQuantityPurchaseNz(DSum("QuantityPurchase";"Transactions";"[IdProduct]=" & [IdProduct] & "and [IdTransaction]<=" & [IdTransaction]);0
=======================

TotalQuantitySale = وباستخدام دالة DSum نقوم بحساب تراكمي لكميات البيع فقط كالتالي :

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

كود PHP:
TotalQuantitySaleNz(DSum("QuantitySale";"Transactions";"[IdProduct]=" & [IdProduct]);0
=======================

خلاصة الموضوع

StockBalance = وباستخدام دالة IIF نقوم بحساب الرصيد المتبقي بعد كل عملية ( شراء - بيع ) كالتالي :

فنقول للبرنامج اجمع لي كمية الشراء واخصم منها كمية البيع من جدول العمليات بعد كل عملية كالتالي :

كود PHP:
StockBalanceIIf([TotalQuantityPurchase]-[TotalQuantitySale]<=0;0;IIf([TotalQuantityPurchase]-[TotalQuantitySale]>=[QuantityPurchase];[QuantityPurchase];[TotalQuantityPurchase]-[TotalQuantitySale])) 
الرصيد المتبقي = StockBalance سيكون له ثلاث حالات ليس لهم رابع :

1 - الرصيد المتبقي = StockBalance = أقل من أو يساوي صفر إذن كمية الشراء تم بيعها بالكامل والمتبقي منها = صفر .

2 - الرصيد المتبقي = StockBalance = أكبر من صفر و أقل من كمية الشراء يكون المتبقي هو الرصيد بعد هذه العملية .

3 - الرصيد المتبقي = StockBalance = أكبر من كمية الشراء إذن المتبقي هو كمية الشراء نفسها .


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

StockValues لحساب قيمة المخزون حسب كل صنف كالتالي :

كود PHP:
StockValuesnz([PricePurchasing]*[StockBalance]) 



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


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

وباستخدام دالة Sum في النموذج او التقرير - حسب برنامجك نقوم بجمع حقل StockValues لحساب قيمة المخزون حسب كل الاصناف كالتالي

كود PHP:
TotalStockValues nz([StockValues]) 


بهذا نكون قد انتهينا من حساب قيمة المخزون بطريقة صحيحة وخالية من الاخطاء بإذن الله تعالى

وأي استفسار ساقوم بالرد ان شاء الله متى اتيح لي ذلك

والشكر للجميع ونسألكم الدعاء


والله ولي التوفيق

و


__________________

_________________
نسألكم الدعاء بالرحمة والمغفرة لأخيكم ابومروان
{ رَبّ إِنِّي لِمَا أَنْزَلْت إِلَيَّ مِنْ خَيْر فَقِير } القصص 24
رد مع اقتباس
إضافة رد

أدوات الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

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

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
مهم عن local users and groups مرهفه منتدى الشبكات العام 1 29-11-2011 10:38 PM
ممكن حد يحل لى هّذه الأسئلة فى شبكات سيسكو nesa منتدى الشبكات العام 1 02-04-2010 08:04 PM


الساعة الآن 09:12 PM.


جميع الحقوق محفوظة لشبكة بوابة العرب
New Page 4
 
 
Copyright © 2000-2017 ArabsGate. All rights reserved
To report any abuse on this website please contact abuse@arabsgate.com