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

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

رائج
بدأه tamer_kh_5251 في 20 أبريل 2008 · 38 رد · 22,205 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم جميعا

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

ولا مشكله في عمل برنامج لاذون الاضافه و فواتير البيع

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

و كل كميه وارده ولها بياناتها من تاريخ الصلاحيه و ما الي ذلك

كيف اقوم بهذا

و السؤال بطريقه اخري

ورد الي الصيدليه كميه من الادويه ومستحضرات التجميل وما شابه

ثم ورد بعدها كميه اخري

ثم ورد بعد ذلك كميات اخري

والمطلوب

اريد ان المستخدم حينما يصرف من المخزن اي كميه من اي صنف

يصرف البرنامج من الكميه الوارده اولا الي ان تنتهي ثم ينتقل من تلقاء نفسه الي الكميه التي تليها في تاريخ الوارد

ولو صادف ان اخر كميه من الكميه الاول لم تفي بالغرض

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

في انتظار العباقره

#2

اخي الكريم...

ابدا بتصميم برنامجك وعند المشاكل سيعاونك الجميع ان شاء الله كل بما يسره الله له

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

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

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

إقرأ معي

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

======

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

الكتاب :

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

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

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

-----------

كتب سابقة

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

#3

اخي الفاضل ايهاب عثمان

انا لا اطلب ان يصمم احد من العباقره برنامج كامل

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

واسف جدا اني لم اوضح ذلك في سؤالي

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

#5

بالمرفق مثال وجدته على موقع بريطاني

اتمنى ان تكون به الفائدة..

FifoStock.zip

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

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

إقرأ معي

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

======

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

الكتاب :

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

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

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

-----------

كتب سابقة

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

#6

جزاك الله كل خير

لكن اعتقد ان به بعض القصور

مثلا لو فرضنا ان اجمال الصنف س في المخزن هو عدد 100

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

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

ارجو الايضاح اخي الفاضل

وجزاك الله كل خير

#7

مرحبا بك ...

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

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

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

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

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

إقرأ معي

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

======

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

الكتاب :

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

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

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

-----------

كتب سابقة

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

#9

الاخوة الزملاء

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

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

--- طريقة الوارد أولا يصرف أولا : ( تلائم فترات انخفاض الأسعار )

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

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

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

من مزايا هذه الطريقة :

المواد الباقية في المخازن في نهاية الفترة تسعر على أساس أحدث الأسعار مما يؤدي إلى إظهار المركز المالي للمشروع بصورة سليمة ، حيث أن قيمة المخزون السلعي سوف تكون ملائمة ( مساوية ) لقيمتها السوقية .

من عيوب هذه الطريقة :

أن تكاليف الإنتاج سوف تكون محددة ( مسعرة ) بالأسعار القديمة وبالتالي لا تتماشى مع الأسعار السائدة في السوق

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

799427-9.jpg

وبخصوص معالجة الموضوع برمجيا يعتمد علي بنية البرنامج من الاساس

فأذا فرضنا ان لدينا نموذج فاتورة شراء وهذا النموذج اكيد بيتكون من جزئين

الجزء الاول : ويسمي Master ويتم تسجيل البيانات الاساسية بداخلة ( رقم الفاتورة - التاريخ - اسم المورد - نوع الحركة - ساسية التسعير المتبعة )

الجزء الثاني : ويسمي Details ويتم تسجيل البيانات الخاصة بالاصناف ( كود الصنف - بيان الاصناف - الوحدة - سعر الوحدة - الكمية - المجموع - الخصم - الاجمالي )

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

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

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

والله أعلم

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 1 مايو 2008 في 08:32

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#10

جزاك الله كل خير اخي الكريم علي الشرح

اعتقد ان لكي يتم الصرف من الكميات القديمه قبل الحديثه يجب وجود جدول ثالث و ليكن اسمه المخزن به اسماء الاصناف مرتبطه مع جدول اخر خاص بمسميات الاصناف و اي بيانات لا تتغير فيها مثل المورد الاساسي و الاستعمال و موانع الاستعمال و البدائل و حد الطلب لكل صنف وفي جدول المخازن يتم ادراج كل كمية وارده علي حده تبعا لرقم الفاتوره او تاريخها و معها سعر الوحده لكل صنف و يوجد ايضا بنفس الجدول خانه YES/NO لكي يتم تغير القيمه الي YES برمجيا لو كانت الكمية تم صرفها كلها

اعتقد ان هناك في افكاري حلقه مفقوده لازلت ابحث عنها

الله المستعان

في انتظار ايجاد وقت لكي استفيد من خبراتك كما تعودت ان استفيد من كل الاستاذه في هذا الموقع لمبارك

تم تعديل هذه المشاركة بواسطة tamer_kh_5251 في 4 مايو 2008 في 12:06

#11

السلام عليكم

الأخ tamer_kh_5251

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

البيع حسب الأقدم

والله الموفق

عبدالله عطيف

#12

شكرا اخي الكريم علي الرابط لكن للاسف النقاش فيه لم يكتمل رغم انه نفس الموضوع تقريبا مع بعض الاختلافات

تم تعديل هذه المشاركة بواسطة tamer_kh_5251 في 4 مايو 2008 في 14:31

#14

الاخ الكريم tamer_kh_ 5251 السلام عليكم

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

باختصار الموضوع لا ارى له حل برمجي وانماوجدت له حل منطقي ومضمون بإذن الله

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

ارجو ان اكون وفقت بتوصيل الفكرة لك وتقبل تحياتي وبارك الله بك

27169617.gif
#15

الاخ الفاضل MOH samer

للاسف الصيدليه لا تستخدم الباركود

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

هذا غير اعتقادي الراسخ ان البرمجه يجب ان توفر الوقت والجهد للمستخدم فلا يجب ان يكون الاعتماد علي من يصرف الدواء فقط او امين المخزن لان اخطائهم وارده اكبر و يفترض ان البرنامج هو الرقيب عليهم وليس العكس

ودعنا من المكان المطلوب له البرنامج موضوع النقاش

ولننظر الي المضمون برمجيا

كيف يتم ذلك

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

اشكر لك تواصلك و نقاشك

تقبل تحياتي

#16

الاخ الفاضل tamer_kh_ 5251

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

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

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

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

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

</SPAN>

27169617.gif
#17

الاخوة الزملاء

بارك الله فيكم جميعا

الحل البرمجي لهذه السياسة سيتم كالاتي

يتم توريد الاصناف في المخزن علي شكل رسائل والرسائل عبارة عن ( رقم أمر توريد ان وجد ورقم فاتورة والتاريخ )

طريقة التوريد تكون كالتالي : -

عند عمل فاتورة جديدة يتم اولا معرفة العدد الذي سيتم توريده من الصنف

مثال صنف دواء كحة اطفال الوارد منه 10 زجاجة

يتم عمل زر عند الضغط علية يتم ادراج مسلسل اوتوماتيكي من 1 الي 10 ثم يتم توريد الــ 10 زجاجات كل زجاجة في سطر امام رقمها

الزجاجة الاولي تأخذ رقم واحد

الزجاجة الثانية تأخذ رقم اثنين

وطبعا تكتب هذه الارقام علي الزجاجات

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

مسلسل حديث وليكن 11 وهذا معناه ان من رقم 1 الي رقم 10 الاقدم ومن رقم 11 الي آخر رقم هو الاحدث وطبعا هذه الطريقة قريبة من طريقة البار كود المذكور اعلاة بما ان الصيدلية لا تستخدم البار كود فلا بد من وجود حلول وبدائل تكون بهذه الطريقة

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

الاول ظهر رصيد مجمع

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

وعند الصرف يتم الاتي

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

سيظهر لدينا الارقام المطلوب صرفها من الاقدم الي الاحدث

نقوم باختيار الرقم القديم ومنطقي انه هيكون الاقدم وهكذا حتي نصل الي والاحدث

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

ملحوظة : - اعتذر عن عدم طرح مثال توضيحي للكلام المشروح لضيق وقتي الشديد في الفترة الحالية بل وفي الفترة القادمة

اتمني من السادة الزملاء المساعدة من خلال هذا التحليل وضع امثلة تفي بالغرض

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#18
moh samer ali كتب:
الاخ الفاضل tamer_kh_ 5251

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

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

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

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

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

