اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

حساب تكلفة المنتجات ومتوسط السعر


elkareee
إذهب إلى أفضل إجابة Solved by Gamal.Saad,

الردود الموصى بها

السلام عليكم

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

 

بالتطبيق على القاعدة المرفقة لدى 3 جداول Products وهذا به اسماء المنتجات بأكوادهم و Bom وهذا به المكونات التى يتكون منها كل منتج من جدول المنتجات السابق وبينهم علاقة اما جدول Transactions وهذا به الحركات الصادرة والواردة 

المطلوب على خطوتين :

 

اولا :حساب تكلفة المنتجات الواردة بجدول Products عن طريق التالى :

ضرب اخر متوسط سعر وصل اليه كل مكون  x العدد المطلوب من كل مكون ( فى المثال عدد 1 ماوس * 5 دولار للماوس و عدد 2 رامة * 20 دولار للرامة مثلا) 

ثم جمع اسعار المكونات جميعا لينتج سعر المنتج الواحد ( فى المثال 5 دولار للماوس + 40 دولار للرامات ) 

توضيح : متوسط السعر هو (AvgPrice فى جدول Transactions) 

العدد المطلوب هو Con فى جدول Bom

ثانياً : بالنسبة لنتيجة العملية الحسابية يتم كتابتها  كتابتها  Products فى خانة Price امام المنتج المطلوب

م تطبيقها فى جدول Transactions عن طريق كتابتها فى خانة AvgPrice ثم ضرب AvgPrice فى كمية الصادر او الوارد In او Out وحاصل الضرب يكتب فى خانة zvalue وهو المطلوب

 

أتمنى انى وفقت فى الشرح وفى حالة عدم الوضوح برجاء المناقشة من الأساتذة

أستاذنا  @Gamal.Saad وحشتنا :wavetowel: محتاجك هنا اظنك هتندمج فى الموضوع بسرعة لدرايتك السابقة به وهتفهم انا محتاج ايه بالظبط

 

 

1.rar

تم تعديل بواسطه elkareee
حول فى الكتابة وحروف ملخبطة :)
رابط هذا التعليق
شارك

2 hours ago, elkareee said:

أستاذنا  @Gamal.Saad وحشتنا :wavetowel: محتاجك هنا اظنك هتندمج فى الموضوع بسرعة لدرايتك السابقة به وهتفهم انا محتاج ايه بالظبط

مشكور أخي محمد بك زينة شباب المنصورة

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

 

لكن نبدأ بطلبك الأول حيث عندي استفسارين:

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

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

أم حاصل ضرب متوسط السعر في العدد

con

?

وهل تريد حساب التكلفة للأصناف الرئيسية بجدول المنتجات

أو بالأصناف الفرعية بجدول

Bom

؟

 

 

  • Like 1
رابط هذا التعليق
شارك

9 ساعات مضت, Gamal.Saad said:

مشكور أخي محمد بك زينة شباب المنصورة

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

 

استاذى الفاضل جمال بارك الله فيك

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

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

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

كلها عربى أهى عشان الكيبورد :wavetowel:

جزاك الله خير استاذى  :fff:

 

 

 

 

وطريقة الحساب هتبقى اخر متوسط سعر * كون لكل مكون والاخر جمع النتائج كلها عشان يطلع تكلفة الصنف

رابط هذا التعليق
شارك

مثال تانى للتوضيح على افتراض انى عاوز اجمع كمبيوتر جديد هروح المحل اجيب هارد + كيسة + باور سبلاى + كارت شاشة + 2 رامة وبالتالى عشان اعرف تمن الجهاز هجمع اسعار المكونات بتاعته دى صح ؟ طيب موضوع متوسط السعر * Con دى يعنى ايه 

دى يعنى مثلا فى المثال السابق الجهاز محتاج هارد واحد ولكنه محتاج رامتين اتنين يبقى عشان اعرف السعر هحسب سعر هارد واحد (سعر الهارد * العدد المطلوب للكمبيوتر اللى هوا واحد) + سعر الرامه * 2 لأنه محتاج رامتين وبالتالى 

