|
|
مواضيع المطورين الأخرى مواضيع المطورين التي لا تنتمي الى أي من التصنيفات السابقة مثل لغة الديكستريتي (Dexterity) والأدوات التطويرية الأخرى (eConnect , Integration Maneger ,VS2005 for GP...etc.) |
| أدوات الموضوع | انواع عرض الموضوع |
02-Aug-2011, 10:18 AM | #21 |
مشرف منتدى المطورين | ملاحظة حول شفرة الزر Save كما تذكرون في بدايات هذا الموضوع كتبنا الشفرة البرمجية للزر حفظ وكانت هذه الشفرة البرمجية اولية اي تحتاج الى التطوير لان الشفرة الحالية ضعيفة ويوجد هناك bugs اتمنى من المتابعين ان يحاولوا اولا ايجاد هذا الخلل ثم سوف نتابع لاحقاتطوير الكود __________________ GP Techno-Functional Consultant |
02-Aug-2011, 11:53 AM | #22 | ||
عضو مميز تاريخ التسجيل: Jul 2007 المشاركات: 108
| علمت أنك من الإخوة العراقين والفخر لك ... ماشاءا الله عليك يا استاذ همام مواضيع من أروع المواضيع بالمنتدى وعطائك رائع بلا حدود ... أسأل الله أن يفرج همك وينفث كربك ويعلي مكانت ويزيدك من علمه واسع فضله على ما تقدمه من نفع لنا وللمسلمين حيا الله شعب العراق الأبي ... الشعب العبقري دون منازع... فرج الله همكم | ||
04-Aug-2011, 03:35 PM | #23 |
مشرف منتدى المطورين | الله محييك اخي العزيز جزاك الله عني خير الجزاء على كلماتك الطيبة واتمنى ان تعود هذه المواضيع بالفائدة المرجوة منها على كل العرب والمسلمين __________________ GP Techno-Functional Consultant |
04-Aug-2011, 03:44 PM | #24 |
مدير عام منتديات جريت بلينز العربية | أتوقع أن الخلل في هذا هو عدم وضع كود لعملية الحفظ عند إغلاق الشاشة حيث أنه لن يتم حفظ المدخلات الا بضغط الزر ويفترض أن يتم سؤال المستخدم عن رغبة الحفظ من عدمها... هل انا محق في هذا؟؟ __________________ Monzer Osama Saudia Arabia - Jeddah 00966501826235 Microsoft Certified Business Management Solutions Professional Microsoft Certified Trainer |
04-Aug-2011, 04:25 PM | #25 |
مشرف منتدى المطورين | الشفرة البرمجية للزر Save: بالعودة الى الشفرة البرمجية في الزر Save نلاحظ انها تمتاز بالبساطة وانا كنت متقصد من ذلك لانني في البداية لااريد ان اضع شفرات معقدة نوعا ما مما يعطي انطباع سيء عند الشخص الذي يرغب في التعلم وهي كانت كافية في البداية لاعطاء صورة جديدة حيث ان المستخدم سوف يقوم بأدخل المعلومات ثم يقوم بحفضها ويلاحظ ان كل شيء يعمل بشكل جيد حيث تتم عملية مسح محتويات النافذة بعد الحفظ وعندما يعمل SELECT من SQL Server سوف يجد السجل الذي ادخله الان اين العيب في هذه الشفرة ؟ الجواب ان هذه الشفرة تعمل بشكل سليم في حالة ادخال New record ولكن عندما تحاول ان تحرر اي سجل موجود مثلا استرجع اي سجل ثم غير اسم الزبون مثلا او اي حقل ثم اضغط الزر حفظ واسترجع نفس السجل سوف تلاحظ ان التغييرات التي قمت بها لم تحفظ ؟ الخلل في الشفرة البرمجية حيث نحتاج الى تغيير المنطق الذي تعمل به الشفرة الى المنطق التالي: اولا. سوف نقوم بعملية الحفظ كما هي ان ننسخ المحتويات من النافذة الى الجدول ثم نحفظ الجدول. ثانيا. بعد تنفيذ عملية الحفظ سوف نستخدم الدالة err لمعرفة نتيجة عملية الحفظ هل نجحت ام لا .طبعا سوف تنجح العملية اذا كنت تحفظ هذا السجل لأول مرة ولكن عندما تحاول ان تقوم بعملية تحرير سجل موجود سوف تعاد القيمة التالية DUPLICATE ولتوضيح السبب في ذلك سوف نحتاج الى تقريب الموضوع كما يلي ان عبارة Save Table سوف تترجم لاحقا الى عبارة Insert المعروفة في SQL Server الان عندما تنفذ عملية Insert في جدول يجب ان يكون كل سجل في الجدول يمتلك قيمة فريدة لحقل او مجموعة الحقول التي تمثل Primary Key للجدول فأذا حاولت ادراج سجل جديد يمتلك نفس القيمة في حقل المفتاح الاساسي Primary Key لسجل موجود فأنك تحاول ان تكسر تكامل قاعدة البيانات وسوف يقوم SQL Server بمنعك من ذلك وهذا ما يحصل فعلا عندما تحاول ان تنفذ عبارة save table بالنسبة لسجل موجود مسبقا لذا اذا كانت القيمة المعادة هي DUPLICATE سوف نستنج ان المستخدم يحاول ان يعدل محتويات سجل موجود لذا نحتاج الى اضافة سطر برمجي قبل عبارة save table يعمل على ترجمتها الى عبارة Update المكافئة في SQL Server . __________________ GP Techno-Functional Consultant |
04-Aug-2011, 04:37 PM | #26 |
مشرف منتدى المطورين | احسنت اخي منذر على هذه الملاحظة وهذه نقطة اخرى سوف نذكر لاحقا كيفية التعامل معها. __________________ GP Techno-Functional Consultant |
04-Aug-2011, 04:44 PM | #27 |
مشرف منتدى المطورين | ان العبارتين Copy from & save table كما وضحنا سوف تعمل على حفظ المعلومات من النافذة الى الجدول الان هناك احتمالين الاول هو نجاح عملية الحفظ لذا سوف تعيد الدالة err القيمة OKAY وبتالي سوف لايتم تنفيذ عبارة الشرط الاولى وينتقل التنفيذ مباشرة الى السطر الاخير من الشفرة وتحديدا الى العبارة restart window والتي تعمل على مسح محتويات النافذة بعد عملية الحفظ التي تمت بشكل سليم . الان نأتي الى الاحتمال الثاني وهو ان المستخدم يحاول تعديل سجل موجود وعندما نحاول تنفيذ العبارة save سوف يحصل هناك خطأ وتعيد الدالة err قيمة الخطأ وهو DUPLICATE وبتالي سوف يتحقق شرط عبارة if then الاولى وننتقل الى مجموعة من العبارت تعمل على ما يلي: اولا. نفرغ محتويات Table Buffer ثانيا.تعمل عبارة range table على ملئ Table buffer بالسجل المحدد اعتمادا على قيمة حقل النافذة Customer ID . ثالثا. تقوم العبارة change first بوظيفتين الاولى هي استرجاع السجل الاول من Table Buffer والثانية انها تهيئ الجدول ARB_Customer_MSTR للقيام بعملية تعديل محتوى احد السجلات الموجودة حاليا. رابعا. تقوم عبارة copy from & save table بعملية حفظ التعديلات التي اجراها المستخدم على السجل وسوف تتم هذه العملية بنجاح ولكن للاحتياط وضعت بعدها عبارة if then لفحص العملية الاخيرة لانه قد يحصل هناك خلل اثناء عملية الحفظ مثلا تنقطع الشبكة وهنا ان العبارة change table خطرة نوعا ما لانها تسبب اقفال الجدول وهذا الاقفال لا يزال الا بتنفيذ عملية save ناجحة اما اذا لم تنجح عملية الحفظ لاي سبب من الاسباب سوف تعمل عبارة if then على تنفيذ العبارة release table وهي تعمل على ازلة القفل من الجدول لاننا اذا لم نفعل ذلك سوف لا يستطيع المستخدم ان يصل الى الجدول لانه سوف يكون مغلق. __________________ GP Techno-Functional Consultant |
04-Oct-2011, 10:02 AM | #28 | ||
عضو جديد تاريخ التسجيل: Aug 2007 المشاركات: 27
| شكرا لك على هذا الموضوع الممتاز ... منذ فترة و انا ابحث عن مصادر لتعلم لغة الدكستري ... فأذا كانت لديك بعض المصادر (كتب، مواقع أو منتديات) فسوف نكون لك نت الممتننين لو شاركتنا إياها شكرا | ||
04-Oct-2011, 11:06 AM | #29 |
مشرف عام في منتديات جريت بلينز العربية | السلام عليكم الأخ همام اضطر للإنقطاع عن المنتدى بسبب لعض الظروف القاهرة. نتمنى عودته قريباً. __________________ http://www.linkedin.com/in/emadzaid |
14-Nov-2011, 05:57 PM | #30 |
مشرف منتدى المطورين | والله بالنسبة الى المصادر فأني استخدم المصادر المرفقة مع الدكسترتي ولم اجد مصادر اخرى واضن ان المصادر المرفقة كافية لتطوير المشاريع مهما كانت درجة تعقيدها __________________ GP Techno-Functional Consultant |
يتصفح الموضوع حالياً : 2 (0 عضو و 2 ضيف) | |
|
|
المواضيع المتشابهه | ||||
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
تعلم لغة الدكسترتي | humam | مواضيع المطورين الأخرى | 59 | 20-May-2013 11:00 AM |
تعلم كيفية بناء وتطوير مشاريع تستخدم eConnect | humam | مواضيع المطورين الأخرى | 39 | 30-Mar-2013 12:00 PM |
كيفية تعلم جريت بلينز | نادر احمد ماهر | حزمة التشغيل (جزيئ المبيعات - المشتريات - المستودعات ) | 1 | 23-Oct-2011 01:08 PM |