كيف أجعل رابط المرفق في التقارير (NamaRep.attachmentLink) يفتح دون الحاجة إلى تسجيل الدخول؟

Viewed 5

في تقرير عندي أستخدم الدالة التالية لعمل رابط للمرفق:

NamaRep.attachmentLink($F{attachment_id})

الرابط يعمل ويفتح المرفق فعلًا، لكن من يضغط عليه لا بد أن يكون مسجّل الدخول في نما أولًا.

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

هل ذاكرتي صحيحة؟ وهل توجد دالة أخرى لهذا الغرض، أم أن الأمر يتم بطريقة أخرى؟

1 Answers

ذاكرتك صحيحة في النتيجة، لكن ليست في الوسيلة: لا توجد دالة ثانية لعمل رابط مرفق "بدون تسجيل دخول". الدالة واحدة هي NamaRep.attachmentLink، والفرق كله في خيار واحد داخل الإعدادات العامة.

الخيار المطلوب

الإعدادات العامة ← تبويب المرفقات والتخزين ← مجموعة تخزين المرفقات ← الحقل:

السماح بتحميل المرفقات دون الحاجة الي التسجيل في نماvalue.info.allowDownloadAttachmentWithoutAuthentication

عند تفعيله يفتح رابط المرفق مباشرة دون أن يطلب النظام جلسة دخول. وعند إيقافه — وهو الوضع الافتراضي — يطلب النظام تسجيل الدخول قبل تنزيل الملف، وهذا ما تراه الآن.

الدالة نفسها

للدالة صيغتان:

NamaRep.attachmentLink(fileId)
NamaRep.attachmentLink(serverUrl, fileId)
  • الصيغة الأولى تبني الرابط باستخدام عنوان خادم الواجهة المعرّف في النظام.
  • الصيغة الثانية تتيح لك تمرير عنوان الخادم صراحة، وهي المفيدة حين يُرسل الرابط خارج الشبكة الداخلية (بريد إلكتروني، بوابة عملاء، مورّد)، لأن العنوان الداخلي لن يعمل عند المستقبِل.

الرابط الناتج في الحالتين واحد: صفحة تنزيل الملف ومعها رقم المرفق. تفعيل الخيار السابق لا يغيّر شكل الرابط إطلاقًا، بل يغيّر فقط ما إذا كان النظام سيطلب تسجيل الدخول عند فتحه.

قبل أن تفعّله

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

لذلك فعّله حين يكون توزيع الروابط خارج النظام مقصودًا (عرض مستند في بوابة، إرسال مرفق للعميل مع التقرير)، ولا تفعّله لمجرد إراحة مستخدمين داخليين لديهم حسابات أصلًا.

للاستزادة