Con

هى العدد المطلوب داخل المنتج قد يكون 1 او 2 او 10 عشان كده بنضرب متوسط السعر فى استهلاك الصنف ده داخل المنتج 

ولو فى حاجة مش واضحة انا احاول اوضحها بطريقة ابسط

 

 

 

 

رابط هذا التعليق
شارك

زين

علشان أتأكد أني فهمت

في مثالك:

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

field: price ________ table: products

وهذا يساوي

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

field: con____________ table: Bom

ثم نجمع ما سبق

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

مع توضيح العدد

0.0002083335

الموجود بجدول بوم هو ناتج ايه ؟

 

 

  • Like 1
رابط هذا التعليق
شارك

13 ساعات مضت, Gamal.Saad said:

زين

علشان أتأكد أني فهمت

لا تمام ياريس فهمت 

13 ساعات مضت, Gamal.Saad said:

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

مع توضيح العدد

0.0002083335

الموجود بجدول بوم هو ناتج ايه ؟

 

زيادة تأكيد انظر المرفق هتلاقى ان Price فى جدول Products بيساوى اخر متوسطات اسعار مضروبة فى الاستهلاك _____ Con 

وفى النهاية جمع ما سبق بص على المثال 

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

2.rar

تم تعديل بواسطه elkareee
رابط هذا التعليق
شارك

31 minutes ago, elkareee said:

تفضل مثال على الاكسل لتأكيد المطلوب

Ex.rar

تمام تمام

الحمد لله فهمت برغم أن ملف الاكسل الارقام والخامات مش مطابقة لنفس ملف الأكسس

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

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

  • Like 1
رابط هذا التعليق
شارك

31 دقائق مضت, Gamal.Saad said:

تمام تمام

الحمد لله فهمت برغم أن ملف الاكسل الارقام والخامات مش مطابقة لنفس ملف الأكسس

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

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

مشكور استاذ جمال بس حابب اوضحلك الخطوة الجاية بالنسبة ليا عشان متعملش حاجة ونرجع نغير فى الفكرة 

انا عاوز ادمج الطريقة القديمة مع الجديدة بمعنى :

انا محتاج البرنامج يقوم بالتالى أولا يدخل على جدول المنتجات برودكتس يتأكد هل المنتج موجود ولا لا 

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

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

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

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

لو محتاج توضيح اكتر انا معاك جزاك الله خير استاذنا :fff:

رابط هذا التعليق
شارك

5 hours ago, elkareee said:

مشكور استاذ جمال بس حابب اوضحلك الخطوة الجاية بالنسبة ليا عشان متعملش حاجة ونرجع نغير فى الفكرة

أوك

تقريبا أنا أشعر أني أفهمك لكن شعور مش أكيد

بمعنى

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

وفي المرة التالية نستعين بهذا الرقم وهو عبارة عن متوسطات أسعار مكوناته لحساب القيمة

أليس كذلك ؟

طيب

بالنسبة للمكونات الفرعية للمنتج زي لوحة المفاتيح مثلا

فين هيتسجل سعرها ؟ هل في جدول المنتجات زي جهاز الكمبيوتر ؟

 

على العموم جرب المرفق وممكن نعدل عادي

 

2.rar

  • Like 1
رابط هذا التعليق
شارك

9 ساعات مضت, Gamal.Saad said:

أوك

تقريبا أنا أشعر أني أفهمك لكن شعور مش أكيد

بمعنى

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

وفي المرة التالية نستعين بهذا الرقم وهو عبارة عن متوسطات أسعار مكوناته لحساب القيم

استاذى الفاضل اولا ان كان فيه سوء تعبير منى لتوصيل بعض الافكار سأحاول تبسيطها اما بالنسبة لأسئلتك 

لو المنتج جهاز كمبيوتر ملوش سعر ؟

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

وبالتالى متوسط السعر للمنتج هيتم حسابه بعد اضافة الكمية فى الوارد وبالتالى متوسط السعر للمنتج هيبقى فى مكانين الأول AvgPrice فى جدول Transactions والثانى Price فى جدول Products

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

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

