5.3التكامل التطبيقي (.NET / Visual Studio)
الأساسي في 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 (عمود، صيغة) دون لمس شيفرة التطبيق.
🔎 مثال ملموس — زر « طباعة الميزانية » في ERP
التقرير يعيش داخل البرنامج.
الشيفرة تحمّل budget.rpt، وتمرر الإدارة والفترة كمعلمين،
وتوفر الاتصال، وتربط بـCrystalReportViewer → فتظهر الميزانية/تُطبع.
القراءة : يستهلك المستعمل الحالة دون فتح المصمم.
الدرس : انشروا وقت التشغيل ؛ ولا تكتبوا المعرفات في الشيفرة.
مفردات القسم
- التكامل التطبيقي
- تضمين تقارير Crystal في تطبيق لنشر الحالات على نطاق واسع.
مثال بسيط: يجعل فارس ميزانياته قابلة للطباعة من ERP في الجزائر.
ما ليس كذلك: مشاركة ملف .rpt بالبريد.
رد فعل: هل ما زال المستعمل يفتح المصمم ؟
- العارض Crystal Reports Viewer
- مكون العرض الموضوع في التطبيق، بطباعة وتصدير مدمجين.
مثال بسيط: تضع المطورة العارض على شاشة الميزانية في ERP.
ما ليس كذلك: المصمم الكامل مثبت عند كل مستعمل.
رد فعل: أين يظهر التقرير في التطبيق ؟
- تمرير المعلمات
- نقل قيم المعلمات بالشيفرة حسب السياق التطبيقي.
مثال بسيط: تُمرر الإدارة المتصلة والفترة المختارة كمعلمين.
ما ليس كذلك: قيم جامدة في التقرير للجميع.
رد فعل: من يزود بالقيم، ومن أين تأتي ؟
- عقد المصممين-المطور
- الاتفاق على ملف .rpt والمعلمات : الأسماء والأنواع ومصدر البيانات.
مثال بسيط: يتفق فارس والمطورة على معلمي الإدارة والفترة.
ما ليس كذلك: ملف .rpt معدل دون تنبيه يكسر النداء.
رد فعل: هل عقد المعلمات مكتوب ؟
- وقت التشغيل
- مكونات التنفيذ الواجب نشرها على المحطات والخوادم لعرض التقارير.
مثال بسيط: يتحقق فارس من وقت التشغيل المثبت قبل التشغيل.
ما ليس كذلك: محطة تعرض التقارير دون شيء مثبت.
رد فعل: هل وقت التشغيل منشور حيث يلزم ؟
في التطبيق — فهم التكامل التطبيقي
- حددوا الدور : المصمم ينشئ التقرير (.rpt) في المصمم ؛ والمطور يدمجه (.NET عبر Crystal Reports for Visual Studio، المجاني).
- لاحظوا الآلية : عارض CrystalReportViewer يعرض التقرير ؛ والشيفرة تحمّل ملف .rpt، وتوفر الاتصال والمعلمات، وتربط بالعارض.
- احفظوا مسؤوليات المطور : تدبير الاتصال (معرفات غير مكتوبة في الشيفرة)، وتمرير المعلمات، والتصدير بالشيفرة عند الحاجة (PDF، البريد).
- لا تنسوا نشر وقت التشغيل Crystal على المحطات/الخوادم المستهدفة ؛ ويمكن للشركة أيضا استعمال SAP BusinessObjects للنشر المكثف.
نص جاهز للقول — اقتراح الدمج على الإدارة
« بدلا من نشر هذه الميزانية كملف، أقترح عليكم دمجها في ERP : أصمم التقرير بمعلمي الإدارة والفترة، وتعرضه مطورتنا عبر العارض مع الاتصال والمعلمات الممررة بالشيفرة، وننشر وقت التشغيل على المحطات. سيطبع كل رئيس مصلحة ميزانيته من التطبيق، ببياناته وحده — وسأستطيع تطوير التقرير دون لمس الشيفرة. »
يُقال للإدارة والمطورة لتأطير التعاون قبل أي شيفرة.
نموذج جاهز للنسخ — بطاقة عقد الدمج
بطاقة عقد الدمج — التقرير : ___ (.rpt)
المعلمات : الاسم 1 ___ (النوع ___) · الاسم 2 ___ (النوع ___) · مصدر القيم : ___
الاتصال : موفر بالشيفرة نعم / لا · معرفات في الشيفرة ؟ أبدا
العارض : الشاشة ___ · طباعة نعم / لا · تصدير بالشيفرة (PDF/بريد) نعم / لا
وقت التشغيل منشور على : ___ · اختُبر بتاريخ : ___
منفرد / ميزانية صغيرة
فارس وحده : يجهز ملف .rpt بمعلمات مسماة جيدا، جاهزا للمطورة حين تصل.
شركة صغيرة جدا / فريق مصغر
شاشة واحدة بعارض وزر طباعة : الدمج الأدنى الذي يغير كل شيء.
شركة صغيرة ومتوسطة في الجزائر
يضبط فارس في الجزائر استلاما على محطتين رائدتين : العارض والاتصال والمعلمات ووقت التشغيل متحقق منها قبل التعميم.
فريق يبدأ
ثنائي مصمم-مطور : عقد معلمات مكتوب، ثم اختبار أول ملف .rpt من البداية إلى النهاية.
✓ ممارسات جيدة
- يستطيع المصمم إنشاء ملفات .rpt ممتازة دون معرفة البرمجة.
- اتفقوا على المعلمات والمصدر (الواجهة بين الدورين).
- ملف .rpt يُعدَّل غالبا دون لمس شيفرة التطبيق.
✗ أخطاء شائعة
- نسيان نشر وقت التشغيل (التقارير لا تظهر).
- كتابة معرفات القاعدة في الشيفرة (الأمن).
- الظن أن دمج تقرير لا يتطلب مهارات تطوير.
النقاط الأساسية
- التكامل التطبيقي يضمّن تقارير Crystal في التطبيقات : يستهلك المستعمل الحالات (« طباعة الفاتورة ») دون فتح المصمم. محرك حالات مدمج.
- Crystal Reports for Visual Studio (مجاني) = طريق .NET : تحميل ملف .rpt، وعارض CrystalReportViewer، وتوفير الاتصال والمعلمات بالشيفرة، والعرض. وتوجد أيضا SDK Java وSAP BusinessObjects.
- المصمم ينشئ ملف .rpt ؛ والمطور يدمجه — تعاون. جهة المطور : الاتصال (معرفات غير مكتوبة في الشيفرة)، والمعلمات، والتصدير بالشيفرة (PDF، البريد).
- لا تنسوا نشر وقت التشغيل على المحطات/الخوادم. ويتطلب الدمج مهارات تطوير — عمل مطور، لا مصمم حالات.
تحدّي 48 ساعة — طبّق غدا
املؤوا بطاقة عقد الدمج (النموذج أعلاه) لأجل تقرير حقيقي واحد : هل ترد فيها المعلمات والاتصال بالشيفرة ووقت التشغيل المنشور ؟
- أستطيع وصف مسار ملف .rpt حتى شاشة التطبيق.
- عقد المعلمات بين المصمم والمطور مكتوب.
- أعرف لماذا وقت التشغيل ضروري على المحطات.
أسئلة شائعة
كيف يصل تقرير مصمم في المصمم إلى تطبيق مهنة ؟
بتعاون بين دورين. ينشئ المصمم التقرير في المصمم (تخطيط الصفحة والحقول والصيغ والمجموعات والمعلمات) ويحفظ ملف .RPT — دون كتابة شيفرة. ويدمجه المطور في التطبيق عبر SDK (مثلا Crystal Reports for Visual Studio، المجاني، لأجل .NET) : فيضع CrystalReportViewer، ويحمّل ملف .rpt بالشيفرة، ويوفر الاتصال بالقاعدة (المعرفات، دون كتابتها في الشيفرة)، ويمرر المعلمات (مثلا معرف الفاتورة)، ويربط التقرير بالعارض — فيعرضه مع الطباعة/التصدير. عمليا، زر « طباعة الفاتورة » ينفذ هذه الشيفرة : فيحمّل facture.rpt، ويمرر المعرف كمعلم، ويسترجع البيانات، ويعرض/يطبع. ويستهلك المستعمل التقرير دون فتح المصمم. ولا تنسوا نشر وقت التشغيل Crystal على الآلات المستهدفة.
هل يلزم أن تكون مطورا لدمج التقارير، وكيف تتوزع الأدوار ؟
لتصميم التقارير (إنشاء ملفات .rpt) → لا : فالمصمم مرئي، متاح لملامح مهنية، حتى لحالات معقدة ؛ وهو مهنة مستقلة عن التطوير. ولدمج التقارير في تطبيق → نعم : فالعارض والاتصال بالشيفرة والمعلمات ونشر وقت التشغيل تتطلب مهارات مطور. التعاون : ينشئ المصمم/يصون ملفات .rpt (المهنة والعرض والمعلمات) ويستطيع تعديلها دون لمس الشيفرة (تتطور الحالات دون إعادة تطوير) ؛ ويدمج المطور ملفات .rpt (التحميل والاتصال والمعلمات والنشر). والواجهة بينهما : ملف .rpt والعقد على المعلمات. فتصميم الحالات إذن مهارة مستقلة وذات قيمة.
ماذا يجب تثبيته على المحطات ليعرض تطبيق تقارير Crystal ؟