• 12
محمد فؤاد تركي

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

سؤال

518 إجابة على هذا السؤال .

  • 0

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

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

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

أولاً : - لكيفية احتساب أو استخراج حساب العميل يجب توافر لدينا عدة جداول رئيسية لاستخراج حساب العميل

أ – جدول فواتير البيع والذي اسمة بقاعدة البيانات issue_doc

ب – جدول العملاء والذي اسمة بقاعدة البيانات Customers

جـ - جدول تسجيل سندات القبض والذي اسمة بقاعدة البيانات receipt_voucher

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

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

ثانياً : - نبدأ في النظر الي شكل العلاقة الان والتي تظهر كيفية ربط جدول العملاء بفواتير البيع كما في الشكل التالي

relationdm3.jpg

ثالثاً : - نبدأ الان في تصميم شاشة أو نموذج لتسجيل سندات القبض ويكون مصدر هذا النموذج الجدول receipt_voucher

ليصبح شكل النموذج كما في الشكل التالي

receiptvoucherwd2.jpg

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

SELECT customers.customers, "-" AS Receipt_voucher, issue_doc.issue_doc, Sum(Transaction.total) AS Depit, 0 AS credit,customers.home,customers.mobil, customers.job,customers.address,issue_doc.zdateFROM customers INNER JOIN (issue_doc INNER JOIN [Transaction] ON issue_doc.issue_doc = Transaction.issue_doc) ON customers.customers = issue_doc.customerGROUP BY customers.customers, "-", issue_doc.issue_doc,customers.home,customers.mobil, customers.job,customers.address,issue_doc.zdate

UNION SELECT

customers.customers, Receipt_voucher.Receipt_voucher, "-" AS issue_doc, 0 AS depit, Receipt_voucher.LE AS Credit, customers.home,customers.mobil, customers.job,customers, Receipt_voucher.DateFROM (customers INNER JOIN issue_doc ON customers.customers = issue_doc.customer) INNER JOIN Receipt_voucher ON customers.customers = Receipt_voucher.[Received from];

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

quryyn1.jpg

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

rrrbq3.jpg

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

Private Sub Report_Open(Cancel As Integer)
DoCmd.Maximize
End Sub

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

MsgBox "لاتوجد بيانات للطباعة", vbInformation, "تحذير"

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

formhd3.jpg

أولاً : - نقوم بتصميم نموذج يحتوي علي مربع تحرير وسرد ويكون مصدرة جدول العملاء وذلك لعرض اسماء العملاء

ثانياً : - قم بإنشاء زر علي النموذج لعرض التقرير وتحت حدث الضغط علي هذا الزر نقوم بكتابة هذا الكود لعرض التقرير الحالي للعميل المختار من مربع التحرير والسرد

DoCmd.OpenReport "Account Receivables", acViewPreview, , "[customers]='" & Me.Combo0 & "'"

وإذا كنت تريد عرض التقرير بززززوم كبير شويه يمكنك عمل هذا باضافة هذا الكود

DoCmd.RunCommand acCmdZoom100

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

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

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

Private Sub Command2_Click()
If IsNull([Combo0]) Then
MsgBox "يجب عليك أولاً اختيار اسم العميل", vbCritical, "warning"

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

Private Sub Combo0_KeyDown(KeyCode As Integer, Shift As Integer)
KeyCode = 0
End Sub

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

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

مرفق البرنامج بعد إجراء آخر تعديل

Warehouses_System_up.rar

تم تعديل بواسطه محمد فؤاد تركي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

شرح جميل للغاية

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

اخي الحبيب محمد

اجمل تحياتي وتمنياتي لك بالتوفيق والنجاح

اولا : - اود ان اشكرك على مجهودك الرائع في شرح هذا البرنامج

وسهولة ويسر توصيل المعلومة

ثانياً :- لي بعض الاستفسارات حول البرنامج

اولا لو عندي اكثر من مندوب مبيعات ولكل مندوب موردين خاصين به واريد ان اعرف مبيعات هذا المندوب في فترة معينة

وايضا المحصل عن طريقة والباقي على العملاء بمعنى

لو عندي مندوب مبيعات مبيعاتها خلال الشهر 1000 جم والمحصل 800 والباقي 200 مثلا فكيف يتم عمل التقريرلمندوبي المبيعات

ثانياً :- المخزن القاعدة الاساسية فية الوارد اولا يصرف اولا فمثلا لو عندي صنف واحد تمت اكثر من حركة علية

مثلا لو تم شراء 500 من السلع س في اول الشهر ب 100 جم ثم بعد اسبوع 600 وحدة اخرى بي 105 جم وتم بيع منهم 800 وحدة فالمروض ان يظهر عندي المخزون بسعر 105

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

واسف جدا للاطاله

وشكراااااااااااااااااااااااااااااا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الغالي Hassan 202

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

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

