تخطَّ إلى المحتوى
ERP Expert

المحطة 9 من 10

التخصيص والامتدادات في Dynamics 365 Business Central

أحمد حسن الجمال7 دقائق قراءة

ما تخرج به من هذه المحطة

ترتيب أي طلب تخصيص على درجة معلومة من السلّم، ومعرفة تكلفتها عند التحديث، وبناء امتداد واحد وإجراء موافقة واحدة بيدك.

في المحطة الثامنة عرفت الحدود التي لا تُتخطّى. وهذه المحطة ترسم حدّاً من نوع آخر: أين ينتهي الإعداد وأين يبدأ الكود.

وكل تخصيص في هذا المنتج يُقاس بسؤال واحد: هل ينجو من موجتَي التحديث؟

فالتحديث هنا ليس اختيارياً ولا مؤجَّلاً. موجتان في السنة، بتاريخ يحدّده المطوّر، وما لا ينجو منهما ليس تخصيصاً؛ هو دَين.

السلّم — ست درجات وتكلفة كل درجة

رتّب أي طلب على هذا السلّم قبل أن تناقشه. والقاعدة: لا تصعد درجة وأنت قادر على البقاء تحتها.

الدرجة ما هي من ينفّذها تكلفتها عند التحديث
‎1. التخصيص الشخصي ترتيب الحقول والأعمدة لمستخدم واحد المستخدم نفسه لا شيء
‎2. الإعداد وحزم التهيئة ضبط الحقول والقوائم ونقلها بين البيئات الاستشاري لا شيء
‎3. تخطيطات المستندات شكل الفاتورة وأمر الشراء الاستشاري مراجعة بصرية
‎4. إجراءات الموافقة من يوافق على ماذا وبأي حدّ الاستشاري لا شيء تقريباً
‎5. الأتمتة خارج المنتج تنبيهات وتدفّقات بين تطبيقات الاستشاري أو مطوّر اختبار الاتصالات
‎6. الامتداد المكتوب حقول وشاشات ومنطق جديد مطوّر مراجعة كود ونشر

واقرأ العمود الأخير كاملاً مرة واحدة: أربع درجات من ستّ لا تكلّف شيئاً عند التحديث. وأكثر ما يُطلب في المشاريع يقع في هذه الأربع، ويُنفَّذ في السادسة لأن أحداً لم يسأل.

الدرجتان الأولى والثانية — حيث ينتهي أكثر الطلبات

الفرق بينهما هو الفرق بين «أنا» و«الشركة».

فالدرجة الأولى تخصّ مستخدماً واحداً: يخفي حقلاً لا يستعمله، ويقدّم عموداً يستعمله كل يوم. وأثرها لا يتعدّاه، ولهذا لا تُناقَش أصلاً — تُعلَّم للمستخدم في أول جلسة ثم لا تُذكر.

والدرجة الثانية تخصّ الجميع: ما الحقل الذي يجب ألّا يُترك فارغاً، وما القيمة الافتراضية، وما الذي يُخفى من الشاشة كلّها.

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

ومن ينقل الإعداد يدوياً بين بيئتين ينقل تسعة بنود من عشرة، ويقضي أسبوعاً في البحث عن العاشر.

الدرجة الرابعة — الموافقة، وعودة وعد المحطة الخامسة

في المحطة الخامسة قيل إن تحذير الائتمان تحذير لا منع. وهنا يُبنى المنع.

فإجراء الموافقة يُوقف المستند فعلاً: يخرج من حالة يمكن ترحيلها إلى حالة تنتظر قراراً، ولا يتحرّك حتى يوافق من له الحقّ.

ما يُقرَّر الأمثلة
على أي مستند أمر شراء، أمر بيع، فاتورة، بطاقة عميل
بأي شرط تجاوز مبلغ، أو تجاوز حدّ ائتمان، أو تغيير حقل حسّاس
من يوافق المدير المباشر، أو مسؤول بعينه، أو سلسلة منهم
وماذا لو غاب مفوَّض بديل، فلا يتوقّف العمل بإجازة رجل واحد

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

وهذه درجة وظيفية بالكامل — بلا سطر كود — وأثرها الرقابي أكبر من أكثر ما يُكتب بالكود.

ولهذا تُقاس هنا القاعدة الحقيقية: الرقابة تُبنى بالإعداد أولاً، ولا يُلجأ إلى الكود إلا حين يعجز الإعداد.

الدرجة الخامسة — الأتمتة خارج المنتج

ما لا يُبنى داخل المنتج قد يُبنى حوله.

فالمنصّة المرافقة من المطوّر نفسه تصل بين هذا المنتج وبقيّة أدوات المكتب: بريد يُرسَل عند حالة، وموافقة تصل إلى الهاتف، وسجلّ يُكتب في جدول.

والحكم عليها بجملتين:

