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

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

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

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
قديم 10-Jul-2011, 01:45 PM   #1
humam
مشرف منتدى المطورين
افتراضي تعلم لغة الدكسترتي

بسم الله الرحمن الرحيم
اود ان ابداء مشاركتي في هذا المنتدى ولدي والحمدلله خبرة جيدة في لغة الدكسترتي وقدقمت بتصميم العديد من المشاريع في هذا المجال وكمدخل ان العمل كمطور للجريت بلينز سوف يفتح امامك خيارت متاحة وهي استخدام
VBA & Modifier
او
Dexterity

الخيار الاول يفضل استخدامه مع المتطلبات البسيطة نسبيا وهو غير مفضل مع المتطلبات المعقد كتصميم Module جديد يعمل مع الجريت بلينز وذلك لعدة اسباب اهما انه عندما تقوم بتطوير Module يجب ان تاخذ النسخة بنظر الاعتبار اي GP Version لانك اذا صممت مشورع للعمل مع GP8مثلا ثم قام العميل بتطوير نسخة GP الى GP9 عند ذلك سوف تحتاج الى تطوير المشروع الذي صممته وهنا تظهر المشاكل لان كل نسخة من GP سوف يكون فيها اختلاف عن النسخة السابقة في عدد وموقع الحقول في النافذة الواحدة وقد يؤدي هذا الى ظهور حقل جديدمكان الحقل الذي اضفته بواسطة Modifier وهكذا ولكن في نهاية هذا الموضوع سوف اوضح في اي حالة نضطرفيها الى هذاالخيار.

الخيار الثاني هو استخدام لغة الدكسترتي وهي لغة معقدة نسبياوغير مرنة مثل باقي لغات البرمجة الاخرى ولكن من الممكن تعلم هذه اللغة عن طريق الاكثار من التمارين والاطلاع على الوثائق المرفقة مع هذه اللغة وهي تعطي نطاق واسع من المعلومات ومن اهمها:
IG.pdf
PRGV1.pdf
PRGV2.pdf


الان يجب ان نفصل قليلا في المشاريع التي يمكن تطويرها بواسطة الدكستيرتي:
1-Stand Alone Application
2-Integrating Application

في النوع الاول سوف تقوم بتطوير مشروع من الصفر وليس له علاقة من قريب او بعيد بGreat Plains وهذا يتطلب جهد كبير ومعقدوهو غير مطلوب في سوق العمل حاليا.

اما النوع الثاني Integrating Application وهو الاكثر ريادة في سوق العمل وفي هذا النوع سوف تعمل على تطوير مشروع يتفاعل مع الجريت بلينز ويستخدم وظائف الجريت بليز المختلفة وهنا ينقسم هذا النوع من المشاريع الى قسمين هما :
1-Vertical Enhancement
2-Customizations



Vertical Enhancement

في هذا النوع من المشاريع يتضمن تكوين نوافذ جديدة وتقارير جديدة وتقوم بتكوينها باستخدام Main Product Dictionary وتستخدم كل Resourcesالمتوفرة فيه وبذلك يظهر الفرق عن النوع الاول وهو Stand Alone حيث في ذلك النوع عليك ان تستخدم New Dictionary اي خالي من اي مصادر وعليك ان تقوم بتكوين كل المصادر التي سوف تستخدمهافي مشروعك اما Vertical Enhancement تستخدمMain Dictionary وبذلك تجد العديد من المصادر جاهزة وفي متناول يديك وكذلك سوف تقوم باضافة مصادرك الجديدة الى المصادر الموجودة اصلا .

Customizations
وهي عملية تغير نوافذ GP الموجودة اصلا حسب متطلبات الزبون وهذا النوع من العمل اعقد كثيرا من النوع الاول ويتطلب الحذر عند العمل معه ويفضل استخدام Trigger وهو نوع من القادحات يختلف عن القادحات المستخدمة في SQL Server وذلك لان اي تغيير وان كان بسيط سوف يؤثر على الكود الموضوعة من قبل المايكروسوفت في هذه النافذة لذا يجب ان يتصف العمل مع نوافذ GP الاصلية بالدقة والحذر وعدم محاولة كتابة الكود بصورة مباشرة داخل الكائنات لان ذلك سوف يؤدي الى محو تاثير الكودالموضوعة من قبل المايكروسوفت وتالي يؤدي الى تعطل النافذة عن العمل بشكل صحيح بعد قيامك بتنصيب مشروعك في الجريت بلينز وسوف اوضح لاحقا انشاء الله الطريقة المثلى للتعامل مع نوافذ GP الاصلية .


قبل البدء بكتابة الشفرات البرمجية هناك بعض المصطلحات المهمة يجب على المطور ان يفهمها
Resources
Dictionary
Runtime Engine
Dexterity Engine

ٌالمصادر او Resources
ونقصد بها المكونات التالية
Data Type نوع البيانات
Fields الحقول
Tables الجداول
Windows النوافذ
Forms النماذج
[img]C:\Documents and Settings\hummam\My Documents\My Pictures\arabgp[/img]
__________________
GP Techno-Functional Consultant

آخر تعديل بواسطة humam ، 11-Jul-2007 الساعة 07:03 PM.
humam غير متواجد حالياً   رد مع اقتباس
قديم 10-Jul-2011, 02:09 PM   #2
Monzer Osama
مدير عام منتديات جريت بلينز العربية
Thumbs up

موضوع رائع أخي همام .. يستحق التثبيت ...
__________________
Monzer Osama
Saudia Arabia - Jeddah
00966501826235
Microsoft Certified Business Management Solutions Professional
Microsoft Certified Trainer
Monzer Osama غير متواجد حالياً   رد مع اقتباس
قديم 10-Jul-2011, 02:48 PM   #3
humam
مشرف منتدى المطورين
افتراضي الحلقة الثانية ملاحظات حول تنصيب Dexterity

Dexterity DIC
وهو عبارة عن قاموس يستخدم من قبل Dexterity Application وهو يحتوي على مصادر يستخدمها برنامج Dexterity Application لتكوين Dictionaries جديدة وبنفس الوقت يستخدم من قبل Runtime Engine كما ذكرت سالبقا لكي يعمل على ترجمة المصادر الموجودة داخل القاموس الى صيغة تفاعلية مع المستخدم لذا يعتبر هذا الملف Dexterity .DIC مهم جدا وتجده دائما في مجلد الجريت بلينز مع باقي الملفات الاخرى .
هنا المقصود ب Dexterity Application هو برنامج الدكسترتي الذي سوف تستخدمه لتكوين Dictionary يحتوي على التطويرات التي تريد اضافتها الى جريت بلينز لذا اود ان يكون هذا الامر واضح .

الان اعتقد ان المكونات المختلفة اصبحت واضحة للجميع وخصوصا مفهوم Dictionary الذي يرتكز عليه برنامج الجريت بلينز الخطوة القادمة سوف تكون هي عملية تنصيب Dexterity Application اي البرنامج الذي سوف نستخدمه لتغيير محتوى Dictionary موجود وهذا النوع من التطوير يعرف ب Integrating Application
ولكي تكون قادر على القيام بمشاريع من نوع Integrating Application
تحتاج الى تنصيب Dexterity Application استخدم القرص الثاني للجريت بلينز وفي مجلد Tools سوف جد هناك مجلد اخر اسمه DEX وداخل هذا المجلد اختر الملف التنفيذي وعملية التنصيب بحد ذاتها سهلة نسبيا ولكن هناك نقطة مهمة خلال التنصيب وهي عندما يطرح عليك برنامج التنصيب ان تختار اسم التطيبق والمكان المراد خزن التطبيق فيه هنا يحبذ ان تغير الاسم المقترح من Dexterity الى Dexterity9 اذا كنت تنصب Dexterity Application لجريت بلينز GP9 والى Dexterity8 اذا كنت تنصب Dexterity Application لجريت بلينز GP8 وهكذا ونفس الشيء تعمل بالنسبة الى المسار الذي تريد حفظ البرنامج فيه يعني غير المسار المقترح من
C:\Program Files\Microsoft Dexterity الى
C:\Program Files\Microsoft Dexterity9
وهكذا اما السبب وراء ذلك وهو من خبرتي المتواضعة انك قد تحتاج للعمل مع اكثر من نسخة GP يعيني قد يكون احد الزبائن الذين تريد تطوير مشروع لهم يستخدم GP8 واخر GP9 لذا لكل نسخة GP يجب ان تستخدم النسخة الخاصة بها من الدكسترتي وقد يقول احدهم ما المشكلة في ذلك ؟ هنا الجواب انك اذا نصيت دكسترتي لجريت بلينزGP8 وبدون تغيير المسار ونصبت دكسترتي لGP9 ايضا بدون تغيير المسار سوف تنزل النسخة الاخيرة مكان النسخة القديمة ويصبح عندك فقط دكسترتي ل GP9 ونقطة اخرى تسهل عليك اختيار البرنامج الذي تريد استخدامه اي هل تريد تشغيل DEX9 او DEX8 لان شكل الايقونة لا يختلف في كلا الحالتين ومن المهم جدا اخيار برنامج DEX (سوف استخدم هذا المصطلح للاشارة الى Dexterity Application مع رقم لنسخة GP للسهولة)
المناسب اي اذا كان عندك Dictionary لGP8 لايمكنك تطويره باستخدام DEX9 وهكذا .
ملاحظة اخيرة عندما تقوم بتنصيب برنامج DEX8 وDEX9 عند النقر المزدوج على القاموس سوف يفتح برنامج DEX9 بصورة ذاتية حتى اذا كان القاموس هو GP8 لحد هنا لاتوجد مشكلة يمكنك استخدام DEX9 لتصفح القاموس GP8 مثلا تشاهد الكود الموجود فية والنوافذ ولكن لا تحاول ان تغير اي شيء لان هذا سوف يؤدي الى خلل في Dictionary وافضل اذا حصلت هذه الحالة معك ان تقوم باغلاق البرنامج مباشرة وفتح قاموس GP8 بالطريقة الصحيحة وهي شغل DEX8 اولا ثم اختر الDictionary المطلوب من نافذة اخيتيار Dictionary
هذا كل ما اريد قوله عند عملية التنصيب بحد ذاتها .
__________________
GP Techno-Functional Consultant

آخر تعديل بواسطة humam ، 11-Jul-2007 الساعة 07:04 PM.
humam غير متواجد حالياً   رد مع اقتباس
قديم 10-Jul-2011, 03:04 PM   #4
أحمد الغامدي
عضو مميز
 
تاريخ التسجيل: Jun 2007
المشاركات: 162
من مواضيعي  
Thumbs up

رائع
شرح رائع جداً أسأل الله أن يبارك في علمك...
يا أخي أول مرة أشوف دروس تعليم ديكستريتي باللغة العربية

لكن لو في صور كان طلع الموضوع أكثر من رائع
أحمد الغامدي غير متواجد حالياً   رد مع اقتباس
قديم 10-Jul-2011, 03:04 PM   #5
humam
مشرف منتدى المطورين
افتراضي

شكر اخي منذر واتمنى ان تكون المعلومات التي سوف اطرحها ذات فائدة للجميع
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس
قديم 10-Jul-2011, 03:08 PM   #6
humam
مشرف منتدى المطورين
افتراضي