</SPAN>

اخي الفاضل ابو عدنان

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

و للاسف ايضا ذهني في هذه الايام ليس صافي بالقدر الكافي

وإن شاء الله انفذ ما يجول بخاطري من افكار بعد ان اجد في ذهني الصفاء اللازم

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

تقبل تحياتي

#19
محمد فؤاد تركي كتب:
الاخوة الزملاء

بارك الله فيكم جميعا

الحل البرمجي لهذه السياسة سيتم كالاتي

يتم توريد الاصناف في المخزن علي شكل رسائل والرسائل عبارة عن ( رقم أمر توريد ان وجد ورقم فاتورة والتاريخ )

طريقة التوريد تكون كالتالي : -

عند عمل فاتورة جديدة يتم اولا معرفة العدد الذي سيتم توريده من الصنف

مثال صنف دواء كحة اطفال الوارد منه 10 زجاجة

يتم عمل زر عند الضغط علية يتم ادراج مسلسل اوتوماتيكي من 1 الي 10 ثم يتم توريد الــ 10 زجاجات كل زجاجة في سطر امام رقمها

الزجاجة الاولي تأخذ رقم واحد

الزجاجة الثانية تأخذ رقم اثنين

وطبعا تكتب هذه الارقام علي الزجاجات

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

مسلسل حديث وليكن 11 وهذا معناه ان من رقم 1 الي رقم 10 الاقدم ومن رقم 11 الي آخر رقم هو الاحدث وطبعا هذه الطريقة قريبة من طريقة البار كود المذكور اعلاة بما ان الصيدلية لا تستخدم البار كود فلا بد من وجود حلول وبدائل تكون بهذه الطريقة

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

الاول ظهر رصيد مجمع

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

وعند الصرف يتم الاتي

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

سيظهر لدينا الارقام المطلوب صرفها من الاقدم الي الاحدث

نقوم باختيار الرقم القديم ومنطقي انه هيكون الاقدم وهكذا حتي نصل الي والاحدث

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

ملحوظة : - اعتذر عن عدم طرح مثال توضيحي للكلام المشروح لضيق وقتي الشديد في الفترة الحالية بل وفي الفترة القادمة

اتمني من السادة الزملاء المساعدة من خلال هذا التحليل وضع امثلة تفي بالغرض

استاذنا محمد فؤاد تركي احد عمالقه البرمجه في المنتدي

شكرا جدا لتواصلك و مداخلاتك التي تثرينا دائما

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

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

بمعني اخر

اعتقد وقد اكون علي خطأ

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

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

اعانك الله علي ضيق وقتك وبارك لك فيه واعاننا الله علي انشغالك عنا

تقبل تحياتي و تقديري

#20

اخي الفاضل تامر

ارجو ان لا تشغل بالك فالموضوع محلول ان شاء الله

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

والف تحية وانتظر مني الجواب ان شاء الله

27169617.gif
#21
moh samer ali كتب:
اخي الفاضل تامر

ارجو ان لا تشغل بالك فالموضوع محلول ان شاء الله

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

والف تحية وانتظر مني الجواب ان شاء الله

طهور ان شاء الله

انتظرك ان شاء الله وانتظر مني دعائي لك بظهر الغيب

#22

السلام عليكم اخواني الكرام بالمشاركة

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

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

ثم اطلع علي شكل كرت الصنف الاول فى الاول Fifo

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

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

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

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

نبدأ التجربة

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

ثم اذهب الي نموزج الييع وبيع صنف وبعد كده شغل التقرير وادخل رقم الصنف اللي انت عايز الرصيد بتاعه

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

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

لا تختبر اي شي بالمرفق سوي ال Fifo

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

اخوكم فى الله

fifo.rar

Microsoft Certified DataBase Administrator MCDBA

#23

برافو عليك يا أبو حميد

مثالك رائع

ولولا ضيق الوقت وطبعا حضرتك عارف ليه

كنت ساعدتك في اضافة شوية حاجات

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#24

السلام عليكم اخي تامر إخواني المشرفين والأعضاء

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

وعلى بركة الله نبدأ

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

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

اولا – Products (بطاقة المادة) ما هو الجديد ؟

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