طيب انا عاوز اعمل اضافة بقى للمنتج ده اللى هوا الكمبيوتر طبعا حركات الاضافة والصرف بتتم فى جدول Transactions سواء الصنف مكونات او منتج كامل وبالتالى لما جيت اعمل اضافة للمنتج فى الجدول وضغطت على Run مجابش اخر متوسط سعر اللى هوا مكتوب فى Prices ومحسبش قيمته تلقائيا 

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

على فكرة هعزمك على أكلة كوارع لما الفكرة دى تتم :wavetowel:

 

 

 

 

 

 

 

 

 

  • Like 1
رابط هذا التعليق
شارك

بص بقى ياباشا انا عملتلك حتة عملى كده هتوصل الفكرة افضل من الشرح النظرى :

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

التعديل اللى انا عملته على المرفق القديم كالتالى :

اضفت جدول المنتجات واضفت جدول البوم المرتبط بيه 

عملت فورم جديد لتسجيل الحركات سواء صرف او اضافة اسمه Trans_Top

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

 المطلوب بقى يا باشا بكل سهولة 

لما اكتب الكمية فى خانة الوارد (In AfterUpdate) يقوم باحث عن الكود فى جدول المنتجات لو لقاه يبقى الصنف ده منتج تام يقوم جامع اخر متوسطات اسعار لمكونات المنتج ويكتبها فى AvgPrice  ثم يضربها فى قيمة الوارد اللى انا هكتبها ويكتب الناتج فى zvalue ثم ينسخ الناتج ويضيفه فى Price فى الجدول التانى يعنى نفس طريقة مرفقك بس بيها بعض التعديل طيب فى حالة انه ملقاهوش فى جدول المنتجات يبقى يضيف الكمية بدون ما يشغل اى معادلات خااالص لأنه فى الحالة دى هيبقى مكون وبالتالى هندخل فى الفورم التانى بتاع التقييمات نديله قيمه وساعتها هيتحسب زى ماحنا عاوزين معايا ؟؟ .

طيب الحالة التانية طبعا منطقيا الصرف بيتم بعد الاضافة تمام ؟. طيب فى حالة الصرف يعنى Out AfterUpdate

صاحبنا هيقوم باحث عن الكود فى جدول المنتجات ولو لقاه يقوم جايب اخر متوسط سعر للمنتج (ماهو هنا بقى هيبقى اتقيم قبل كده وقيمته موجودة فى الجداول ) ويقوم كاتبه فى AvgPrice ويضربه فى كمية الصادر ويكتب فى zvalue قيمة الحركة وبلاش يكتب متوسط السعر تانى فى جدول المنتجات لأنه فى الحالة دى متغيرش اساسا عن المرة اللى فاتت طيب ولو ملقاهوش برده يضيف حركة الصرف بدون تشغيل اى معادلات زى فوق كده واحنا فى نموذج التقييم هنتعامل معاه تماااام ؟؟؟

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

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

تقييم 6.rar

تم تعديل بواسطه elkareee
رابط هذا التعليق
شارك

أعتقد  أهم مشكلة نبدأ بيها هي هذه النقطة

8 hours ago, elkareee said:

على فكرة هعزمك على أكلة كوارع لما الفكرة دى تتم :wavetowel:

هههههههه

ووعد الحر دين عليه

8 hours ago, elkareee said:

لما اكتب الكمية فى خانة الوارد (In AfterUpdate) يقوم باحث عن الكود فى جدول المنتجات لو لقاه يبقى الصنف ده منتج تام يقوم جامع اخر متوسطات اسعار لمكونات المنتج ويكتبها فى AvgPrice  ثم يضربها فى قيمة الوارد اللى انا هكتبها ويكتب الناتج فى zvalue ثم ينسخ الناتج ويضيفه فى Price فى الجدول التانى يعنى نفس طريقة مرفقك بس بيها بعض التعديل طيب فى حالة انه ملقاهوش فى جدول المنتجات يبقى يضيف الكمية بدون ما يشغل اى معادلات خااالص لأنه فى الحالة دى هيبقى مكون وبالتالى هندخل فى الفورم التانى بتاع التقييمات نديله قيمه وساعتها هيتحسب زى ماحنا عاوزين معايا ؟؟ .

