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

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

قام بنشر

السلام عليكم 

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

Capture.PNG.5596cd5dfeb0c853fa35e14cff51bd96.PNG

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

(مجموع الرصيد السابق + كمية الاضافة الحالية) 

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

ملحوظة :

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

 

جزاكم الله خير واتمنى انى اكون اوضحت الفكرة

 

مرفق المثال بصيغة 2010 لأن فيه حقول Calculated مش هتشتغل فى 2003 

 

 

 

 

 

 

تقييم 2.zip

قام بنشر (معدل)

لقد توصلت الى جزء من الحل انظر المرفق :

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

 

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

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

1- يجب حساب أول متوسط سعر يدوياً اما فى الحركات الاحقة تقوم المعادلة بحسابها .

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

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

 

 

 

 

 

تقييم.zipFetching info...

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

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

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

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

واعتذر لوضع رابط خارج المنتدى

http://edu.arabsgate.com/showthread.php?t=631317

تخياتي

  • Like 1
قام بنشر
  في 2‏/6‏/2017 at 21:12, محمد ابوعبد الله said:

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

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

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

واعتذر لوضع رابط خارج المنتدى

http://edu.arabsgate.com/showthread.php?t=631317

تخياتي

Expand  

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

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

 

https://www.arabstutors.com/inventory-systems/tutorials/weighted-average.html 

 

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

 

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

جزاك الله خير

قام بنشر

السلام عليكم أستاذ محمد

أحببت أسجل متابعتي للموضوع

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

qty_normalize Function

الموجودة بموضوعك السابق

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

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

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

  • Like 1
قام بنشر
  في 3‏/6‏/2017 at 11:23, Gamal.Saad said:

السلام عليكم أستاذ محمد

أحببت أسجل متابعتي للموضوع

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

qty_normalize Function

الموجودة بموضوعك السابق

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

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

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

Expand  

استاذى الفاضل يسعدنى انك بتتابع الموضوع طبعا 

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

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

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

قام بنشر

نعم أتفهم ذلك

والمعادلة  تعتمد على قيم في سجلات سابقة

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

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

أما اذا كان يكفيك الحل باسخدام نفس الدالة الحسابية السابقة فلا مانع من بدء المحاولة

ثم نحاول تحويل الدالة بعد ذلك إلا عدة استعلامات 

 

 

قام بنشر
  في 3‏/6‏/2017 at 11:51, Gamal.Saad said:

نعم أتفهم ذلك

والمعادلة  تعتمد على قيم في سجلات سابقة

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

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

أما اذا كان يكفيك الحل باسخدام نفس الدالة الحسابية السابقة فلا مانع من بدء المحاولة

ثم نحاول تحويل الدالة بعد ذلك إلا عدة استعلامات 

 

 

Expand  

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

قام بنشر

ههههههه

أوك يا أستاذ محمد

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

 

أنا رأيت المرفق ويبدو من النظرة الأولى أنه يأتي بنتيجة صحيحة

لكن بحثت في استعجال عن أي شيئ للتسلسل التاريخي فلم أجد

وإن شاء الرحمن

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

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

واذا كانت هناك كائنات غير ضرورية مثل استعلامات وما شابه فياريت تحذفها حتى لا يتشتت المتابع لملفك

  • Like 1
قام بنشر
  في 3‏/6‏/2017 at 12:33, Gamal.Saad said:

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

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

واذا كانت هناك كائنات غير ضرورية مثل استعلامات وما شابه فياريت تحذفها حتى لا يتشتت المتابع لملفك

Expand  

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

قام بنشر (معدل)
  في 3‏/6‏/2017 at 12:33, Gamal.Saad said:

حتى لا يتشتت المتابع لملفك

Expand  

تفضل مرفق مفصل بقدر الامكان

ملحوظة :

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

فى انتظارك اخى الكريم  :wavetowel::dance1:

تقييم شغال.rarFetching info...

تم تعديل بواسطه elkareee
قام بنشر (معدل)
  في 3‏/6‏/2017 at 12:33, Gamal.Saad said:

الحل بفانكشن تمر على كافة السجلات براحتها

 

Expand  

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

error.PNG.f66632a9e6d5e7aaf3712e11173751ac.PNG

 

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

 

تم تعديل بواسطه elkareee
قام بنشر
  في 3‏/6‏/2017 at 14:08, Gamal.Saad said:

أوك

