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

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

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

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
قديم 14-Nov-2011, 06:44 PM   #21
humam
مشرف منتدى المطورين
افتراضي

في نهاية هذا الموضوع اود ان اوضح بعض الملاحظات حول الشفرة السابقة لازالة الغموض عن بعض اجزائها :

في البداية نلاحظ وجود برامترين للادخال وهما LoadMode والثاني Show Progress وهو من النوع الاختياري اي يمكن امرار قيمته او اغفالها وهو غير مستخدم داخل الشفرة بالنسبة للبرامتر الاول وهو المهم لحسن الحظ سوف لن تكون مسؤول عن امرار تلك القيمة كما هو الجال مع معظم
برامترات الادخال لأن الجريت بلينز سوف يمرر تلك القيمة وهنا توجد قيمتين هما :

MENULOAD_TOTABLE
MENULOAD_TOMEMORY

لو لاحظت ان نوع هذا البارامتر هو Integer فكيف سوف تكون القيم هي MENULOAD_TOTABLE,MENULOAD_TOMEMORY في الحقيقة ان هاتين القمتين هما Integer وهما عبارة عن ثوابت القيمة الاولى يتم امرارها للدلالة على ان الجريت بلينز قد كون القوائم الخاصة به من الجدول SY017710 وهذا يحصل اذا كانت هناك تعديلات جرت غلى قوائم الجريت بلينز اما القيمة الثانية تشير الى ان الجريت بلينز قد استخدم Dictionary لتكوين القوائم.
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس
قديم 18-Nov-2011, 07:59 PM   #22
humam
مشرف منتدى المطورين
افتراضي

اضافة الى ذلك تم تعريف ثلاث متغيرات هي :

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
humam غير متواجد حالياً   رد مع اقتباس
قديم 18-Nov-2011, 08:11 PM   #23
humam
مشرف منتدى المطورين
افتراضي

اخير الجزء التالي من الشفرة :

{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
humam غير متواجد حالياً   رد مع اقتباس
قديم 23-Dec-2011, 08:38 AM   #24
صقر حديثه
عضو جديد
 
تاريخ التسجيل: Aug 2007
المشاركات: 2
من مواضيعي  
 

افتراضي

شكرا اخي على هذا الشرح
صقر حديثه غير متواجد حالياً   رد مع اقتباس
قديم 23-Dec-2011, 06:15 PM   #25
humam
مشرف منتدى المطورين
افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة صقر حديثه مشاهدة المشاركة
شكرا اخي على هذا الشرح
الشكر لله اخوي العزيز هله والله بصقر حديثة
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس
قديم 07-Jul-2012, 03:24 AM   #26
amrmaroooo
عضو جديد
 
تاريخ التسجيل: Jul 2008
المشاركات: 1
من مواضيعي  
 

افتراضي

جزاك الله خير وفقك
وانتظار المزيد بأمر الله
amrmaroooo غير متواجد حالياً   رد مع اقتباس
إضافة رد


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

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

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

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

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
قواعد تصميم الحسابات في جريت بلينز ahai الجزيئ المالي
(GL - AP - AR – BM - FA - AC ... ets.)
42 19-Jan-2015 08:39 PM
دورات تدريبية لبرنامج الجريت بلينز بالسعودية joomrd منتدى جريت بلينز العام 2 16-Oct-2014 11:58 PM
أنا بتوسع في شركتي وأريد معرفة كيفية شراء برنامج الجريت بلينز nicewise تعرف على جريت بلينز .... 4 13-Mar-2014 12:21 PM
قيَّم استخدامك لبرنامج جريت بلينز Monzer Osama منتدى جريت بلينز العام 0 11-Dec-2013 05:12 PM
اكواد اضافة القوائم لبرنامج الجريت بلينز humam مواضيع المطورين الأخرى 0 17-Apr-2012 01:26 PM


جميع الأوقات بتوقيت GMT +3. الساعة الآن 12:34 AM.


Powered by vBulletin® Version 3.8.3

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

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