M365Con 2027 – مؤتمر مجاني عبر الإنترنت · 11–22 Jan 2027 · 120 sessions→ m365con.net

المدونة · Mirko Peters

تبسيط تطوير AL في Business Central: تشبيه مبنى المكاتب

By ·

عند إدارة عمل حديث، يقع نظام تخطيط موارد المؤسسة في قلب عملياتك اليومية. تقدّم منصات مثل Dynamics 365 Business Centr…

Automatically translated with AI from the original post. Read the English original

Cover: Dynamics 365 Business Central AL Development

عند إدارة عمل حديث، يقع نظام تخطيط موارد المؤسسة في قلب عملياتك اليومية. تتولى منصات مثل Dynamics 365 Business Central كل شيء تقريبًا، من المالية وإدارة العملاء إلى المخزون وأوامر البيع والفواتير، مباشرةً وبشكل جاهز للاستخدام. ومع ذلك، فإن عمليات الأعمال الواقعية نادرًا ما تكون متشابهة للجميع. ماذا يحدث عندما تحتاج شركتك إلى خطوة اعتماد متخصصة، أو حقل بيانات إضافي، أو عملية حساب فريدة، أو قاعدة عمل غير موجودة في التطبيق القياسي؟ لفترة طويلة، كان تخصيص نظام ERP يعني السير على حبل مشدود خطير، بين تحقيق الوظيفة الدقيقة التي تحتاجها والوقوع في كابوس من إخفاقات الترقية المستقبلية. أما اليوم، وبفضل مناهج التطوير الحديثة، فقد تغيّر الوضع جوهريًا. في هذه المقالة، سنستعرض المفاهيم التي يقوم عليها نموذج الامتدادات الحديث لدى Microsoft's، ونستكشف اللبنات الأساسية لتطوير AL، ونتعرّف على سبب كون فصل الشيفرة المخصصة عن التطبيق الأساسي المفتاح الأمثل لنظام ERP مستقر وصالح للمستقبل.

لماذا تخصّص الشركات أنظمة ERP

قبل الخوض في كيفية عمل التطوير، من المفيد أن نفهم أولًا لماذا يُعد التخصيص ضروريًا أصلًا. تغطي Business Central طيفًا واسعًا من عمليات الأعمال القياسية التي تناسب كثيرًا من الشركات التقليدية. ومع ذلك، لا تعمل أي مؤسستين بالطريقة نفسها تمامًا. فعلى سبيل المثال، قد يحتاج موزّع أغذية متخصص إلى معلومات صارمة لتتبع الدفعات ومقاييس تواريخ الصلاحية تتجاوز إدارة المخزون الأساسية. وقد تحتاج شركة خدمات إقليمية إلى بوابة اعتماد داخلية إضافية قبل إنهاء الفاتورة. وقد يحتاج تاجر تجزئة متخصص إلى مستويات دقيقة لمكافآت العملاء وتتبع الولاء.

لا تبرر هذه المتطلبات الفريدة بالضرورة إعادة كتابة عمليات الأعمال بالكامل أو التخلي عن نظام ERP. غالبًا ما تحتاج الشركة ببساطة إلى أن تفهم Business Central قطعة بيانات إضافية واحدة، أو أن تطبّق قاعدة تحقق داخلية محددة. وقد كان التحدي تاريخيًا يتمثل في كيفية تنفيذ هذه التغييرات بأمان دون الإضرار بسلامة النظام الأساسية.

تشبيه مبنى المكاتب للإضافات الحديثة

لفهم كيفية عمل التطوير الحديث دون الضياع في المصطلحات التقنية، من المفيد تصوّر Business Central كمبنى مكاتب كبير مصمَّم هندسيًا باحتراف. في نماذج تطوير ERP القديمة، كان تخصيص النظام غالبًا يشبه هدم جدران حاملة عشوائيًا، وحفر فتحات جديدة في الأرضيات الخرسانية، وتوصيل أنابيب مخصصة مباشرة بالبنية الرئيسية كلما أراد أحدهم غرفة جديدة. ورغم أن ذلك قد يمنحك الغرفة التي تريدها فورًا، فإنه يجعل صيانة المبنى بالغة الصعوبة. وكلما جاء المهندس الأصلي لترقية السقف أو تحديث الأساسات، اصطدمت تعديلاتك المخصصة مباشرة بالتحديثات، فتنتج نزاعات مكلفة ومرهقة.