طيب الحالة التانية طبعا منطقيا الصرف بيتم بعد الاضافة تمام ؟. طيب فى حالة الصرف يعنى Out AfterUpdate

صاحبنا هيقوم باحث عن الكود فى جدول المنتجات ولو لقاه يقوم جايب اخر متوسط سعر للمنتج (ماهو هنا بقى هيبقى اتقيم قبل كده وقيمته موجودة فى الجداول ) ويقوم كاتبه فى AvgPrice ويضربه فى كمية الصادر ويكتب فى zvalue قيمة الحركة وبلاش يكتب متوسط السعر تانى فى جدول المنتجات لأنه فى الحالة دى متغيرش اساسا عن المرة اللى فاتت طيب ولو ملقاهوش برده يضيف حركة الصرف بدون تشغيل اى معادلات زى فوق كده واحنا فى نموذج التقييم هنتعامل معاه تماااام ؟؟؟

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

تمام تمام

هحاول إن شاء الله أطبق كلامك على ملف تقييم 6

وزي ما أنت قلت كلها تجارب وتعديلات

مفيش حاجة فنية مستحيلة

لكن اليوم عندي الوقت ضيق لذلك  أعطني وقتا طوال اليوم 

وأقرب تعديل سأوافيك به إن شاء الله

رابط هذا التعليق
شارك

12 ساعات مضت, Gamal.Saad said:

مفيش حاجة فنية مستحيلة

لكن اليوم عندي الوقت ضيق لذلك  أعطني وقتا طوال اليوم 

وأقرب تعديل سأوافيك به إن شاء الله

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

رابط هذا التعليق
شارك

1 hour ago, elkareee said:

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

حاول تكون أي طريقة تبدأ وتعتمد على الدالة الحسابية السابق عملها

ثم نقوم بدخال تعديلات عليها

رابط هذا التعليق
شارك

استاذنا الغالى جمال 

لما فكرت فى الطريقة اللى انا شرحتها ظهرت كام مشكلة ممكن تحصل كالتالى :

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

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

-- فى خطوات ممكن اختصارها وده هيوفر بعض الوقت والجهد وهشرحها .

بالتالى كان لازم يبقى فيه طريقة مختلفة للحساب ولذلك فكرت فى طريقة وافضل فكرة كانت كالتالى ركز معايا :imsorry: :

أولا : أنا عملت جدول جديد باسم Item Names زى دليل أصناف فيه جميع اكواد ومسميات المكونات والمنتجات اللى بستخدمها وقدام كل صنف خانة PrType ودى بكتب فيها تصنيف المنتجات فقط يعنى مثلا Computer i3 لكل أنواع الكمبيوتر i3 مثلا ديل أسوس وهكذا انظر المرفق لمزيد من الايضاح .

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

ثانياً : طريقة العمل المطلوبة 

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

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

الخطوة الأخيرة :

نيجى لمرحلة الاضافة والصرف :

أولا : فى حالة الاضافة او الصرف بيقوم البرنامج باحضار تصنيف الصنف ده فى جدول Item Names اللى هيا خانة PrType  ومقارنتها بجدول المنتجات فى خانة Prtype برده ويشوف هل موجودة ولا لا لو موجودة يعنى الصنف ده منتج تام يقوم عامل احضار لقيمة Price الخاصة بيه وكاتبها فى AvgPrice فى جدول الحركات ثم ضربها فى الكمية سواء صرف او اضافة لينتج قيمة Zvalue تلقائيا تمام ؟

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

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

طبعا الموضوع مجرد افكار وبتظهر مزاياها وعيوبها بالتطبيق زى ما حضرتك عارف والطريقة اللى هنقوم بيها متفرقش اهم شئ النتيجة المطلوبة يعنى لك الحرية انك تغير فى فكرة طالما هتوصل للمطلوب