الشكر لله اخي احمد حاولت ان اضع صور ولكن لم اوفق انشاء الله سوف ارفق الصور اذا كانت ضرورية في المواضيع القادمة
__________________
GP Techno-Functional Consultant
humam غير متواجد حالياً   رد مع اقتباس
قديم 10-Jul-2011, 04:12 PM   #8
humam
مشرف منتدى المطورين
افتراضي الحلقة الثالثة Dexterity Utilities

Dexterity Utilities
وهو عبارة عن تطبيق يتم تنصيبه مع برنامج Dexterity Application وله في الواقع استخدامات عديدة منها تطبيقات تعتبر متقدمة في برمجة الدكسترتي مثل عملية المقارنه بين Dictionaries و عملية Upgrade لل Dictionary من نسخة الى اخرى وهو موضوع مهم جدا وغيرها من التطبيقات المتقدمة الاخرى والتي صراحة لا احاول الاطالة فيها لكي لا اعقد الامور وانشاء الله اعود لها لاحقا .
اما الاستخدام الاساسي لهذا البرنامج والذي يجب ان يتقنه كل من يريد تعلم الدكسترتي هو عملية الحزم اي عمل Package للمشروع بعد اكمل كل مراحل التطوير التي سوف اذكرها لاحقا وتعتبر هذه الخطوة الاخيرة في تطوير وتوزيع المشروع لانك عادة عندما تقوم بتصميم مشروع وباي لغة برمجية سوف تعمل برنامج تنصيب لتوزيع مشروعك او لتجهيز المشروع للزبون هنا في الدكسترتي سوف نستخدم هذا التطبيق لعمل Chunk File وهو عبارة عن الملف الذي سوف تقوم بتكوينه وارساله للزبون لكي يقوم بدوره بتنصيب مشروعك على برنامج الجريت بلينز
وسوف اذكر لاحقا تفاصيل اخرى عن ملف Chunk File ولكن اود في البداية ان اكمل شرح بعض المفاهيم التي يجب ان يستوعبها المطور اولا.




Multidictionary environment

ان Runtime Engine الذي ذكرته في البداية (وعمله ترجمة القاموس من مصادر(كلمات)غير مفهومة منقبل المستخدم الى واجهة تفاعلية ) يمتلك خاصية العمل ضمن محيط يحتوي على اكثر من قاموس Dictionary ما المقصود بهذه العبارة ؟ في الحقيقة عندما تقوم بتصميم مشروع من نوع Integration Application وسواء كان من نوع Vertical Enhancement او Customizations وعند اكمال المشروع وتنصيبه في برنامج الجريت بلينز سوف يؤدي الى تكوين Dictionary جديد في مجلد الجريت بلينز الان كمثل لو فتحت مجلد الجريت بلينز ورتب الملفات حسب النوع واظهر امتداد الملفات من خواص Folder Options سوف تلاحظ وجود عدد من Dictionaries ويختلف هذا العدد باختلاف مكونات الجريت بلينز الاضافية التي تقوم بتنصيبها مثل Service Call او Account Analysis او HR وغيرها والتي نطلق عليها بلغة المطورين Third Party Product
سوف تجد اولا
Dynamics.DIC وهو يمثل القاموس الرئيسي لبرنامج الجريت بلينز وهو قلب هذا التطبيق
SRVCADV.DIC وهو قاموس اخر تجده اذا نصبت Service Call
POE2277.DIC وهو قاموس اخر تجده اذا نصبت Purchase Enhancement
DEX.DIC وقد شرحت سابقا عمل هذا القاموس
DynUtils.dic وهو خاص ببرنامج Dexterity Utilities
والقائمة قد تطول او تقصر تبعا للمكونات الاضافية التي تنصبها مع الجريت بلينز وقد يكون مشروعك في المستقبل احدها وقد تسمي هذا Dictionary مثلا MYFST.DIC او اي اسم معبر انا حاليا استخدم اسم مختصر للمشروع مثلما تفعل المايكروسوفت.
الان نعود الى مصطلح Multidictionary environment وقد اصبح واضح .اذن ان Runtime Engine سوف تقع عليه مسؤولية ترجمة اكثر من قاموس واحد وبنفس الوقت وهذا مايقوم به فعليا حيث يقوم بترجمة المصادر التي تأتي من Dictionaries مختلفة ويقوم بمزجها ويحولها الى صيغة تفاعلية لايشعر معها المستخدم بانه يتعامل مع اكثر من برنامج بنفس الوقت (وهو ما يحصل حقيقة ) بل يشاهد برنامج واحد هو الجريت بلينز.
__________________
GP Techno-Functional Consultant

