27-02-19, 05:36 PM
(27-02-19, 02:18 PM)elgokr كتب :وعليكم السلام ورحمة الله وبركاته
فى البداية يوجد تناقص فى الموضوع حتى اتمكن من عمل كود يناسب طلبك كلياً
1- كيف يتم تعبئة الداتا جريد هل يتم تعبئتها يدوياً كالفاتورة ام انه يتم جلب البيانات التى بها من خلال استعلام
2- الكود بالموضوع او المرفق يوجد به خطاء ما فاتنا مراجعته جيداً ..
3- امر الحفظ هل يقوم بحفظ ما بداخل الداتا جريد كما هو بالتكرار وماذا عن جدول الكمية اتمنى توضيح اكثر عن كل جدول
شوف نظرياً الامر لحل الوضعاذا كان الداتا يتم جلبها من خلال استعلام فكل ما عليك عمل جروب باى الصنف او رقم الصنفواذا كان الادخال يدوي يتم تحويل محتوى الداتا جريد الى ليست فيو بحيث عند اضافة فى الليست فيو يتم كما شرح الاخ thevirusمن ثم ترحيل محتوى الليست الى الكميات للتحقق كما اشرت انت لما تريد
وحتى اتمكن من تحويل الفكرة نظرياً الى عملى من خلال الكودبحاجة لتوضيح اكثر عن الجداول وطريقة ادخال البيانات فى الداتا جريد
تحياتى لكوتمنياتى لك التوفيق
السلام عليكم ورحمه الله وبركاته
استاذنا الفاضل elgoker
تحية لشخصكم الكريم
1 - يتم تعبئه الجريد يدوى سطر بسطر عند ادخال السندات
2 - يتم الحفظ بجدول التفاصيل كما تم الادخال (لكل سطر على حدى)
3-الكود للفنكشن تمام ولا يوجد به مشاكل ولكن (حذفت منه بعض ما يخص بتعريب الرسايل لعدم الاطالة على من يساعد )
ومرفق الفنكشن بالكامل .....
توجد مشاركة لاخ كريم فى المنتدى لطريقة تجميع الكميات بالجريد لكل صنف على حده واظهار الناتج بجريد اجر
والكود المستخدم لذلك هو التالى
Dim query = From row In grdReciptQty.Rows.Cast(Of DataGridViewRow)() Group row By Item = row.Cells(5).Value Into ItemGroup = Group
Select New With {Key Item, Key .Count = ItemGroup.Count(Function® r.Cells(8).Value), Key .sum = ItemGroup.Sum(Function® r.Cells(8).Value)}
grdItems.DataSource = query.ToArray
حيث ان :
1 - grdReciptQty
هى الجريد الاساسية للاصناف و المرفق اعلاه صورة لها
2 - grdItems
هى جريد لتجميع كميات الاصناف بها بناء كود الصنف
3 - Cells(8)
خلية كود الصنف
4 -Cells(8)
خلية الكمية
وبالفعل الكود يعمل جيدا و بيجمع الكميات لنفس الكود
اذا كان هناك اكثر من كمية واكثر من صنف فى نفس سند الصرف
وبربط الفنكشن اعلاه ب الجريد الجديدة (المجمع بها الاصناف ) يكون الحال بالظبط هو المطلوب الوصول اليه كما اريد
-------------- ولكن -----------
هذا يتطلب عمل جريد للتجميع لكل شاشات الاستلام والصرف بالبرنامج
هل لا يوجد حل احر دون اللجوء لجريد تجميعية لكميات الاصناف ؟؟؟؟
تحياتى
واسف على الاطالة
الفنكشن الاصلية دون تغير
[attachment=21001]
