مدونة منذر اسامة

العودة   منتديات جريت بلينز العربية Great Plains For Arab > منتدى مطوري جريت بلينز > مواضيع المطورين الأخرى

مواضيع المطورين الأخرى مواضيع المطورين التي لا تنتمي الى أي من التصنيفات السابقة
مثل لغة الديكستريتي (Dexterity) والأدوات التطويرية الأخرى (eConnect , Integration Maneger ,VS2005 for GP...etc.)

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
قديم 02-Aug-2011, 10:18 AM   #21
humam
مشرف منتدى المطورين
Thumbs up ملاحظة حول شفرة الزر Save

كما تذكرون في بدايات هذا الموضوع كتبنا الشفرة البرمجية للزر حفظ وكانت هذه الشفرة البرمجية اولية اي تحتاج الى التطوير لان الشفرة الحالية ضعيفة ويوجد هناك bugs اتمنى من المتابعين ان يحاولوا اولا ايجاد هذا الخلل ثم سوف نتابع لاحقاتطوير الكود
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس
قديم 02-Aug-2011, 11:53 AM   #22
عثمان
عضو مميز
 
تاريخ التسجيل: Jul 2007
المشاركات: 108
من مواضيعي  
افتراضي

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

حيا الله شعب العراق الأبي ... الشعب العبقري دون منازع... فرج الله همكم
عثمان غير متواجد حالياً   رد مع اقتباس
قديم 04-Aug-2011, 03:35 PM   #23
humam
مشرف منتدى المطورين
افتراضي

الله محييك اخي العزيز جزاك الله عني خير الجزاء على كلماتك الطيبة واتمنى ان تعود هذه المواضيع بالفائدة المرجوة منها على كل العرب والمسلمين
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس
قديم 04-Aug-2011, 03:44 PM   #24
Monzer Osama
مدير عام منتديات جريت بلينز العربية
افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة humam مشاهدة المشاركة
كما تذكرون في بدايات هذا الموضوع كتبنا الشفرة البرمجية للزر حفظ وكانت هذه الشفرة البرمجية اولية اي تحتاج الى التطوير لان الشفرة الحالية ضعيفة ويوجد هناك bugs اتمنى من المتابعين ان يحاولوا اولا ايجاد هذا الخلل ثم سوف نتابع لاحقاتطوير الكود
أتوقع أن الخلل في هذا هو عدم وضع كود لعملية الحفظ عند إغلاق الشاشة حيث أنه لن يتم حفظ المدخلات الا بضغط الزر ويفترض أن يتم سؤال المستخدم عن رغبة الحفظ من عدمها... هل انا محق في هذا؟؟
__________________
Monzer Osama
Saudia Arabia - Jeddah
00966501826235
Microsoft Certified Business Management Solutions Professional
Microsoft Certified Trainer
Monzer Osama غير متواجد حالياً   رد مع اقتباس
قديم 04-Aug-2011, 04:25 PM   #25
humam
مشرف منتدى المطورين
افتراضي

الشفرة البرمجية للزر 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
humam غير متواجد حالياً   رد مع اقتباس
قديم 04-Aug-2011, 04:37 PM   #26
humam
مشرف منتدى المطورين
افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة Monzer مشاهدة المشاركة
أتوقع أن الخلل في هذا هو عدم وضع كود لعملية الحفظ عند إغلاق الشاشة حيث أنه لن يتم حفظ المدخلات الا بضغط الزر ويفترض أن يتم سؤال المستخدم عن رغبة الحفظ من عدمها... هل انا محق في هذا؟؟
احسنت اخي منذر على هذه الملاحظة وهذه نقطة اخرى سوف نذكر لاحقا كيفية التعامل معها.
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس
قديم 04-Aug-2011, 04:44 PM   #27
humam
مشرف منتدى المطورين
 
الصورة الرمزية humam
افتراضي


ان العبارتين 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 وهي تعمل على ازلة القفل من الجدول لاننا اذا لم نفعل ذلك سوف لا يستطيع المستخدم ان يصل الى الجدول لانه سوف يكون مغلق.
الصور المصغرة للصور المرفقة
اضغط على الصورة لعرض أكبر الاســـم:	Fig11.JPG‏ المشاهدات:	553 الحجـــم:	63.5 كيلوبايت الرقم:	113  
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس
قديم 04-Oct-2011, 10:02 AM   #28
yasser_bh
عضو جديد
 
تاريخ التسجيل: Aug 2007
المشاركات: 27
من مواضيعي  
افتراضي

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


شكرا
yasser_bh غير متواجد حالياً   رد مع اقتباس
قديم 04-Oct-2011, 11:06 AM   #29
عماد زيد
مشرف عام في منتديات جريت بلينز العربية
افتراضي

السلام عليكم
الأخ همام اضطر للإنقطاع عن المنتدى بسبب لعض الظروف القاهرة.
نتمنى عودته قريباً.
عماد زيد غير متواجد حالياً   رد مع اقتباس
قديم 14-Nov-2011, 05:57 PM   #30
humam
مشرف منتدى المطورين
افتراضي

والله بالنسبة الى المصادر فأني استخدم المصادر المرفقة مع الدكسترتي ولم اجد مصادر اخرى واضن ان المصادر المرفقة كافية لتطوير المشاريع مهما كانت درجة تعقيدها
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس
إضافة رد


يتصفح الموضوع حالياً : 2 (0 عضو و 2 ضيف)
 
أدوات الموضوع
انواع عرض الموضوع

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

BB code متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
تعلم لغة الدكسترتي humam مواضيع المطورين الأخرى 59 20-May-2013 11:00 AM
تعلم كيفية بناء وتطوير مشاريع تستخدم eConnect humam مواضيع المطورين الأخرى 39 30-Mar-2013 12:00 PM
كيفية تعلم جريت بلينز نادر احمد ماهر حزمة التشغيل (جزيئ المبيعات - المشتريات - المستودعات ) 1 23-Oct-2011 01:08 PM


جميع الأوقات بتوقيت GMT +3. الساعة الآن 05:58 PM.


Powered by vBulletin® Version 3.8.3

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

Copyright © 2000-2010 Jelsoft Enterprises Limited.
الموقع لا يمثل أي جهة رسمية بل هو جهد شخصي يرمي الى تجميع القدرات في برنامج جريت بلينز