طبعا الموضوع طويل وشاق جدا وعارف انى بتعبك معايا بس انتا مش هتاكل كوارع ببلاش :wavetowel::dance1:

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

تقييم 7.rar

3 دقائق مضت, Gamal.Saad said:

حاول تكون أي طريقة تبدأ وتعتمد على الدالة الحسابية السابق عملها

ثم نقوم بدخال تعديلات عليها

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

تم تعديل بواسطه elkareee
نسيت المرفق
  • Like 1
رابط هذا التعليق
شارك

Quote

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

هل تقصد :

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

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

النقطة دي مبهمة

 

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

لذلك أخبرني لو السجل به صنف مكونات منتج معين

وقمنا بالاضافة أو الخصم

ولو السجل به منتج رئيسي وقمنا بالاضافة أو الخصم

ودور الدالة الحسابية التي تحسب متوسط السعر هل تحسب للجميع أم ماذا ؟

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

لكن طبقا لطريقة شرح عملية بأصناف و أرقام حسابية

 

رابط هذا التعليق
شارك

9 ساعات مضت, Gamal.Saad said:

لذلك أخبرني لو السجل به صنف مكونات منتج معين

وقمنا بالاضافة أو الخصم

ولو السجل به منتج رئيسي وقمنا بالاضافة أو الخصم

ودور الدالة الحسابية التي تحسب متوسط السعر هل تحسب للجميع أم ماذا ؟

بص ياباشا احنا هنفرق بين الوقت و الطريقة

بالنسبة للمكونات (ماوس و كيبورد ) وقت الحساب  Zvalue AfterUpdate طريقة الحساب لمتوسط السعر الخاصة بيهم عن هتكون عن طريق "Old Function" مفيش تغيير هنا يعنى فى نموذج التقييم اليدوى بعد اضافة القيمة يدوياً هيشتغل الفانكشن القديم ويحسب متوسط السعر بالطريقة القديمة التغيير الوحيد هوا اننا زودنا امر تحديث سعر المنتجات الرئيسية المرتبطة بالصنف ده ( Computer i3 مثلا) بالطريقة الجديدة (مجموع متوسطات المكونات) وكتابته فى جدول Products لاستدعائه فى عملية صرف واضافة المنتج الرئيسى فيما بعد .

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

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

بالنسبة للمنتجات الرئيسية او المنتجات التامة ( Computer i3 ) 

وقت الحساب : In AfterUpdate او Out AfterUpdate على حسب نوع الحركة اضافة ام خصم والكلام ده فى نموذج Trans_Top والنموذج الفرعى Transaction_Sub 

طريقة الحساب : يتم استدعاء السعر الذى تم تخزينه فى جدول Products ثم كتابته فى جدول Transactions حقل AvgPrice وضرب الرقم فى كمية الاضافة او الخصم على حسب نوع الحركة والناتج يعنى حاصل الضرب السابق يتم كتابته فى Zvalue فى جدول Transactions

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

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

طيب هوا البرنامج هيعرف الفرق ازاى بسيطة ؟ اللى هيبقى مكتوب فى جدول Products ده منتج رئيسى ومش هينكتب هناك مكونات انما لو مكانش موجود يبقى مكونات وطبعا اللى هيبقى مكتوب فى جدول Products هيبقى التصنيف بتاع المنتجات مش اسمها مثال جهاز Asus Core I3  التصنيف بتاعه هيكون Computer i3 هيبقى مكتوب قدامه فى Item Names وهيبقى مكتوب فى جدول Products عشان المكونات المرتبطة تمام كده ؟

كده لو فيه مسألة مش واضحة قولى واظن انك كده قربت يا برنس :wavetowel:

 

 

 

 

 

 

 


 

رابط هذا التعليق
شارك

9 ساعات مضت, Gamal.Saad said:

تمام

الحمد لله أنا وصلت لنسبة فهم مرتفعة تتجاوز

50%

وهذا يكفي لبدء التجربة

وسأوافيك بالجديد إن شاء الله

طيب ده شئ جميل بص على المثال المرفق كتب فيه النتيجة المطلوبة يدوياً ولكنها تصلح كدليل توضيح انظر فى جداول Products و Transactions لاحظ الأسعار والتصنيفات

 

 