تم تعديل بواسطه محمد فؤاد تركي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الاخ الكريم /

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

جزاك الله خيرا عما شرحته ولكل من شاركك فى هذ الموضوع بالايضاح وارجو من ان تبتغى وجه الله بالشرح حتى تفوز بما هو اهم وهو جزاء الله فى الاخره

ولى طلب اخير منك

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

وجزاك الله خيرا وللمنتدى الذى اتاح الفرصه لهذا الموضوع المهم

اخوك مصطفى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الأخ الكريم / محمد فؤاد تركى

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

إلى الأخ محمد :

بداية كل الشكر لك على هذا العمل الرائع

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

و لكن لدي استفسار و أرجو منك أن تساعدني في الإجابة عليه :

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

و لك الشكر على مساعدتك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي محمد مشكور على الشرح المفصل

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

مع الشكر الجزيل

فادي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

من جديد أخي محمد

إذا كان عني مجموعة عملاء وأريد أن أضع لكل عميل سعرخاص لنفس الصنف فكيف يتم ذلك أي:

عميل اسمه خالد --الصنف --اسمنت--السعر 100

عميل اسمه عمر--الصنف-- اسمنت--السعر 90

فكيف يتم ذلك

مع لشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الغالي

silva

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

رداً علي استفسارك

بخصوص رأس فاتورة الشراء والبيع

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

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

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

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

والله الموفق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي الغالي

f_ajjour

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

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

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

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

وان شاء الله خلال الايام سأنتهي من شرح جزئية جديدة وسأعرضها فور الانتهاء من تجهيزها للعرض في المنتدي

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

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

كل عام وانتم بخير بمناسبة العام الهجري الجديد

أولاً أحب أن أعتذر لكم عن بعدي في الفترة السابقة عن المنتدي وخاصة عن تكملة بناء البرنامج لظروف تقفيل ميزانية آخر عام 2007 وجرد المخازن

أيضا بانشغالي بنظام التكويد علي برنامج جديد نعمل عليه حاليا من شركة مايكروسوفت اسمة Microsoft besines Axapta Solution

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

والان لنبدأ علي بركة الله اليوم في وضع درس خفيف يضفي شكل جمالي وومميز للبرنامجنا أيضا

وهو تصميم قائمة تحتوي علي كافة النماذج التي انشأناها من قبل ليسهل علينا رؤية البرنامج بشكل صحيح وتتضح الامور أكثر وأكثر

أولاً سنبدأ في تصميم قائمة خاصة بالبرنامج مثل هذه

post-46243-1206954711.jpg

والان سنبدأ علي بركة الله شرح طريقة عمل هذه القائمة الجذابة

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

أولاً نحتاج لاداتين مهمتين لتنفيذ هذا

الاداة الاولي هي عنصر من عناصر Activex واسمها ImgLit

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

post-46243-1206954955.jpg

ثم اضغط عليها 2 كليك للدخول علي خصائص الاداة ووضع الايقونات الخاصة بكل زر كما هو موضح بالصورة

post-46243-1206955623.jpg

ادخل علي تبويب images وضع الايقونات المراد ظهورها في القائمة

وبذلك يكون قد انتهي عمل ومهمة هذه الاداة

الاداة الثانية من دوات عناصر Activex واسمها Toolbar

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

post-46243-1206956232.jpg

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

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

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

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

واكتب هذه الجملة

Private Sub Toolbar0_ButtonClick(ByVal Button As Object)
Select Case Button.Index

Case 1
DoCmd.OpenForm "Codes"

Case 3

DoCmd.OpenForm "Trans_in"

Case 5
DoCmd.OpenForm "Trans_out"

Case 7
DoCmd.OpenForm "report"

End Select
End Sub

والان القائمة جاهزة للعمل تمام التمام

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

post-46243-1206956357.jpg

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

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

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

Warehouses_System_up.rar

تم تعديل بواسطه محمد فؤاد تركي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

لقد استفدت كثيرا من هذا العمل

جعله الله في موازين حسناتك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

مع الشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
أخي محمد مشكور على الشرح المفصل

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

مع الشكر الجزيل

فادي

عفواً

لم أفهم ماذا تقصد ؟

تم تعديل بواسطه محمد فؤاد تركي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السادة الزملاء

تم عمل بعض التنظيمات علي غلق وفتح القوائم لتسهيل العمل واظهارها بشكل مناسب

Warehouses_System_up.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي محمد سوف اوضح السؤال لو سمحت:

لنفرض جدلا أنه عندي صنف اسمنت والكمية هي (100),,أي يود لدي فقط صنف واحد في المستودع

ثم أضفت فاتورة شراء وكان من بين الأصناف المشتراة

1-) الصنف اسمنت والكمية هي (50),,

2-) الصنف مواد عازلة والكمية هي(40)

هي سيقوم النموذج بتحديث كمية الأسمنت وتصبح الكمية (150) من دون تدخل المستخدم في اضافة الكمية المشتراة يدويا؟؟

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

