لتجنب ازدواج الملفات بين Microsoft Dynamics 365 ونظام إدارة الوثائق، قرّر أولًا أين تعيش النسخة المرجعية لكل نوع مستند، ثم اجعل النظام الآخر يحمل رابطًا وحقولًا وصفية لا نسخة ثانية من الملف. في Dynamics ثلاثة أماكن ممكنة للملف: مرفقات Dataverse، أو مكتبة SharePoint المرتبطة بالسجل، أو أرشيف مركزي خارجي. ربط Dynamics بوثيقة يُنفَّذ عبر REST API ضمن نطاق يُحدَّد في العرض الفني.
إن كنت مهندس تكامل أو مدير تقنية معلومات في جهة تستخدم Dynamics 365 (المبيعات أو خدمة العملاء أو غيرها من تطبيقات Dataverse)، وتريد أرشيفًا مؤسسيًا واحدًا دون أن ينتهي بك الأمر إلى ثلاث نسخ من العقد نفسه: واحدة ملحقة بالملاحظة في Dynamics، وأخرى في مكتبة SharePoint، وثالثة في الأرشيف، فهذا المقال لك.
ثلاثة أماكن يمكن أن يعيش فيها الملف
مرفقات Dataverse
بحسب توثيق Microsoft، تُخزَّن مرفقات الملاحظات والبريد في Dynamics ضمن سعة ملفات Dataverse (File capacity)، في جداول مثل Attachment وAnnotationBase. هذه السعة تُحتسب من مستحقات المستأجر والتراخيص، وتُشترى سعة إضافية عند الحاجة. أي أن كل ملف يبقى داخل Dynamics له أثر مباشر على بند من بنود التكلفة يُدار من مركز إدارة Power Platform.
تكامل SharePoint المبني على الخادم
توثّق Microsoft خيار تخزين المستندات في سياق السجل داخل SharePoint (Server-based SharePoint integration) لتطبيقات مثل Dynamics 365 Sales وCustomer Service. من مزاياه المذكورة: دخول واحد، وعرض المستندات في قوائم، وإمكان وصول مستخدمين لا يستخدمون تطبيق Dynamics إلى المستندات مباشرة في SharePoint إن كانت لديهم الصلاحيات المناسبة. وتُدار مواقع المستندات عبر سجلات «موقع المستند» (Document Location) التي لها صلاحياتها الخاصة.
أرشيف مركزي خارجي
نظام إدارة وثائق (DMS) مستقل يحفظ المستند المرجعي بتصنيفه وإصداراته وسجل تدقيقه، ويصل إليه مستخدم Dynamics من خلال رابط أو لوحة داخل السجل. هذا الخيار منطقي حين تكون المستندات نفسها مطلوبة لإدارات لا تعمل في Dynamics (المالية، القانونية، المراجعة)، أو حين تحتاج مدد احتفاظ وسير اعتماد وOCR عربي على المستندات.
مقارنة الأماكن الثلاثة حسب ما يهم المشتري
| المعيار | مرفقات Dataverse | SharePoint المرتبط بالسجل | أرشيف مركزي عبر API |
|---|---|---|---|
| الوصول من داخل سجل Dynamics | مباشر | مباشر عبر التكامل | عبر رابط أو لوحة تُبنى ضمن النطاق |
| وصول من لا يستخدم Dynamics | يحتاج حساب Dynamics | بصلاحيات SharePoint | بصلاحيات الأرشيف |
| أثر التخزين على التكلفة | يُحتسب من سعة ملفات Dataverse | يُحتسب من تخزين SharePoint | يُحتسب من تخزين الأرشيف |
| البحث داخل نص الملفات الممسوحة بالعربية | تحقق في بيئتك | OCR في SharePoint خدمة بالدفع حسب الاستخدام، ودعم العربية فيها غير مؤكد في التوثيق الذي راجعناه | OCR عربي وإنجليزي في وثيقة |
| تصنيف موحد مع مستندات بقية الإدارات | مرتبط بسجلات Dynamics | يحتاج تصميم أعمدة وأنواع محتوى | هيكل تصنيف واحد للمؤسسة |
| جهد الإعداد | منخفض | متوسط (مواقع، مكتبات، مواقع مستندات) | متوسط إلى مرتفع (تطوير الربط واختباره) |
لا يوجد عمود «فائز» في المطلق. الجهة التي يعيش فيها العقد كله داخل فريق المبيعات قد يكفيها SharePoint المرتبط بالسجل. أما الجهة التي يمر فيها العقد على القانونية والمالية ويُحتفظ به سنوات بعد انتهاء العلاقة، فالمرجعية في الأرشيف المركزي أقرب إلى الواقع.
وهناك بُعد يغيب عن المقارنة التقنية: من يحتاج ترخيصًا في أي نظام. إذا كان وصول المراجع الداخلي أو موظف القانونية إلى عقد العميل يمر عبر Dynamics، فكل واحد منهم يحتاج حسابًا وترخيصًا مناسبًا فيه. وإذا كان يمر عبر الأرشيف، فالحساب المطلوب في الأرشيف وحده. ضع في دراسة التكلفة عدد المستخدمين الذين يحتاجون المستندات دون أن يحتاجوا بيانات المبيعات، فهذا الرقم كثيرًا ما يرجّح أحد الخيارات. ولحساب هذا الأثر ضمن التكلفة الكلية للمشروع راجع حساب التكلفة الكلية لامتلاك نظام إدارة وثائق خلال ثلاث سنوات.
من أين يأتي الازدواج فعليًا؟
الازدواج نادرًا ما يكون قرارًا؛ هو نتيجة لغياب القرار. أكثر مصادره شيوعًا:
- البريد المتتبَّع: رسالة عميل فيها مرفق تُتتبَّع في Dynamics فيُحفظ مرفقها كنسخة، ثم يحفظ الموظف المرفق نفسه في المجلد المشترك «احتياطًا».
- التكامل المزدوج: تفعيل SharePoint المرتبط بالسجل، ثم بناء ربط منفصل مع الأرشيف يرفع الملف نفسه مرة أخرى بدل الإشارة إليه.
- التصدير اليدوي عند الإغلاق: عند كسب صفقة ينزّل الموظف كل المستندات ويرفعها إلى الأرشيف، فتبقى النسخ الأصلية في Dynamics بلا تاريخ انتهاء.
- الإصدارات المتفرقة: العقد يُعدَّل في Word ويُرفع كل إصدار كملف جديد بدل إصدار جديد من المستند نفسه.
قس قبل أن تصمم: اطلب من مسؤول Dynamics تقرير استهلاك سعة الملفات في Dataverse، وخذ عينة من خمسين فرصة مغلقة، وعدّ كم نسخة من العقد النهائي موجودة لكل منها وأين. هذا الرقم البسيط يقنع الإدارة أكثر من أي وصف نظري، ويعطيك خط أساس تقيس عليه بعد التشغيل. سجّل أيضًا أين وُجدت النسخ: في الملاحظات، أم في البريد المتتبَّع، أم في SharePoint، أم في مجلدات الأقسام؛ فتوزيع النسخ يدلك على مصدر الازدواج الذي يجب إغلاقه أولًا.
مسار قرار: أين تضع كل نوع مستند؟
المسار يبدأ بسؤال واحد: هل يحتاج المستند أحدٌ لا يعمل في Dynamics؟ إن لم يكن كذلك، فلا داعي لنقله إلى الأرشيف أصلًا. إن كان كذلك واحتاج احتفاظًا أو اعتمادًا أو بحثًا في النص، فمرجعه الأرشيف المركزي، ويُكتفى في Dynamics برابط وحقول. المسودات والعروض الأولية مسار بديل يبقى في Dynamics بقاعدة حذف أو احتفاظ قصيرة.
ماذا يعني «الربط عبر REST API» في هذه الحالة
ربط Dynamics بوثيقة يُنفَّذ عبر REST API ضمن نطاق يُحدَّد في العرض الفني. على جهة Dynamics، توثّق Microsoft أن Dataverse Web API تطبّق بروتوكول OData الإصدار 4.0، ويمكن استعمالها من أي لغة ترسل طلبات HTTP موثَّقة. لذلك يدور النطاق عادة حول أربعة عناصر:
- الحدث: ما الذي يطلق الأرشفة في Dynamics: كسب الفرصة، أو تفعيل العقد، أو إغلاق الحالة، أو إرفاق مستند من نوع معين.
- الاتجاه: يُرسَل الملف وحقوله إلى وثيقة، ثم يُكتب في سجل Dynamics رابط المستند المؤرشف. ويُقرَّر هل يُحذف المرفق الأصلي من Dataverse بعد التأكد من الأرشفة، أم يبقى مدة ثم يُحذف.
- الحقول: معرّف الحساب أو العميل، ورقم الفرصة أو العقد، والإدارة المالكة، ونوع المستند. المعرّفات أهم من الأسماء.
- معالجة الأخطاء: ماذا يحدث إن فشل الإرسال؟ من يُنبَّه؟ كيف يُعاد دون تكرار؟
تفرض Dataverse حدودًا لحماية الخدمة على طلبات API لكل مستخدم. توثيق Microsoft يذكر أن تجاوزها في Web API يعيد الخطأ 429 مع ترويسة Retry-After بعدد الثواني، وأن تطبيقات تكامل البيانات مسؤولة عن إعادة المحاولة. إن كان الربط سيقرأ مرفقات موجودة بكميات كبيرة (ترحيل الأرشيف السابق مثلًا)، فاطلب أن يوضح النطاق كيف يحترم هذه الحدود.
حذف المرفق الأصلي: الخطوة التي يتجنبها الجميع
إزالة الازدواج تعني في النهاية أن يُحذف شيء. وهنا يتردد أغلب الفرق، فتبقى النسخة في Dynamics «احتياطًا» ويعود الازدواج من الباب الخلفي. ضع قاعدة مكتوبة من البداية تجيب عن خمسة أسئلة:
- متى يُعد المستند «مؤرشفًا بنجاح»؟ عند استلام تأكيد من الأرشيف يتضمن معرّف المستند، لا عند إرسال الطلب فقط.
- كم ينتظر الحذف بعد التأكيد؟ بعض الجهات تحذف فورًا، وبعضها تترك مهلة أيام لتدارك أي خطأ تصنيف. المهم أن تكون المهلة محددة وأن يُنفَّذ الحذف آليًا عند انتهائها.
- من يملك صلاحية الحذف في Dynamics؟ الحساب التقني للربط، لا المستخدمون، حتى لا يُحذف مرفق لم يُؤرشف بعد.
- ماذا يُسجَّل؟ في الأرشيف: من أين جاء المستند ومتى. وفي Dynamics: أن المرفق نُقل، ورابط وجهته.
- ما الاستثناءات؟ أنواع مستندات تبقى في Dynamics عمدًا (مسودات العروض مثلًا) يجب أن تُستثنى بالاسم لا بالتقدير.
هذه القاعدة هي الفرق بين «ربطنا Dynamics بالأرشيف» و«أنهينا الازدواج». الأولى ممكنة دونها، والثانية لا.
أسئلة لمسؤول Dynamics لديك قبل كتابة النطاق
- أي تطبيقات Dataverse نستخدم (المبيعات، خدمة العملاء، غيرها)، وأي الجداول تحمل مرفقات فعلًا؟
- هل تكامل SharePoint المبني على الخادم مفعّل؟ ولأي جداول؟
- كم تستهلك مرفقات الملاحظات والبريد من سعة الملفات، وما اتجاه نموها؟
- هل البريد المتتبَّع يحفظ المرفقات تلقائيًا في Dynamics؟ وهل يمكن تقييده بأنواع معينة؟
- من يستطيع إنشاء حساب تطبيق (Application user) للربط، وما الصلاحيات الدنيا التي يحتاجها؟
مثال: شركة توزيع تستخدم Dynamics 365 Sales
الافتراضات: شركة توزيع تستخدم Dynamics 365 Sales لإدارة حسابات العملاء من الشركات، وتطلب من كل عميل جديد سجله التجاري وشهادة الضريبة واتفاقية ائتمان موقعة. المالية تعتمد الحد الائتماني، والقانونية تراجع الاتفاقية. لا يعمل فريقا المالية والقانونية في Dynamics.
- قبل: المستندات مرفقة بملاحظات الحساب في Dynamics، ونسخ منها في بريد المالية، ونسخة من الاتفاقية في مجلد القانونية. عند التجديد السنوي لا يعرف أحد أي نسخة هي الأحدث.
- القرار: المستندات الثلاثة مرجعها وثيقة، في ملف لكل عميل مفهرس بمعرّف الحساب. مسودات العروض التجارية تبقى في Dynamics.
- الربط المقترح في النطاق: عند إرفاق مستند من الأنواع الثلاثة بحساب، يُرسَل إلى وثيقة مع معرّف الحساب ونوع المستند، ويُكتب رابطه في السجل، ثم يُحذف المرفق من Dataverse بعد تأكيد الأرشفة.
- في وثيقة: مسار اعتماد للاتفاقية يمر على القانونية ثم المالية، مع إشعارات بالبريد. وسجل التدقيق يبيّن من اطلع على شهادة الضريبة ومتى.
- بعد: نسخة واحدة لكل مستند، وإصدار جديد للاتفاقية عند التجديد بدل ملف جديد، والمالية تبحث في الأرشيف دون حساب Dynamics.
اختبارات تثبت أن الازدواج انتهى فعلًا
- بعد إرفاق مستند وأرشفته، لا تبقى نسخة منه في Dataverse (أو تبقى وفق القاعدة المكتوبة فقط).
- إرفاق الملف نفسه مرة ثانية للحساب نفسه لا ينشئ مستندًا ثانيًا في الأرشيف، بل يُرفض أو يُسجَّل كإصدار بحسب القاعدة.
- تعديل الاتفاقية ينتج إصدارًا جديدًا من المستند نفسه في الأرشيف، والرابط في Dynamics يفتح الإصدار الأحدث.
- مستخدم Dynamics بلا دور في وثيقة يرى الرابط لكنه لا يفتح المستند.
- تعطل وثيقة مؤقتًا لا يمنع المستخدم من العمل في Dynamics، والمستندات المعلقة تُرسل عند عودة الخدمة.
- تقرير سعة ملفات Dataverse بعد شهر من التشغيل يُظهر توقف النمو في أنواع المستندات المنقولة.
دور وثيقة في هذا التصميم
يتكامل وثيقة مع Microsoft 365 (SharePoint وOneDrive) ومع البريد الإلكتروني وActive Directory/LDAP، أما Dynamics 365 فيُربط عبر REST API ضمن نطاق يُحدَّد في العرض الفني: الأحداث والحقول والاتجاه ومعالجة الأخطاء. إن كانت مستندات Dynamics لديك مخزنة أصلًا في SharePoint عبر التكامل المبني على الخادم، فاذكر ذلك في طلب العرض؛ فقد يغيّر نقطة الربط المقترحة.
في جهة وثيقة نفسها، ما يخدم هذا التصميم: مستودع مركزي بتصنيف هرمي، وتتبع الإصدارات مع إمكان العودة لأي إصدار، وOCR عربي وإنجليزي، ومسارات موافقة متعددة المراحل، وصلاحيات مبنية على الأدوار على مستوى المجلد والمستند، وسجل تدقيق قابل للتصدير. وتعرض صفحة تكاملات وثيقة مع Microsoft 365 والربط عبر REST API الفرق بين الفئتين.
ولأن كثيرًا من ازدواج Dynamics يأتي من البريد المتتبَّع، فقد يفيدك أرشفة رسائل Outlook ومرفقاتها ضمن ملف المعاملة. وإن كان جزء من المشروع ترحيل مرفقات Dynamics القديمة، فاقرأ إزالة التكرار قبل الترحيل وتمييز النسخة المكررة عن الإصدار المختلف. ولتقييم الواجهة البرمجية نفسها راجع اختبارات الأخطاء وإعادة المحاولة وحدود الاستخدام في API الأرشفة.
ابدأ بجرد مرفقات Dynamics
- اجرد أنواع المستندات المرفقة في Dynamics اليوم، ومرّر كل نوع على مسار القرار أعلاه.
- قس الازدواج بعينة الخمسين سجلًا وتقرير سعة الملفات.
- اطلب عرضًا فنيًا لربط الأنواع التي مرجعها الأرشيف فقط، عبر طلب عرض ربط Dynamics، مع ذكر هل تستخدمون SharePoint المرتبط بالسجل.
المصادر
- Microsoft Learn — Dataverse capacity-based storage
- Microsoft Learn — Document management with SharePoint integration
- Microsoft Learn — Permissions for SharePoint document management tasks
- Microsoft Learn — Use the Dataverse Web API
- Microsoft Learn — Service protection API limits
- Microsoft Learn — OCR in SharePoint and OneDrive
أرسل متطلبات التكامل للحصول على عرض فني
حدّد النظام المطلوب ربطه، واتجاه البيانات، والحقول، وعدد المعاملات التقريبي؛ لنميّز ما هو تكامل منشور وما يُنفّذ عبر API ضمن نطاق.
- عدد المستخدمين المتوقع والإدارات المشاركة
- حجم الأرشيف الحالي تقريباً (عدد الملفات أو الصفحات أو الحجم بالجيجابايت) ونسبة الورقي منه
- نموذج الاستضافة المفضل: سحابة داخل المملكة أو خوادم الجهة
- النظام الحالي للملفات والأنظمة المطلوب التكامل معها
الهاتف وواتساب: +966 56 533 0501 — الأحد إلى الخميس 9 صباحاً حتى 6 مساءً.