هي أسرع من الكود، وأرخص، ولا تُلمس عند التحديث — لأنها خارج قاعدة الشيفرة أصلاً.

وهي أضعف من الكود في شيء واحد جوهري: لا تفرض قاعدة. فما بُني خارج المستند يُنبّه ولا يمنع. ومن يبني ضابطاً محاسبياً بتنبيه يبني ضابطاً يُقرأ بعد فوات الأوان.

الدرجة السادسة — الامتداد، وعودة وعد المحطة الثانية

في المحطة الثانية بُني امتداد واحد يضيف حقلاً واحداً، والغرض كان إثبات أن السلسلة تعمل. والآن يُفهم لماذا هذه السلسلة بهذا الشكل.

فالمنتج في نسخته القديمة كان يُعدَّل من الداخل: الاستشاري يفتح شيفرة المطوّر ويكتب فيها. والنتيجة أن كل تحديث كان مشروع دمج، وأن شركات بقيت سنوات على نسخة قديمة لأن الترقية أغلى من البقاء.

والنموذج الحالي يقلب ذلك: شيفرة المطوّر لا تُلمس، والتخصيص يعيش في طبقة منفصلة تُعلَّق عليها.

النموذج القديم النموذج الحالي
أين يُكتب التخصيص داخل شيفرة المنتج في طبقة مستقلّة
ماذا يحدث عند التحديث دمج يدوي إعادة نشر واختبار
من يعرف أنه موجود من قرأ الشيفرة مسجَّل ومعروف

وهذا فارق معماري حقيقي لا وصف تسويقي — وهو ما يجعل موجتين في السنة ممكنتين أصلاً.

لكن اقرأ الصفّ الأوسط بدقّة: «لا يُلمس» ليست «لا يُختبَر». فالامتداد ينجو من التحديث بشرط أن يظلّ متوافقاً مع ما بُني عليه — وحين يتغيّر ما تحته، يتغيّر هو أو يتوقّف.

والقاعدة التعاقدية التي تُكتب: كل امتداد له مالك يلتزم بموعد الموجتين. ومن لا مالك له لا يُنشَر.

أين يُشترى بدل أن يُكتب

بين الإعداد والكود درجة يُغفلها كثيرون: التطبيق الجاهز على متجر المطوّر.

وأكثر ما يُطلب في منطقتنا — الفوترة الإلكترونية، وحزمة اللغة — يقع هنا، لا في كود تكتبه. وهو ما شُرح في المحطة الثامنة.

والأسئلة الثلاثة قبل تركيب أي تطبيق: من ناشره، ومتى آخر تحديث له، وهل يعمل مع بقيّة تطبيقاتك في الموجة نفسها؟

فكل تطبيق تُركّبه يضيف حلقة إلى سلسلة اعتماد تتحرّك مرّتين في السنةوالسلسلة تنقطع من أضعف حلقة لا من أحدثها.

القاعدة التي تُقال في اجتماع

«ما الدرجة التي يقع عليها هذا الطلب؟»

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

وأخطر ما يُقال في مشروع: «هذا بسيط، سنكتبه.» فالكتابة أسرع من البحث عن الإعداد، وثمنها يُدفع مرّتين في السنة إلى الأبد.

ما تفعله عملياً في هذه المحطة

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

أشهر ثلاثة أخطاء

الأول: كتابة كود لما يُضبط بإعداد. يعمل من أول يوم، ويُدفع ثمنه مرّتين كل سنة.

الثاني: بناء الرقابة بتنبيه بدل موافقة. يبدو كافياً، ويُقرأ بعد أن يُرحَّل المستند — وهو وقت لا ينفع فيه.

الثالث: امتداد بلا مالك. يُبنى في مشروع وينتهي عقد من بناه، ثم تأتي الموجة الأولى بعد رحيله.

وأثر انضباط التخصيص على التكلفة الحقيقية للملكية مشروح في دليل Dynamics 365 Business Central.

اختبار القبول لهذه المحطة

  1. اكتب السلّم بدرجاته الستّ من ذاكرتك، وتكلفة كل درجة عند التحديث.
  2. ابنِ إجراء موافقة بمفوَّض بديل وأثبت اعتراضه على مستند فعلي.
  3. اشرح الفرق بين المنع والتنبيه، وأيّهما يصلح لضابط محاسبي.
  4. اشرح لماذا تغيّر نموذج التخصيص في هذا المنتج، وماذا كان الثمن قبله.
  5. رتّب خمسة طلبات على السلّم، واكتب لكل واحد لماذا لا يقع على درجة أعلى.

ماذا بعد

عرفت أين ينتهي الإعداد وأين يبدأ الكود. المحطة الأخيرة تجمع المسار كلّه في شيء يُعرَض: الشهادة والمحفظة وأول وظيفةبامتحان له اسم ورقم ومدّة، وواحدة من مفارقاته أنه متاح بالعربية بينما المنتج ليس كذلك.