أرجو أن تكون الفكرة المرجوة وصلت

مع الشكر

فادي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ده شيء طبيعي وبديهي يا أخ فادي

وحاول انك تجرب هذا بنفسك

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

افتح شاشة التكويد

كود صنف جديد ليكن كوده مثلاً 102030

واسم الصنف اسمنت

ووحدة الصنف طن

اغلق شاشة التكويد ثم افتح شاشة فواتير الشراء والموجوده في القائمة الخاصة بالبرنامج

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

اختار الصنف واكتب كميتة ولتكن 100 طن

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

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

اذهب لتقرير ارصدة المخازن مرة اخري واستعرض الرصيد ستجد الرصيد قد اتغير من 100 طن الي 150 طن

وهكذا

أما بخصوص المواد العازلة فنفس الشيء لكن ( يجب ان يكون لها كود في شاشة دليل أكواد المخازن ) لان بدون تكويد هذا الصنف في شاشة دليل الاكواد لن تسجل في فاتورة الشراء ولن يظهر لها رصيد في المخزن

اتمني ان اكون قد وصلت المطلوب بالضبط

تم تعديل بواسطه محمد فؤاد تركي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مشكور اخي منحمد على الرد السريع

فادي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا جزيلا لك أخ محمد على مساعدتك :

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

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

و أنا شاكرة جدا على مساعدتك .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أختي الغالية Silva

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

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

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

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

أ - استدعاء الكود من الشاشة الرئيسية يمنع المستخدم من أخطاء الكتابة والمسافات وما الي ذلك

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

لذلك نحن لا نعيد كتابة الاكواد مرة اخري ( بل نستدعيها من الجدول الرئيسي لكي يسير البرنامج بمنهج واحد )

تم تعديل بواسطه محمد فؤاد تركي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اخي الكريم محمد باشا فؤاد

طبعا شغل 100 - 100 وربنا يبارك فيك

والله انا متابع الموضوع من البداية ولاحظت تكرار طلب الاعضاء لموضوع الوحدات المتعددة للصنف الواحد !!

ايه رأيك لو استخدمنا جدول Names زي ما هوه وانشأنا جدول فرعي منه One To many وذلك بعد تحويل رقم الصنف الي مفتاح اساسي

وبالجدول الفرعي Many نعرف وحدات فرعية ونسبتها الي الوحدة الاصلية بالجدول الرئيسي One

مثلا الاسمنت البورتلاندي - الرقم 1 - الوحدة كيلو - سعر البيع 10 ---------- بالجدول الرئيسي

وفى الفرعي

الوحدة شيكارة = 20 من الوحدة الرئيسية

ممكن يكون توصيل فكرتي صعبة

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

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

شوف كدة وقولي

اخوك احمد

post-80846-1200293144_thumb.jpg

Warehouses_System_up.rar

post-80846-1200295707_thumb.jpg

تم تعديل بواسطه ahamied
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

إلى الأخ محمد :

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

و أنا متابعة لبرنامج خطوة بخطوة حتى نهايته .

شكرا جزيلا لك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أبو حميد يا غالي

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

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

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

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

14897743eb9.jpg

مرة 80 كيلو ومرة تانية بــ 20 شيكارة في هذه الحالة احنا كررنا الصنف مرتين في تقرير رصيد المخازن مرة بالشيكارة ومرة بالكيلو

وماتزعلشي ممكن يكون فيه وحده تالتة اسمها طن يبقي عندنا رصيد المخازن للصنف 3 مرات ( مرة كيلو + مرة شيكارة + مرة طن )

وانا في اعتقادي ان الموضوع مش هيكون سليم كده عارف ليه ؟ عشان لو احنا عندنا مثلا 1000 و الــ 1000 صنف دول هنعمل معاهم الموضوع ده هيبقي عندنا 2000 صنف مكررين ويمكن يكونو 3000 صنف وكلة علي حسب عدد الوحدات اللي سيادتك هطحطها وقت عمليات الشراء .... لذلك اعتقد ان سياسة الشركة او المنشأه لازم تمشي بمبدأ واحد واعتقد ان مبدأ التعامل بأصغر وحدة هو الحل

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

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

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

الرصيد بالطن

ام الرصيد بالشيكارة

ام الرصيد بالكيلو

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

اية رأيك في الكلام ده

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي محمد الله يعطيك ألف عافية على الشغل الحلو

عندي سؤال بسيط هو:

كيف يتم اضافة صور لأزرار الأمر في الأداة imglist وكذلك في الأداة toolbar مع الملاحظة اني دورت عليهم في active .ocx ولم أجدهم ؟؟ وماهي صيغة الأيقونة التي نضعها في التوول بار "لقد جربت أكثر من صيغة ولم تنفع "

أرجو الإيضاخ

مع الشكر الجزيل

فادي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .