إنتقل إلى المحتوى الرئيسي

إنشاء تقرير

الهدف​

حوّل قالبًا مصمَّمًا إلى تقرير يشغّله المستخدمون: مطبوعًا لسجل واحد («اطبع هذه الفاتورة») أو على قائمة كاملة، من شريط الأوامر، داخل التطبيق المفتوح أمامهم.

ممّ يتكوّن التقرير​

نصفان، يلتقيان عند اسم.

  • القالب — الصفحة: أشرطتها وجداولها وشعارها وعلامتها المائية. يُصمَّم في المصمّم الرسومي ويُصدَّر بصيغة JSON، وهو ما تلصقه هنا.
  • مجموعات البيانات — الصفوف التي تملؤه. تسمّي كلٌّ منها استعلامًا محفوظًا أو تحمل استعلامها الخاص، تحت اسم يشير إليه القالب.

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

المتطلبات​

  • أنت مسجَّل الدخول بدور صانع، وقد اخترت حلًّا وبيئة.
  • الاستعلامات المحفوظة التي سيستعملها التقرير موجودة (أو ستكتب الاستعلام داخله).
  • لديك قالب مُصدَّر من المصمّم.

الخطوات​

  1. افتح حلّك واختر التقارير.
  2. اختر جديد، وأعطه اسمًا معروضًا — ويملأ الاسم المنطقي نفسه.
  3. املأ مجموعات البيانات. لكل واحدة:
    • الاسم — ما يسمّي به القالب هذه الصفوف. يسمّيه مكرِّر القالب، فيجب أن يتطابق الاثنان تمامًا.
    • استعلام محفوظ — السؤال الذي يملؤها، ويُختار من استعلامات البيئة المحفوظة بدل أن يُكتب. ويقول كل خيار أي جدول يقرأ الاستعلام، لأن الاسم المعروض نادرًا ما يميّز اثنين منها. اكتب السؤال أولًا — انظر «حفظ استعلام».
    • حقل السجل — اختياري؛ انظر أدناه.
  4. الصق JSON القالب.
  5. اختر حفظ. تفحص المنصة سلامة التقرير، وأن كل استعلام استعلامٌ صالح، وأن كلًّا منها يعمل هنا فعلًا — كل حقل وارتباط ومقياس مقابل جداول هذه البيئة الحقيقية. فحقلٌ مكتوب خطأً يُرفض الآن، لا يكتشفه من يضغط «طباعة».

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

طباعة سجل واحد​

عيّن حقل السجل في مجموعة بيانات ليصير التقرير قابلًا للطباعة لسجل واحد.

  • في المجموعة الأساسية يكون عادةً id — «هذه الفاتورة».
  • وفي المجموعة الابن يكون البحث العائد إلى الأب — par_invoiceid على البنود، فتطبع الفاتورة ٤٢ بنودَها هي لا غير.
  • واتركه فارغًا فلا تتأثر المجموعة بالسجل الذي طبعت منه. وهكذا يطبع تقريرٌ واحد فاتورةً واحدة إلى جانب جدول بأسعار الصرف هذا الشهر.

تشغيل التقرير​

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

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

وفي الحالات الثلاث يُفتح التقرير كشاشة مستقلة، وتنقّل التطبيق باقٍ بجانبه وعنوانه في شريط العنوان — فالتقرير الذي تنظر إليه يمكن تحديثه أو حفظه في المفضلة أو إرساله إلى زميل. والتقرير الذي فتحه أمر يحمل زرّ ← في أول شريط أدوات العارض، يعود إلى الشاشة التي ضُغط الزر فيها.

لا ينتقل معه بحث القائمة ولا تصفيتها. فالتقرير يُعنون باسمه هو، والتصفية ليست مما يحمله عنوان؛ ولتقرير عن مجموعة أضيق، أعطِ التصفية للتقرير نفسه.

قراءة التقرير على الشاشة​

يُفتح العارض على صفحة واحدة في كل مرة، بتكبير يُظهر صفحة كاملة، وطباعة في طرفه. وأربعة عناصر تغيّر ما تنظر إليه:

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

وتُخرج الطباعة كل الصفحات بحجمها الكامل، لا التي على الشاشة ولا بالتكبير الذي كنت تقرأ به، ولا تُخرج أزرار العارض نفسه. والورق بالحجم الذي صُمِّم له التقرير — فتقرير A4 يُطبع على A4 من حافة إلى حافة، بلا ترويسة متصفّح ولا تذييل ولا عنوان ولا رقم صفحة في الهامش، إذ لم يبقَ هامش تُطبع فيه.

ملاحظة

وإن كنتَ قد فعّلت الترويسات والتذييلات في مربّع الطباعة الخاص بمتصفّحك فستظهر رغم ذلك — فذلك إعدادك أنت ولا تتجاوزه المنصّة. أطفئ «Headers and footers» هناك.

التقرير نصٌّ لا صورةٌ عن نصّ​

يمكنك تحديد أيّ نصّ في التقرير ونسخه، وبحث المتصفّح (Ctrl+F / ⌘F) يبحث في الصفحة المفتوحة. وقارئ الشاشة يقرأ التقرير بدل أن يعلن عن «صورة». وليس شيء من هذا إعدادًا: صفحة التقرير نصٌّ عاديّ على الصفحة — وهذا نفسه ما يجعل الأسطر العربية والفارسية تظهر على وجهها الصحيح حين يتخلّلها رمز منتج أو مبلغ باللاتينية؛ فالمتصفّح هو من يرتّب هذا المزيج.

يبحث البحث في الصفحات المعروضة. في وضع صفحة واحدة تلك هي الصفحة التي تقرؤها؛ وللبحث في التقرير كلّه انتقل إلى كلّ الصفحات.

التواريخ والأرقام والخانات​

يطبع التقرير التواريخ بالتقويم والنمط نفسيهما اللذين تطبع بهما الشبكة المجاورة، والأرقام بالخانات نفسها. ولا تضبط هذا لكل تقرير: يأتي من الإعدادات ← التقويم ولغة المستأجر، فلا يستطيع التقرير أن يبتعد عن بقية المنتج.

نقله بين البيئات​

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

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

حل المشكلات​

  • «القالب ليس JSON صالحًا.» — اللصق ناقص أو فيه محرف زائد. المربع لا يعيد تنسيق ما تكتب.
  • «يحتاج التقرير إلى مجموعة بيانات واحدة على الأقل.» — يحتاج صفّ المجموعة إلى اسم واستعلام محفوظ معًا ليُحتسب؛ والصف نصف الممتلئ يُتجاهل.
  • «على المجموعة rows أن تسمّي واحدًا فقط من savedQuery أو query.» — أعطيت الاثنين أو لا شيء.
  • «… تسمّي الاستعلام المحفوظ x، وهو غير موجود في هذه البيئة.» — راجع الإملاء، أو أضِف الاستعلام إلى الحل لينتقل.
  • «حقل غير معروف …» — يسمّي الاستعلام حقلًا ليس في جدوله. أصلح الاستعلام لا التقرير.
  • يُطبع التقرير لكن الصفحة فارغة. — يسمّي مكرِّر القالب مجموعةً لم يعرّفها التقرير. لا بد أن تتطابق الأسماء تمامًا.
  • «تعذّر تنسيق قالب هذا التقرير في صفحات.» — لم يستطع المحرّك أن يصنع منه صفحات. أعِد التصدير من المصمّم؛ فالقالب المحرَّر يدويًا يسهل كسره.
  • لا يظهر أمر تقرير على السجل. — لا شيء يولّد واحداً. ارسم زراً وأعطه سلوك تشغيل تقرير، أو ضع التقرير في تنقّل التطبيق.
  • فُتح التقرير لكنه يعرض كل السجلات. — شُغّل من قائمة، أو من سجل لم يُحفظ قط. ولا يقصر التقريرَ إلا سجلٌ محفوظ مفتوح.

سيناريوهات ذات صلة​