|
|
مواضيع المطورين الأخرى مواضيع المطورين التي لا تنتمي الى أي من التصنيفات السابقة مثل لغة الديكستريتي (Dexterity) والأدوات التطويرية الأخرى (eConnect , Integration Maneger ,VS2005 for GP...etc.) |
| أدوات الموضوع | انواع عرض الموضوع |
14-Nov-2011, 05:44 PM | #21 |
مشرف منتدى المطورين | في نهاية هذا الموضوع اود ان اوضح بعض الملاحظات حول الشفرة السابقة لازالة الغموض عن بعض اجزائها : في البداية نلاحظ وجود برامترين للادخال وهما LoadMode والثاني Show Progress وهو من النوع الاختياري اي يمكن امرار قيمته او اغفالها وهو غير مستخدم داخل الشفرة بالنسبة للبرامتر الاول وهو المهم لحسن الحظ سوف لن تكون مسؤول عن امرار تلك القيمة كما هو الجال مع معظم برامترات الادخال لأن الجريت بلينز سوف يمرر تلك القيمة وهنا توجد قيمتين هما : MENULOAD_TOTABLE MENULOAD_TOMEMORY لو لاحظت ان نوع هذا البارامتر هو Integer فكيف سوف تكون القيم هي MENULOAD_TOTABLE,MENULOAD_TOMEMORY في الحقيقة ان هاتين القمتين هما Integer وهما عبارة عن ثوابت القيمة الاولى يتم امرارها للدلالة على ان الجريت بلينز قد كون القوائم الخاصة به من الجدول SY017710 وهذا يحصل اذا كانت هناك تعديلات جرت غلى قوائم الجريت بلينز اما القيمة الثانية تشير الى ان الجريت بلينز قد استخدم Dictionary لتكوين القوائم. __________________ GP Techno-Functional Consultant |
18-Nov-2011, 06:59 PM | #22 |
مشرف منتدى المطورين | اضافة الى ذلك تم تعريف ثلاث متغيرات هي : local CmdSequence Seq local integer Status local boolean AddMenuItems الاول سوف يستخدم لخزن الموقع للامر الجديد الذي سوف يضاف اما الثاني يستخدم لخزن القيمة التي تعود بها الدالة AddCommandToMenu اما الثالث وهو الاهم وهو متغير منطقي نستخدمه للتحقق من الفقرات التالية: اولا نعطي قيمة اولية له هي True . ثانيا.نستخدم برامتر الادخال Load Mode للتحقق من الطريقة التي يستخدمها الجريت بيلنز للقيام بعملية بناء القوائم وهذا ما تفعله عبارة IF THEN الاولى فأذا كان الجريت بلينز يكون هذه القوائم من الجدول فأذا كان كذلك علينا التأكد من ان قوائم المنتج الجديد قد اضيفت الى الجدول او لا وهنا نستخدم الدالة MenusExistForProduct(3333) of form syMenuObj للقيام بذلك فأذا كانت القوائم مضافة الى الجدول سوف نغير قيمة المتغير AddMenuItems الى false وبتالي لا يوجد داع لاضافة هذه القوائم الى الجدول مرة اخرى لان هذه العملية سوف تأخذ وقت طويل وهنا كما ذكرت سابقا (حدثت عندنا حالة في مشروع سابق قامت الشركة بتطويره وهي ان المستخدمين يعانون من البطىء الشديد اثناء محاولة الدخول الى الجريت بلينز وطلبوا مني ايجاد السبب وبعد البحث في الوثائق وجدت السبب الذي ذكرته في اعلاه حيث اغفل المطور السابق وضع عبارة if then للتاكد من الطريقة التي يستخدمها الجريت بلينز لتكوين القوائم فأدى هذا الى البطئ في محاولة الولوج الى الجريت بلينز وسوف اوضح موقع هذه العبارة في الجزء التالي من الشفرة البرمجية) هنا المطور السابق اغفل وضع عبارة If then السابقة للتحقق من ان القوائم موجودة في الجدول او لا وبتالي في كل مرة يحاول فيها المستخدم الولوج الى الجريت بلينز تتم عملية اضافة هذه القوائم للجدول وكان هذا السبب ببطىء عملية الولوج الى الجريت بلينز لذا عبارة الشرط السابقة في غاية الاهمية. __________________ GP Techno-Functional Consultant |
18-Nov-2011, 07:11 PM | #23 |
مشرف منتدى المطورين | اخير الجزء التالي من الشفرة : {Add a separator, which is a built-in command} Seq = 0 Status = AddCommandToMenu(DYNAMICS resourceid(form Command_Sales resourceid(command CL_Sales_Cards of form Command_Sales) Seq CMD_BUILTINCMD_DICTID CMD_BUILTINCMD_FORMID resourceid(command cmdSeparator) true LoadMode) هو في الحقيقة يستخدم لاضافة command من نوع خاص وهو separator وهو يمثل الخط الفاصل بين الامر الذي تضيفه وباقي اوامر الجريت بيلنز وهنا وثائق الدكسترتي تقترح دائما اضافة هذا الفاصل وهنا نلاحظ استخدام نفس الدالة AddCommandToMenu لاضافة هذا الفاصل مع وجود اختلاف صغير وهو ان هذا الفاصل سوف يكون موجود في Dictionary خاص اسمه CMD_BUILTINCMD_DICTID وكذلك النموذج الذي يحتوي هذا Command واسمه CMD_BUILTINCMD_FORMID اما بالنسبة لباقي البارمتر في كما وضحت في شرح الدالة AddCommandToMenu. وفي نهاية الشفرة سوف تجد الجزء الخاص بعملية اضافة الفقرة الجديدة الى القوائم واتصور الشفرة واضحة لاني شرحت العبارة AddCommandToMenu بشكل مفصل تحتاج فقط الى مقارنة هذه الشفرة مع الشرح لبارامترات العبارة AddCommandToMenu . __________________ GP Techno-Functional Consultant |
23-Dec-2011, 07:38 AM | #24 | ||
عضو جديد تاريخ التسجيل: Aug 2007 المشاركات: 2
| شكرا اخي على هذا الشرح | ||
23-Dec-2011, 05:15 PM | #25 |
مشرف منتدى المطورين | الشكر لله اخوي العزيز هله والله بصقر حديثة __________________ GP Techno-Functional Consultant |
07-Jul-2012, 02:24 AM | #26 | ||
عضو جديد تاريخ التسجيل: Jul 2008 المشاركات: 1
| جزاك الله خير وفقك وانتظار المزيد بأمر الله | ||
يتصفح الموضوع حالياً : 1 (0 عضو و 1 ضيف) | |
أدوات الموضوع | |
انواع عرض الموضوع | |
|
|
المواضيع المتشابهه | ||||
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
قواعد تصميم الحسابات في جريت بلينز | ahai | الجزيئ المالي (GL - AP - AR – BM - FA - AC ... ets.) | 42 | 19-Jan-2015 07:39 PM |
دورات تدريبية لبرنامج الجريت بلينز بالسعودية | joomrd | منتدى جريت بلينز العام | 2 | 16-Oct-2014 10:58 PM |
أنا بتوسع في شركتي وأريد معرفة كيفية شراء برنامج الجريت بلينز | nicewise | تعرف على جريت بلينز .... | 4 | 13-Mar-2014 11:21 AM |
قيَّم استخدامك لبرنامج جريت بلينز | Monzer Osama | منتدى جريت بلينز العام | 0 | 11-Dec-2013 04:12 PM |
اكواد اضافة القوائم لبرنامج الجريت بلينز | humam | مواضيع المطورين الأخرى | 0 | 17-Apr-2012 12:26 PM |