5.3 · التكامل التطبيقي (.NET / Visual Studio)

المستوى 5 · النشر والتكامل وأفضل الممارسات

5.3التكامل التطبيقي (.NET / Visual Studio)

الهدف: فهم دمج ملف .rpt في تطبيق والتعاون بين المصمم والمطور.
الوقت المقدّر: 10 دقيقة · قراءة ذاتية · إذا كان لديك 5 دقائق فقط: اقرأ «الأساسي في 30 ثانية» + المخطط.

الأساسي في 30 ثانية

  • تقاسم الأدوار : المصمم ينشئ ملف .rpt في المصمم (دون برمجة)، والمطور يدمجه في التطبيق عبر SDK والعارض (Crystal Reports Viewer) — يستهلك المستعمل الحالات دون فتح المصمم.
  • الآلية جهة المطور : تحميل ملف .rpt بالشيفرة، وتوفير الاتصال والمعلمات برمجيا، والربط بالعارض — مع الطباعة والتصدير بالشيفرة (PDF، البريد) خيارا.
  • لا تنسوا أبدا : نشر وقت التشغيل (Runtime) الخاص بـCrystal على المحطات والخوادم المستهدفة — فدونه لا يظهر أي تقرير.

حالة مصغرة مستمرة — فارس يُدخل حالاته في ERP

فارس، مراقب التسيير في الجزائر، يريد أن يطبع رؤساء المصالح ميزانياتهم مباشرة من ERP، بزر « طباعة الميزانية » — دون فتح المصمم. يصمم ملف .rpt (تخطيط الصفحة، ومعلمي الإدارة والفترة)، ثم يعمل مع المطورة : فتضع العارض Crystal Reports Viewer، وتحمّل ملف .rpt بالشيفرة، وتمرر الاتصال والمعلمات (الإدارة المتصلة، والفترة المختارة)، وتنشر وقت التشغيل على المحطات. تتمة حالة 5.2 — ينتقل فارس من التقرير المشترك كملف إلى التقرير المدمج في التطبيق.

تتمة حالة 5.2 — يتعاون فارس مع المطورة : هو ملف .rpt، وهي الدمج.

1. تضمين التقارير

بعد المصمم المستقل، يندمج Crystal Reports في التطبيقات لنشر الحالات على نطاق واسع. الحالة الشائعة : Crystal Reports for Visual Studio — نسخة مجانية تتيح لمطوري .NET تضمين التقارير (.rpt) في تطبيقاتهم (Windows أو ويب ASP.NET). وهو مشروع فارس : ميزانياته متاحة من ERP.

ينشئ المصمم التقرير ؛ ويدمجه المطور عبر العارض Crystal Reports Viewer وSDK ؛ ويحمّل التطبيق التقرير، فيزوده بالبيانات والمعلمات، ويعرضه. فيمكن لبرنامج أن يعرض « طباعة الفاتورة » دون أن يفتح المستعمل المصمم — وهذا ما يجعل Crystal Reports محرك حالات مدمجا في عدد لا يحصى من تطبيقات المهنة.

2. كيف يعمل (جهة المطور)

تُشار إلى تجميعات Crystal في مشروع .NET، ويوضع CrystalReportViewer، ويُحمَّل ملف .rpt، وتُمرَّر معلومات الاتصال (المعرفات) وقيم المعلمات بالشيفرة، ثم يُربط التقرير بالعارض. عند فارس : تمرر المطورة إدارة المستعمل المتصل والفترة المختارة على الشاشة.

يظهر التقرير بطباعة وتصدير مدمجين. ويمكن أيضا التصدير بالشيفرة (توليد PDF تلقائيا، وإرساله بالبريد) — عملي للإرسالات الشهرية لفارس دون تدخل يدوي.

3. الأدوار والنشر

جهة المطور : تدبير الاتصال (معرفات لا تُكتب أبدا في الشيفرة)، وتمرير المعلمات حسب سياق التطبيق، ونشر وقت التشغيل Crystal على المحطات والخوادم المستهدفة — خطوة لا تُنسى، وإلا ظهر لا شيء. يتفق فارس والمطورة على العقد : أسماء المعلمات ومصدر البيانات.

توجد أيضا SDK Java ومنصة SAP BusinessObjects (الجدولة والبوابة والنشر المكثف). ويتطلب الدمج مهارات تطوير — عمل مطور، لا مصمم حالات. والخبر السار لفارس : يستطيع تعديل ملف .rpt (عمود، صيغة) دون لمس شيفرة التطبيق.

خطأ شائع في الفهم: « دمج تقرير في تطبيق هو مجرد نسخ ملف .rpt على الخادم ». خطأ. فملف .rpt وحده لا يظهر في أي مكان : تلزم شيفرة تحمّل التقرير، وتوفر الاتصال والمعلمات، وتربطه بعارض — ووقت تشغيل منشور على كل آلة مستهدفة. دون عمل المطور هذا (اتصال مدبر بنظافة، ومعلمات تُمرر حسب السياق، ووقت تشغيل مثبت)، فزر « طباعة » لا يطبع شيئا. والمنعكس السليم : يتفق المصمم والمطور على ملف .rpt وعقد المعلمات، ثم يدمج المطور ويختبر وينشر وقت التشغيل.
من ملف .rpt إلى التطبيق المصمم ثم المطور التصميم ملف .rptفي المصممالدمج العارض +الاتصال + المعلماتالنشر وقت التشغيلعلى المحطات
المصمم ثم المطور
نص المخطط (SEO / قارئات الشاشة / الترجمة): 1) التصميم : ينشئ فارس في الجزائر ملف .rpt للميزانية في المصمم — تخطيط الصفحة والحقول ومعلمي الإدارة والفترة. 2) الدمج : تحمّل المطورة ملف .rpt بالشيفرة، وتضع العارض Crystal Reports Viewer، وتمرر الاتصال ومعلمات المستعمل المتصل. 3) النشر : يُثبت وقت التشغيل Crystal على المحطات والخوادم، وإلا ظهر لا شيء. الدرس : المصمم يصنع ملف .rpt، والمطور يدمجه — ويمكن أن يتطور ملف .rpt دون إعادة تطوير.

🔎 مثال ملموس — زر « طباعة الميزانية » في ERP

التقرير يعيش داخل البرنامج.

الشيفرة تحمّل budget.rpt، وتمرر الإدارة والفترة كمعلمين،
وتوفر الاتصال، وتربط بـCrystalReportViewer → فتظهر الميزانية/تُطبع.

القراءة : يستهلك المستعمل الحالة دون فتح المصمم.

الدرس : انشروا وقت التشغيل ؛ ولا تكتبوا المعرفات في الشيفرة.

مفردات القسم

التكامل التطبيقي
تضمين تقارير Crystal في تطبيق لنشر الحالات على نطاق واسع.

مثال بسيط: يجعل فارس ميزانياته قابلة للطباعة من ERP في الجزائر.

ما ليس كذلك: مشاركة ملف .rpt بالبريد.

رد فعل: هل ما زال المستعمل يفتح المصمم ؟

العارض Crystal Reports Viewer
مكون العرض الموضوع في التطبيق، بطباعة وتصدير مدمجين.

مثال بسيط: تضع المطورة العارض على شاشة الميزانية في ERP.

ما ليس كذلك: المصمم الكامل مثبت عند كل مستعمل.

رد فعل: أين يظهر التقرير في التطبيق ؟

تمرير المعلمات
نقل قيم المعلمات بالشيفرة حسب السياق التطبيقي.

مثال بسيط: تُمرر الإدارة المتصلة والفترة المختارة كمعلمين.

ما ليس كذلك: قيم جامدة في التقرير للجميع.

رد فعل: من يزود بالقيم، ومن أين تأتي ؟

عقد المصممين-المطور
الاتفاق على ملف .rpt والمعلمات : الأسماء والأنواع ومصدر البيانات.

مثال بسيط: يتفق فارس والمطورة على معلمي الإدارة والفترة.

ما ليس كذلك: ملف .rpt معدل دون تنبيه يكسر النداء.

رد فعل: هل عقد المعلمات مكتوب ؟

وقت التشغيل
مكونات التنفيذ الواجب نشرها على المحطات والخوادم لعرض التقارير.

مثال بسيط: يتحقق فارس من وقت التشغيل المثبت قبل التشغيل.

ما ليس كذلك: محطة تعرض التقارير دون شيء مثبت.

رد فعل: هل وقت التشغيل منشور حيث يلزم ؟

في التطبيق — فهم التكامل التطبيقي

  1. حددوا الدور : المصمم ينشئ التقرير (.rpt) في المصمم ؛ والمطور يدمجه (.NET عبر Crystal Reports for Visual Studio، المجاني).
  2. لاحظوا الآلية : عارض CrystalReportViewer يعرض التقرير ؛ والشيفرة تحمّل ملف .rpt، وتوفر الاتصال والمعلمات، وتربط بالعارض.
  3. احفظوا مسؤوليات المطور : تدبير الاتصال (معرفات غير مكتوبة في الشيفرة)، وتمرير المعلمات، والتصدير بالشيفرة عند الحاجة (PDF، البريد).
  4. لا تنسوا نشر وقت التشغيل Crystal على المحطات/الخوادم المستهدفة ؛ ويمكن للشركة أيضا استعمال SAP BusinessObjects للنشر المكثف.
تفهمون كيف تندمج تقارير Crystal في تطبيقات المهنة (فواتير/كشوف يولدها التطبيق) وكيف يتعاون المصمم والمطور.

نص جاهز للقول — اقتراح الدمج على الإدارة

« بدلا من نشر هذه الميزانية كملف، أقترح عليكم دمجها في ERP : أصمم التقرير بمعلمي الإدارة والفترة، وتعرضه مطورتنا عبر العارض مع الاتصال والمعلمات الممررة بالشيفرة، وننشر وقت التشغيل على المحطات. سيطبع كل رئيس مصلحة ميزانيته من التطبيق، ببياناته وحده — وسأستطيع تطوير التقرير دون لمس الشيفرة. »

يُقال للإدارة والمطورة لتأطير التعاون قبل أي شيفرة.

نموذج جاهز للنسخ — بطاقة عقد الدمج

بطاقة عقد الدمج — التقرير : ___ (.rpt)
المعلمات : الاسم 1 ___ (النوع ___) · الاسم 2 ___ (النوع ___) · مصدر القيم : ___
الاتصال : موفر بالشيفرة نعم / لا · معرفات في الشيفرة ؟ أبدا
العارض : الشاشة ___ · طباعة نعم / لا · تصدير بالشيفرة (PDF/بريد) نعم / لا
وقت التشغيل منشور على : ___ · اختُبر بتاريخ : ___

منفرد / ميزانية صغيرة

فارس وحده : يجهز ملف .rpt بمعلمات مسماة جيدا، جاهزا للمطورة حين تصل.

شركة صغيرة جدا / فريق مصغر

شاشة واحدة بعارض وزر طباعة : الدمج الأدنى الذي يغير كل شيء.

شركة صغيرة ومتوسطة في الجزائر

يضبط فارس في الجزائر استلاما على محطتين رائدتين : العارض والاتصال والمعلمات ووقت التشغيل متحقق منها قبل التعميم.

فريق يبدأ

ثنائي مصمم-مطور : عقد معلمات مكتوب، ثم اختبار أول ملف .rpt من البداية إلى النهاية.

حذر: إصدارات وقت التشغيل والحقوق والاتصال : وائموا وقت التشغيل المنشور على المحطات والخوادم مع الجيل المستعمل لتصميم ملف .rpt (فارق قد يمنع العرض أو يشوهه) ؛ ولا تكتبوا أبدا معرفات القاعدة في الشيفرة — وفروا الاتصال بالشيفرة بحقوق محدودة بالحاجة الدنيا (قراءة البيانات المفيدة وحدها) ؛ ومرروا المعلمات حسب سياق المستعمل المتصل لئلا ترى مصلحة بيانات أخرى. اختبروا العرض والطباعة والتصدير على محطة مستهدفة قبل التعميم.

✓ ممارسات جيدة

  • يستطيع المصمم إنشاء ملفات .rpt ممتازة دون معرفة البرمجة.
  • اتفقوا على المعلمات والمصدر (الواجهة بين الدورين).
  • ملف .rpt يُعدَّل غالبا دون لمس شيفرة التطبيق.

✗ أخطاء شائعة

  • نسيان نشر وقت التشغيل (التقارير لا تظهر).
  • كتابة معرفات القاعدة في الشيفرة (الأمن).
  • الظن أن دمج تقرير لا يتطلب مهارات تطوير.

النقاط الأساسية

  • التكامل التطبيقي يضمّن تقارير Crystal في التطبيقات : يستهلك المستعمل الحالات (« طباعة الفاتورة ») دون فتح المصمم. محرك حالات مدمج.
  • Crystal Reports for Visual Studio (مجاني) = طريق .NET : تحميل ملف .rpt، وعارض CrystalReportViewer، وتوفير الاتصال والمعلمات بالشيفرة، والعرض. وتوجد أيضا SDK Java وSAP BusinessObjects.
  • المصمم ينشئ ملف .rpt ؛ والمطور يدمجه — تعاون. جهة المطور : الاتصال (معرفات غير مكتوبة في الشيفرة)، والمعلمات، والتصدير بالشيفرة (PDF، البريد).
  • لا تنسوا نشر وقت التشغيل على المحطات/الخوادم. ويتطلب الدمج مهارات تطوير — عمل مطور، لا مصمم حالات.

تحدّي 48 ساعة — طبّق غدا

املؤوا بطاقة عقد الدمج (النموذج أعلاه) لأجل تقرير حقيقي واحد : هل ترد فيها المعلمات والاتصال بالشيفرة ووقت التشغيل المنشور ؟

قائمة الخروج من القسم
  • أستطيع وصف مسار ملف .rpt حتى شاشة التطبيق.
  • عقد المعلمات بين المصمم والمطور مكتوب.
  • أعرف لماذا وقت التشغيل ضروري على المحطات.
تقييم ذاتي 1-5 : هل تقاسم الأدوار واضح لتقريري ؟هل الاتصال والمعلمات ووقت التشغيل كلها متوقعة ؟

أسئلة شائعة

كيف يصل تقرير مصمم في المصمم إلى تطبيق مهنة ؟

بتعاون بين دورين. ينشئ المصمم التقرير في المصمم (تخطيط الصفحة والحقول والصيغ والمجموعات والمعلمات) ويحفظ ملف .RPT — دون كتابة شيفرة. ويدمجه المطور في التطبيق عبر SDK (مثلا Crystal Reports for Visual Studio، المجاني، لأجل .NET) : فيضع CrystalReportViewer، ويحمّل ملف .rpt بالشيفرة، ويوفر الاتصال بالقاعدة (المعرفات، دون كتابتها في الشيفرة)، ويمرر المعلمات (مثلا معرف الفاتورة)، ويربط التقرير بالعارض — فيعرضه مع الطباعة/التصدير. عمليا، زر « طباعة الفاتورة » ينفذ هذه الشيفرة : فيحمّل facture.rpt، ويمرر المعرف كمعلم، ويسترجع البيانات، ويعرض/يطبع. ويستهلك المستعمل التقرير دون فتح المصمم. ولا تنسوا نشر وقت التشغيل Crystal على الآلات المستهدفة.

هل يلزم أن تكون مطورا لدمج التقارير، وكيف تتوزع الأدوار ؟

لتصميم التقارير (إنشاء ملفات .rpt) → لا : فالمصمم مرئي، متاح لملامح مهنية، حتى لحالات معقدة ؛ وهو مهنة مستقلة عن التطوير. ولدمج التقارير في تطبيق → نعم : فالعارض والاتصال بالشيفرة والمعلمات ونشر وقت التشغيل تتطلب مهارات مطور. التعاون : ينشئ المصمم/يصون ملفات .rpt (المهنة والعرض والمعلمات) ويستطيع تعديلها دون لمس الشيفرة (تتطور الحالات دون إعادة تطوير) ؛ ويدمج المطور ملفات .rpt (التحميل والاتصال والمعلمات والنشر). والواجهة بينهما : ملف .rpt والعقد على المعلمات. فتصميم الحالات إذن مهارة مستقلة وذات قيمة.

تحقّق من فهمك

ماذا يجب تثبيته على المحطات ليعرض تطبيق تقارير Crystal ؟

موارد إضافية (اختياري، للتعمّق أكثر)

اختبار المستوى 5أسئلة جديدة وأصعب للتحقق من مكتسباتك