لصعوبة ارفاقك للقاعدة الأصلية

أرفق الجداول فقط

Expand  

تفضل استاذ جمال وأسف انى تاعبك معايا

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

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

جزاك الله خير

 

 

 

Database.rar

قام بنشر

كنت أطمع حتى في بضعة آلاف

أو بضعة مئات من السجلات حتى نتتبع الخطأ

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

transaction

قام بنشر
  في 3‏/6‏/2017 at 15:05, Gamal.Saad said:

كنت أطمع حتى في بضعة آلاف

أو بضعة مئات من السجلات حتى نتتبع الخطأ

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

transaction

Expand  

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

قام بنشر (معدل)

في البداية سبب الخطأ هو القيمة

Null

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

وبعد ازالتها من الحقول التالية

item

in

out

اشتغل الكود

 

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

 

New up2.rarFetching info...

تم تعديل بواسطه Gamal.Saad
  • Like 1
قام بنشر
  في 3‏/6‏/2017 at 16:17, Gamal.Saad said:

في البداية سبب الخطأ هو القيمة

Null

Expand  

زى ما توقعت مشكور استاذى ساقوم بالتجربة مجددا فى انتظار حلك للمشكلة الاخرى :wavetowel:

قام بنشر
  في 3‏/6‏/2017 at 16:17, Gamal.Saad said:

في البداية سبب الخطأ هو القيمة

Null

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

Expand  


زبطت والعملية أخر روقان :dance1::clapping:

قام بنشر
  في 3‏/6‏/2017 at 16:21, elkareee said:

زى ما توقعت مشكور استاذى ساقوم بالتجربة مجددا فى انتظار حلك للمشكلة الاخرى :wavetowel:

Expand  

صحيح أنت قلت بيانات فارغة

لكن لم أنتبه لأنك لم تقل

Null

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

 

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

لذلك يجب العمل على تقليل الزمن

شيئ آخر :

البيانات الأخيرة لا يوجد بها حقل القيمة

zvalue

المطلوب للمعادلة

 

 

قام بنشر
  في 3‏/6‏/2017 at 19:02, Gamal.Saad said:

صحيح أنت قلت بيانات فارغة

لكن لم أنتبه لأنك لم تقل

Null

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

 

Expand  

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

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

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

بس انتا فعلا طبقت الفكرة والتسلسل شغال ولكن المشكلة فى الزمن بس ؟.

 

 

 

قام بنشر

اي  المفروض شغالة

بس ممكن نحتاج تعديل  لضبط الناتج

انظر الصورة وراجعها معي خصوصا ما يلي :

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

الكمية المضافة مقسوماً على القيمة

السجلات التالية للصنف :

اذا كان خصم يأخذ آخر متوسط

واذا كان اضافة فتكون المعادلة

قيمة رصيد للصنف بالحركة السابقة مضافا إليه قيمة الصنف في الحركة الحالية

ثم نقسم الناتج على مجموع

رصيد ما بعد الحركة السابقة للصنف + كمية الاضافة الحالبة

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

 

ومش مهم تراجع النتيجة

المهم جوهر المعادلة

خاصة ما هو مكتوب هنا باللون الأحمر

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

http://do.php?img=323225

 

  • Like 1
قام بنشر

السلام عليكم 

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

  في 3‏/6‏/2017 at 21:20, Gamal.Saad said:

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

الكمية المضافة مقسوماً على القيمة

 

Expand  

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

 

  في 3‏/6‏/2017 at 21:20, Gamal.Saad said:

السجلات التالية للصنف :

اذا كان خصم يأخذ آخر متوسط

Expand  

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

 

  في 3‏/6‏/2017 at 21:20, Gamal.Saad said:

السجلات التالية للصنف :

اذا كان اضافة فتكون المعادلة

قيمة رصيد للصنف بالحركة السابقة مضافا إليه قيمة الصنف في الحركة الحالية

ثم نقسم الناتج على مجموع

رصيد ما بعد الحركة السابقة للصنف + كمية الاضافة الحالبة

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

 

Expand  

مظبوط جدا الكلام تمام هيا كده 

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

فى انتظار جديدك استاذى الفاضل أعزك الله :fff:

 

 


 

قام بنشر
  في 3‏/6‏/2017 at 21:20, Gamal.Saad said:

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

 

Expand  

رصيد بعد الحركة للحركة السابقة سواء كانت صرف أو اضافة 

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