المادة الأولى من المورد رقم (1) الذي اسمه (REDHGFTR) يكون رمزها (RED001)

المادة الثانية من المورد رقم (1) الذي اسمه (REDHGFTR) يكون رمزها (RED002) وهكذا .

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

ثانيا – Suppliers (جدول الموردين ) ما هو الجديد ؟

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

ثانيا – Purchase order (الجدول الرئيسي لطلبات الشراء ) يبقى على حاله .

رابعا – Purchase order Details (الجدول التفصيلي لطلبات الشراء ما هو الجديد ؟

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

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

جدول طلب الشراء يحتوي رقم (1) بتاريخ 5/5/2008 اسم الشركة الموردة (REDHGFTR)

الجدول التفصيلي لطلبات الشراء يحتوي رقم المادة (RED001/1) على رقم طلب لشراء (1) الكمية الموردة (20) السعر الافرادي (10) الخ (رصيد الكمية) (0) .

في جدول الفواتير او الطلبيات(Order Details) سيكون رقم المادة (RED001/1) بصرف عدد(1) من نفس المادة سيصبح (رصيد الكمية) (19) بعد صرف اول فاتورة تقول لي لم تصل الفكرة اقول لك انتظر حتى اكمل الجداول حتى استطيع التوضيح والشرح في جدول الفواتير.

خامسا – Orders (الجدول الرئيسي لفواتير البيع) يبقى على حاله .

سادسا – Order Details (الجدول التفصيلي لفواتير البيع ما هو الجديد ؟

اخي الكريم في هذا الجدول سيكون خانة جديدة او حقل جديد اسمه (رقم امر الشراء) سيكون هو المسئول الاول عن موضوعنا الصرف والمراقبة اول بأول كيف :

اكيد وصل الآن جزء من الفكرة ، نحن الآن بعد تخزين هذا الرقم مع السجل التفصيلي لفواتير البيع نستطيع اجراء العمليات المختلفة المطلوبة لانه اصبح ممكن الربط بين طلبات الشراء وطلبات البيع وبهذا نسيطر على حقل (رصيد الكمية) في جدول Purchase order Details

الآن انتهينا من موضوع الرصيد وجاء موضوع الصرف اول بأول :

طبعا عند تسجيل اول فاتورة سيطلب النظام منا رقم او رمز المادة وبعدها مباشرة سيطلب رقم امر الشراء وهنا سيقوم النظام بالتحقق من الكميات المتوفرة في طلبات الشراء اول بأول والعملية كبرمجة سهلة نحنا عنا الاصدة بالنسبة للحقل (رصيد الكمية) في جدول Purchase order Details عند اكتمال الكمية المباعة اقصد عند صرف جميع الكمية سيكون هناك حقل جديد في الجدول Purchase order Details YES OR NO وذلك لكي لا يبحث بجميع أوامر الشراء ونرتب الموضوع من الاصغر الى الاكبر.

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

تقبلوا تحياتي اخوكم ابو عدنان

27169617.gif
#25

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

اخي تامر

اخواني الاعضاء

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

وعلى بركة الله نبدأ

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

الحل باختصار كم ذكرت في مشاركتي السابقة هو:

( رقم طلب التوريد أو رقم أمر الشراء) +( رمز المادة ) =( التحكم بالصرف الوارد أولا يصرف أولا) .

اعتقد أن هذه الطريقة على الأقل لن تغير في هيكل قواعد البيانات الخاصة بالمخازن ولكنا سوف نتلاعب بالحقلين ( رقم طلب التوريد او رفم امر الشراء + معرف المادة ) كما يحلو لنا .

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

الآن سنستعرض الجداول المستخدمة عادة في برنامج المخازن وما سيتم التعديل عليها لنحقق الغرض المطلوب :

اولا – جدول Products (بطاقة المادة) ما هو الجديد ؟

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

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

لو فرضنا ان اسم المورد (GLAXO) يكون رمز المورد (GLA) في نلف الموردين وسوف نستخدم هذا الرمز لتعريف المواد او المنتجات التابعة له :

وبذلك يكون رمز المادة الأولى التابعة لنفس الشركة المذكورة أعلاه (GLA001) والمادة الثانية GLA002)) والمادة الثالثة GLA003)) وهكذا.