آخر تعديل بواسطة humam ، 11-Jul-2007 الساعة 07:06 PM.
humam غير متواجد حالياً   رد مع اقتباس
قديم 10-Jul-2011, 04:13 PM   #9
عماد زيد
مشرف عام في منتديات جريت بلينز العربية
افتراضي

السلام عليكم
الأخ همام من الشباب يللي طورلنا موديول مرتب جداً بشركتنا و كان فعلاً من المودويولات الناجحة جداً.
تحية للأخ همام و متابع معك إن شاء الله.
عماد زيد غير متواجد حالياً   رد مع اقتباس
قديم 10-Jul-2011, 04:53 PM   #10
السيد سمارت ليست
عضو نشيط
 
تاريخ التسجيل: Jul 2007
الدولة: جدة - عند خزان الماء
المشاركات: 57
من مواضيعي  
افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة humam مشاهدة المشاركة
بسم الله الرحمن الرحيم


Customizations
وهي عملية تغير نوافذ GP الموجودة اصلا حسب متطلبات الزبون وهذا النوع من العمل اعقد كثيرا من النوع الاول ويتطلب الحذر عند العمل معه ويفضل استخدام Trigger وهو نوع من القادحات يختلف عن القادحات المستخدمة في SQL Server وذلك لان اي تغيير وان كان بسيط سوف يؤثر على الكود الموضوعة من قبل المايكروسوفت في هذه النافذة لذا يجب ان يتصف العمل مع نوافذ GP الاصلية بالدقة والحذر وعدم محاولة كتابة الكود بصورة مباشرة داخل الكائنات لان ذلك سوف يؤدي الى محو تاثير الكودالموضوعة من قبل المايكروسوفت وتالي يؤدي الى تعطل النافذة عن العمل بشكل صحيح بعد قيامك بتنصيب مشروعك في الجريت بلينز وسوف اوضح لاحقا انشاء الله الطريقة المثلى للتعامل مع نوافذ GP الاصلية .

أخي الكريم ليه طيب ما بننسخ الملف يللي بدنا نعدل عليه وهوي Dynamics.dic ، وبنعدل على الملف المنسوخ ، بعدين بنشير له من اللانش فايل ، وبنجرب على النسخة مو أحسن ما نقعد نشتغل على الأصل وندخل في الحذر؟؟
السيد سمارت ليست غير متواجد حالياً   رد مع اقتباس
إضافة رد


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

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

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

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

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
تعلم كيفية كتابة الشفرة البرمجية بلغة الدكسترتي humam مواضيع المطورين الأخرى 30 25-May-2013 04:45 PM
تعلم ال Bugetمن اين ابدأ ؟؟ wabbas77 الجزيئ المالي
(GL - AP - AR – BM - FA - AC ... ets.)
0 23-Aug-2012 09:33 AM
تصميم النماذج والنوافذ في الدكسترتي humam مواضيع المطورين الأخرى 25 01-Jun-2012 07:40 AM
ايهما افضل VBA Modifier او الدكسترتي humam مواضيع المطورين الأخرى 18 08-Dec-2011 12:51 PM
مستقبل لغة الدكسترتي في مواجهة ثورة الدوت نت hunter0003 مواضيع المطورين الأخرى 8 23-Oct-2011 08:00 AM


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


Powered by vBulletin® Version 3.8.3

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

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