يغيّر نموذج الإضافات من Microsoft هذه البنية تمامًا. ففي تشبيه مبنى المكاتب، تحافظ Microsoft على الهيكل الرئيسي: الإطار الأساسي وبروتوكولات السلامة والخدمات والمكاتب القياسية. وعندما تحتاج مؤسستك إلى مساحة إضافية أو ميزات مخصصة، فإنك لا تعبث بالبنية الداخلية للمبنى الرئيسي. بل تبني إضافات معيارية ترتبط بأمان بنقاط توصيل معتمدة على الواجهة الخارجية للمبنى. وتقع وظيفتك المخصصة إلى جانب التطبيق القياسي كوحدة منفصلة ومكتفية بذاتها. يمكن لـ Microsoft ترقية المبنى الرئيسي في أي وقت، وتبقى إضافاتك المخصصة آمنة وسليمة.

فهم AL ونموذج الإضافات

تعني AL لغة التطبيق (Application Language). وهي لغة البرمجة المتخصصة التي طوّرتها Microsoft لإنشاء وظائف مخصصة لـ Dynamics 365 Business Central تحديدًا. وباستخدام AL، يستطيع المطورون إضافة عمليات الأعمال والحسابات والتحققات والسجلات والصفحات وتعديلها وتحسينها.

الأهم في البداية ليس بناء جملة لغة AL نفسها فحسب، بل النموذج المعماري القائم على الامتدادات. في الإصدارات القديمة من المنتج، والمرتبطة غالبًا ببيئة التطوير القديمة C/AL في Dynamics NAV، كان المطورون يعدّلون كائنات التطبيق الأصلية مباشرةً في كثير من الأحيان. ورغم أن ذلك كان يتيح تخصيصًا عميقًا، إلا أنه أنشأ ارتباطًا وثيقًا بين النظام الأساسي والشيفرة المخصصة. فكلما أصدرت Microsoft تحديثًا، كان على المطورين مقارنة الشيفرة المصدرية الأصلية بالتعديلات يدويًا ومطابقتهما. أما نموذج امتدادات AL الحديث فيُنهي هذه المشكلة، إذ تُغلَّف التعديلات في صورة امتدادات مستقلة تعمل إلى جانب شيفرة التطبيق القياسية، دون أن تحل محلها.

التخصيص بعد الاعتماد على الميزات القياسية

لمجرد أنك تستطيع تخصيص Business Central لا يعني أن عليك دائمًا أن تفعل ذلك. فتغيير النظام لمجرد أن سير العمل الافتراضي يبدو مختلفًا قليلًا عن البرنامج القديم الذي تستخدمه قد يُدخل أعباء صيانة طويلة الأجل لا حاجة إليها. وتفرض أفضل الممارسات في إدارة أنظمة تخطيط موارد المؤسسات فلسفة "الميزات القياسية أولًا، ثم التخصيص".

قبل كتابة سطر واحد من شيفرة AL، ينبغي لفرق التطوير وقادة الأعمال أن يطرحوا ثلاثة أسئلة أساسية: ما المشكلة الدقيقة التي يواجهها موظفونا؟ وما الذي ينبغي أن يحدث بدلًا من ذلك؟ وهل يستطيع Business Central القياسي حل هذه المشكلة إن عدّلنا عملية العمل؟ ينبغي حصر تطوير AL في السيناريوهات التي يقصر فيها المنتج القياسي فعلًا عن تلبية متطلب عمل حرج.

أهم لبنات بناء AL

عندما يبني المطورون امتدادًا، فإنهم يعملون مع مكونات برمجية محددة تُعرف بالكائنات. والكائن جزء مستقل من التطبيق مصمَّم لأداء مهمة بعينها. لنستعرض لبنات البناء الرئيسية التي يتكون منها حل AL.

الجداول والحقول والصفحات