تقييم 8.rar

تم تعديل بواسطه elkareee
  • Like 1
رابط هذا التعليق
شارك

عندي مشكلة

هناك ازدواجية وتكرار في البيانات بين الجدولين

Item Names

Bom

حقل واحد هو الفرق بينهم

لماذا لا يتم الدمج

وسؤال آخر :

بداية تسجيل الاضافة كي أعرف تسلسل الأحداث

في نموذج

Trans_top

والنموذج الفرعي به

أم في نموذج

FrmEvaluation

؟

 

رابط هذا التعليق
شارك

16 ساعات مضت, Gamal.Saad said:

عندي مشكلة

هناك ازدواجية وتكرار في البيانات بين الجدولين

Item Names

Bom

حقل واحد هو الفرق بينهم

لماذا لا يتم الدمج

 

استاذى الحبيب جمال

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

 

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

 

اى توضيح اخر انا موجود انا اجازة النهاردة وان شاء الله هنخلص الموضوع النهاردة :wavetowel:

 

رابط هذا التعليق
شارك

1 hour ago, elkareee said:

اما فى القاعدة الاصلية لا يوجد جدول

Bom

تمام

يعني نبدأ العمل إن شاء الله في فورم

FrmEvaluation

وخلي بالك

لو طبقنا على جداول تختلف في البنية والعدد والروابط عن جداول القاعدة الأصلية

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

شيئ آخر

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

الوقت في الوصول لحل للمشكلة بياخد وقت:

نسبة 30 في المائة لمحاولة معرفة تتابع كلمات مشاركتك

و 60 في المائة محاولة فهم المطلوب

و10 في المائة لتنفيذ الحل

ههههههههه

 

 

رابط هذا التعليق
شارك

9 ساعات مضت, Gamal.Saad said:

تمام

يعني نبدأ العمل إن شاء الله في فورم

FrmEvaluation

وخلي بالك

لو طبقنا على جداول تختلف في البنية والعدد والروابط عن جداول القاعدة الأصلية

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

شيئ آخر

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

الوقت في الوصول لحل للمشكلة بياخد وقت:

نسبة 30 في المائة لمحاولة معرفة تتابع كلمات مشاركتك

و 60 في المائة محاولة فهم المطلوب

و10 في المائة لتنفيذ الحل

ههههههههه

 

 

هههههه ماشى هيبقى فى سطور مستقلة

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

Item Names

العمود الزيادة اللى مش موجود فى القاعدة الاصلية هوا 

PrType 

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

بالنسبة لجدول المنتجات والبوم دول جداد اصلا مش موجودين هناك وهعملهم استيراد علطول وبالنسبة لباقى الجداول هيا زى الاصلية بالظبط

 

بالنسبة بقى لمشكلتك فى المنتدى جرب تغير اللغة بتاعت عرض المنتدى شكلك عاملها انجليزى معلش اعملها عربى عشان الكلام يطلع متناسق :wavetowel:

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

تقييم 9.rar

تم تعديل بواسطه elkareee
رابط هذا التعليق
شارك

6 hours ago, elkareee said:

قللت الحقول الغير مرتبطة لتسهيل عملية التصميم ومنع اختلاط الامور

طب أنا حذفت حقل اسم المنتج الرئسي في بعض الجداول

نظرا لأن كوده يحل محله

 

جرب  عملية وضع قيمة لمكونات المنتج

المنتج هو كمبيوتر كور آي 3

والمكونات مازر بورد وهارد دسك ورام .......  إلخ

ومع كل تعديل في القيمة

zvalue

شوف سعر المنتج الرئيسي في جدول المنتجات

 

وخلي بالك لو المكون موجود مرتين  في حالة الاضافة في نموذج التقييم

وكانت القيمة صفر في أحد المرتين

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

لأنه يعتبر أن المرة الثانية كان المنتج مجاني

 

شوف وجرب علشان نعدل وننتقل لخطوة تالية

 

تقييم 10.rar

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information