الآن اسم المادة مكون من( أول ثلاثة حروف من اسم الشركة + مسلسسل المادة ) تستطيع من خلال هذا الاسم أن نتعرف على اسم الشركة الموردة ورقم المادة أليس هذا جميلا وسهلا ؟

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

ثانيا – جدول المخزن :

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

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

post-139265-1210370717_thumb.png

سنستخدم أرفف التخزين بالرموز مثلا (B3) او (F5) وبذلك الترتيب بالمخزن سوف نخزن الوارد من الدواء في مكان محدد ونعرفه بـ (الجدول التفصيلي لطلبات الشراء) الذي يحتوي على الحقل الخاص المسئول عن مكان تخزين المواد.

لحظة أخي الكريم واحد سألني وكيف سيعرف مستخدم برنامجك ان الدرج فارغ اقول له نحن سنضيف حقل جديد اسمه (رصيد الكمية) في تفاصيل (الجدول التفصيلي لطلبات الشراء) أرجو أخي الكريم أن لا تستعجل الأمور.

ثالثا – Suppliers (جدول الموردين ) ما هو الجديد ؟

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

رابعا – Purchase order (الجدول الرئيسي لطلبات الشراء ) ما هو الجديد ؟

سنضيف حقل جديد اسمه ٍ(اغلاق رصيد المخزن) وتوصيفه بالجدول (yes – no) سنستخدمه عند بيع جميع مواد الكمية الموردة بنفس طلب الشراء للتحول قيمته من no) ) إلى (yes ).

خامسا – Purchase order Details (الجدول التفصيلي لطلبات الشراء)ما هو الجديد ؟

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

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

وايضا سنضيف حقل آخر جديد اسمه ٍ(إغلاق رصيد المخزن) وتوصيفه بالجدول (yes – no) سنستخدمه عند بيع جميع الكمية الموردة للمادة الواحدة بنفس طلب الشراء للتحول قيمته من no) ) الى (yes ) .

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

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

مثال لسجل جديد طلب شراء :

post-139265-1210373343_thumb.png

مثلا عند صرف عدد(1) من المادة GLA001 سيصبح (رصيد الكمية) (19) بعد صرف اول فاتورة تقول لي لم تصل الفكرة اقول لك انتظر حتى اكمل الجداول حتى استطيع التوضيح والشرح في جدول الفواتير.

سادسا – Orders (الجدول الرئيسي لفواتير البيع) يبقى على حاله .

سابعا – Order Details (الجدول التفصيلي لفواتير البيع) ما هو الجديد ؟

اخي الكريم في هذا الجدول سندخل خانة جديدة او حقل جديد اسمه (رقم امر الشراء) سيكون هو المسئول الاول عن موضوعنا الصرف والمراقبة اول بأول كيف :

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

وهذا مثال على سجل فاتورة :

post-139265-1210372395_thumb.png

وهكذا

الآن انتهينا من موضوع الرصيد وجاء موضوع الصرف أول بأول :

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

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

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

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

ثامنا – Stor Card (جدول كرت المادة) ما هو الجديد ؟

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

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

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

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

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

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

تاسعا وأخيرا موضوع التسعير :

هناك نوعان من التسعير كما ذكرت بمشاركتي السابقة :

1-السعر الوسطي ، إذا استخدمنا هذه الطريقة سيكون سعر المادة في (جدول بطاقة المادة).

2- السعر اول بأول حسب التوريد ، اذا استخدمناهذه الطريقة سيكون السعر في (الجدول التفصيلي لطلبات الشراء)

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

وهذا يبين لنا أن ليس هنالك مشكلة في موضوع التسعير.

الستيكر

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

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

الباركود :

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

واذا اردنا فصل هذا الرمز :( 1 /GLA001 ) إلى جزئيين (GLA001) و (1) ليصبح رمز المادة مفصول عن رقم امر الشراء نستطيع عن طريق كود تعلمنا في مشاركة سابقة بهذا المنتدى.

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

وتقبل أخي الفاضل تامر تحياتي وجميع الإخوة مع تمنياتي للجميع بالتوفيق.

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

27169617.gif

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