تعمل الجداول كخزائن الملفات الرقمية في Business Central، وتتولى تخزين البيانات بأمان. يحتفظ جدول العملاء بملفات العملاء، ويخزّن جدول الأصناف المخزون، وتتولى جداول المعاملات مستندات المبيعات. وداخل هذه الجداول توجد الحقول الفردية، أي السمات المحددة مثل الأسماء والعناوين وأرقام الهواتف والتواريخ.

غير أن البيانات المخزنة في جدول قاعدة البيانات لا تفيد كثيرًا إذا لم يتمكن الموظفون من التفاعل معها. وهنا تأتي الصفحات. فالصفحات تحدد العرض المرئي وشاشات واجهة المستخدم داخل Business Central. وبطاقة العميل Customer Card صفحة مصممة لعرض تفاصيل سجل واحد، بينما تعرض صفحة القائمة List Page عدة سجلات في لمحة واحدة. فالجداول تخزّن البيانات، والصفحات تعرضها على المستخدم.

امتدادات الجداول وامتدادات الصفحات

ماذا يحدث عندما يوفر Business Central القياسي كل ما تحتاجه تقريبًا، لكنك بحاجة إلى نقطة بيانات إضافية واحدة، مثل مستوى مكافأة الولاء المخصص لعملائك؟ بدلًا من إنشاء جدول عملاء جديد بالكامل يكرر البيانات الأساسية الموجودة، ينشئ المطور امتداد جدول Table Extension. يبقى جدول العملاء القياسي دون مساس، ويضيف الامتداد الحقل الجديد إليه ببساطة.

بالطبع، إضافة حقل إلى جدول لا تجعله مرئيًا تلقائيًا لموظفيك. ولحل ذلك، يستخدم المطورون امتدادات الصفحات Page Extensions. فامتداد الصفحة يُدرج الحقل الجديد، مع أي مجموعات أو إجراءات أو أزرار ضرورية، مباشرةً على شاشات واجهة مستخدم Business Central القياسية. ويواصل الموظفون العمل في صفحات مألوفة قياسية، بينما يعرض الامتداد البيانات المتخصصة التي يحتاجها عملك بسلاسة.

وحدات الشيفرة والمحفزات والأحداث

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

تُنفَّذ الشيفرة عند نقاط محددة من دورة حياة التطبيق تُسمّى المشغِّلات (Triggers). يُفعَّل المشغِّل تلقائياً عند حدوث إجراء معيّن، كأن يفتح المستخدم صفحة، أو يعدّل قيمة حقل، أو يحاول ترحيل فاتورة. وبالمثل، تتيح الأحداث (Events) لملحقاتك الاستماع إلى الإشعارات التي يبثّها التطبيق القياسي. فقد يعلن Business Central أن مستنداً على وشك الترحيل، ويمكن لملحقك أن يستمع إلى هذا الحدث فوراً وينفّذ منطق التحقق المخصص به في اللحظة المناسبة تماماً.

الخاتمة: الحفاظ على جاهزية نظام ERP للترقية

لم يعد تخصيص نظام تخطيط موارد المؤسسات مهمةً محفوفة بالمخاطر قد تُعطّل عمليات الترقية. فمن خلال اعتماد نموذج الملحقات الحديث من Microsoft والاستفادة من قوة تطوير AL، يمكن للمؤسسات تكييف Business Central بدقة مع احتياجاتها التشغيلية الخاصة، مع الإبقاء على التطبيق الأساسي نظيفاً ومستقرّاً تماماً. تعامَل مع نظام ERP الخاص بك كمبنى مكاتب مُصمَّم بعناية، حيث تتصل الإضافات المخصصة بالهيكل الخارجي بأمان بدلاً من هدم البنية الداخلية، وهذا يضمن أن يبقى عملك مرناً وفعالاً ومستعداً تماماً لكل تحديث برمجي قادم.

للتعمق أكثر في هذا الموضوع والاستماع إلى رؤى الخبراء حول ممارسات التطوير الحديثة، لا تفوّت الحلقة ذات الصلة من البودكاست: Dynamics 365 Business Central AL Development.

Entities in this article

Dynamics 365 Dynamics 365 Business Central Microsoft

Related articles

RSS