ملف الصلاحيات (Security Profile)
ملف الصلاحيات هو المكان الذي تعيش فيه معظم إعدادات الصلاحيات لديك. تنشئ ملفاً واحداً لكل دور وظيفي، تملأ جداوله مرة واحدة، ثم تسنده إلى كل مستخدم يقوم بهذا الدور. هذه الصفحة تستعرض شاشة ملف الصلاحيات صفحة صفحة.
المسار: إدارة النظام > الصلاحيات > ملف الصلاحيات (Administration > Security > Security Profile)

صلاحيات كاملة (Full Authority)
أقوى علامة في النظام كله. عند تفعيل صلاحيات كاملة يمنح الملف كل شيء: كل الأنواع، كل الصلاحيات، كل الحقول، كل الصفحات، كل شاشات العرض. وتُتجاهل بقية جداول الصلاحيات تماماً.
لن تجد خانة صلاحيات كاملة في شاشة ملف الصلاحيات؛ فهي مخفية عن قصد حتى لا يمنحها أحد بتأشير الخانة الخطأ. وملف الصلاحيات المدمج default يحملها أصلاً. فإن احتاجها ملف آخر فعلاً، أظهر الحقل أولاً بـ«تعديل شاشة» كما في حقول مخفية عن قصد.
بعض القواعد التي يفرضها النظام حولها:
- ملف الصلاحيات المدمج default يجب أن تبقى علامة الصلاحيات الكاملة مفعلة فيه — فهو ملف المستخدم
admin. - الملف بدون صلاحيات كاملة يجب أن يحتوي على سطر صلاحيات أساسية واحد على الأقل، وإلا فهو لا يمنح شيئاً ويرفضه النظام عند الحفظ.
- ملف الصلاحيات الكاملة لا يمكن أن يحتوي على سطور صلاحيات مطالعة قوائم — فهما متناقضان.
TIP
حتى مع ملف صلاحيات كاملة، يمكن تضييق رؤية السجلات عبر المحددات على سجل المستخدم ومحددات الدخول — راجع الصلاحيات على مستوى السجلات.
الصلاحيات الأساسية (Standard Security Lines)
هذا الجدول في الصفحة الرئيسية هو قلب ملف الصلاحيات: سطر لكل نوع كيان (أو مجموعة أنواع) يصف ما يستطيع الدور فعله به.
تحديد نطاق السطر
كل سطر يبدأ بسؤال "أي أنواع يحكم هذا السطر؟":
- النوع — نوع كيان واحد، مثل فاتورة مبيعات.
- قائمة الأنواع — سجل قائمة أنواع (EntityType List) يجمع عدة أنواع.
- كلاهما فارغ — سطر عام (Wildcard) يطابق أي نوع لم يغطه سطر أكثر تحديداً.
عند فحص صلاحية، السطر الذي يسمي النوع بعينه يتقدم دائماً على سطر قائمة الأنواع، الذي يتقدم بدوره على السطر العام. والسطور المكررة لنفس النطاق تُرفض عند الحفظ.
ولست مضطراً لإضافة السطور واحداً واحداً: حقلا نسخ الأنواع من قائمة (Copy Entities From Menu) ونسخ من مجموعة (Copy Entities From Group) في رأس الشاشة مع زري إضافة الأنواع الموجودة بالمجموعة / Add From Menu Definition يولّدون سطوراً لكل الأنواع التي تظهر في قائمة أو مجموعة قوائم — طريقة سريعة لتأسيس دور انطلاقاً من القائمة التي سيستخدمها فعلاً.
صلاحيات المطالعة
| العمود | المعنى |
|---|---|
| كل الصلاحيات (Full) | يمنح كل الصلاحيات على أنواع هذا السطر — "صلاحيات كاملة" على مستوى السطر. |
| مطالعة السجل (Record View) | فتح السجل وقراءة تفاصيله. |
| مطالعة القوائم (List View) | مشاهدة شاشات القوائم الخاصة بالنوع. |
| العرض بالبحث (Search View) | ظهور سجلات النوع في نتائج البحث في الحقول المرجعية. منح مطالعة القوائم يتضمن البحث. |
| اقل عدد حروف للبدأ بالبحث (Min Search Query Length) | يجب أن يكتب المستخدم هذا العدد من الحروف على الأقل قبل أن يعيد البحث نتائج — مفيد للملفات الضخمة كالأصناف والعملاء. |
| مطالعة السجلات التي أنشأها فقط (View Only Created Records) | لا يرى المستخدم إلا السجلات التي أنشأها بنفسه. راجع الصلاحيات على مستوى السجلات. |
| السماح بمطالعة سجلات الآخرين عند البحث (Allow View Other Records At Search) | تلطيف للعلامة السابقة: سجلات الآخرين تظهر في نتائج البحث المرجعي رغم أن شاشاتها ممنوعة عليه. |
الإضافة والتعديل والحذف
| العمود | المعنى |
|---|---|
| الإضافة والتعديل (Can Edit) | مستوى وليس مجرد علامة: Disabled (لا كتابة إطلاقاً) ← Save Draft (مسودات فقط) ← Commit (إنشاء وحفظ، لكن السجل المحفوظ يُقفل) ← Edit After Commit (تعديل كامل حتى بعد الحفظ). |
| تعديل السجلات التي أنشأها فقط (Edit Only Created Records) | يعدّل فقط ما أنشأه بنفسه. يتطلب مستوى Edit After Commit. |
| الحذف (Can Delete) | حذف السجلات. |
| حذف السجلات التي أنشأها (Delete Only Created Records) | يحذف فقط ما أنشأه بنفسه. يتطلب صلاحية الحذف. |
| حذف المسودات (Draft Deletion Capability) | تحكم مستقل في حذف المسودات: Yes أو No أو Same As Delete (نفس صلاحية الحذف). |
| حذف المسودات التي أنشأها فقط (Delete Only Created Drafts) | يحذف فقط المسودات التي أنشأها. |
| منع حفظ مسودة (Prevent Save Draft) | تعطيل آلية المسودات كلياً لهذا النوع. |
| منع التعديل بعد الطباعة (Prevent Edit After Print) | بعد طباعة السجل لا يمكن تعديله. |
| منع الحذف بعد الطباعة (Prevent Delete After Print) | بعد طباعة السجل لا يمكن حذفه. |
| منع التعديل بعد الموافقة (Prevent Edit After Approval) | بعد اكتمال موافقة السجل لا يمكن تعديله. |
| منع الحذف بعد الموافقة (Prevent Delete After Approval) | بعد اكتمال موافقة السجل لا يمكن حذفه. |
الأعمدة الأربعة مستقلة: تأشير عمود منع التعديل… لا يمنع الحذف، فأشّر عمود منع الحذف… المقابل أيضاً إن أردت قفل السجل تماماً. وفي سطور شاشة المستخدم نفسها لا يظهر إلا عمودا منع التعديل…. | منع التعديل أثناء الموافقة (Prevent Modify While Under Approval) | منع التعديل ما دامت هناك حالة موافقة جارية (راجع نظام الموافقات). |
الطباعة
| العمود | المعنى |
|---|---|
| الطباعة (Can Print) | Disabled أو One (يُطبع السجل مرة واحدة) أو More Than One. |
| أقصى عدد مرات طباعة (Max Print Count) | سقف رقمي لعدد مرات طباعة نفس السجل. |
| منع طباعة المسودات (Do Not Allow Print Drafts) | المسودات لا تُطبع. |
بدمج هذه الأعمدة مع منع التعديل بعد الطباعة ومنع الحذف بعد الطباعة تحصل على سياسة محكمة "الطباعة = نهائي" لمستندات مثل الفواتير الرسمية.
المراجعة (Revision)
المستندات في نما يمكن أن تُراجع — أي تُختم كمراجَعة على أحد خمسة مستويات (L1–L5):
| العمود | المعنى |
|---|---|
| مراجعة (Can Revise) | يستطيع المستخدم ختم المستندات كمراجَعة. |
| مستويات المراجعة (Revise Levels) | المستويات المسموح له بختمها، تُكتب قائمةً مفصولة بفواصل — 1,2. واتركه فارغاً للسماح بكل المستويات. |
| إلغاء المراجعة / مستويات إلغاء المراجعة (Can UnRevise / UnRevise Levels) | نفس الثنائية لإزالة ختم المراجعة. |
الشرطة فاصل لا مدى
1-3 لا تعني المستويات من 1 إلى 3 — بل تُقرأ مستويين اثنين هما 1 و3، ويُرفض الختم على المستوى 2. فاكتب كل مستوى تريد السماح به: 1,2,3. وتجد المستويات نفسها في المراجعة وإلغاء المراجعة.
نقل البيانات ومتفرقات
| العمود | المعنى |
|---|---|
| نسخة مماثلة (Can Duplicate) | إنشاء نسخة مماثلة من سجل موجود (مفعلة افتراضياً). |
| نسخ من / نسخ إلى (Copy From / Copy To) | السماح بأن يكون النوع مصدراً / هدفاً لميزة "النسخ من كيان آخر". |
| استيراد / تصدير (Can Import / Can Export) | استيراد وتصدير سجلات النوع عبر إكسل. |
| المطالعة من المستند المصدر (Can View With From Doc) | فتح السجل من مراجع "من مستند" في الشاشات الأخرى. |
| منع مطالعة القيود النظامية (Prevent View System Transaction) | إخفاء الآثار النظامية للسجل (القيود والحركات المخزنية). |
| منع قائمة المزيد (Prevent View More Menu) | إخفاء قائمة "المزيد" على شاشات النوع. |
| تغيير الصلاحية (Can Change Capability) | السماح بإسناد/تغيير صلاحية على مستوى السجل الواحد (راجع الصلاحيات على مستوى السجلات). |
| عرض السجلات الممنوعة من الاستعمال (Display Prevent-Usage Records) | هل تظهر السجلات الموسومة "ممنوع من الاستعمال" لهذا الدور: Display أو Hide أو Same As Config (حسب الإعدادات العامة). |
| تعديل/حذف مستندات في ورديات مغلقة (Can Edit/Delete Docs In Closed Shifts) | خاص بنقاط البيع: السماح بالتعامل مع مستندات تابعة لوردية نقدية أُغلقت. |
السماح/المنع في القوائم
في الصفحة الرئيسية أيضاً، جدول السماح/المنع في القوائم يتحكم في عناصر القوائم التي يراها الدور. كل سطر يستهدف إما نوعاً / قائمة أنواع، أو كود عنصر قائمة / كود مجموعة — وليس الاثنين معاً. هذه أنظف طريقة لتقليص قائمة التنقل لكل دور دون إعادة تعريف القوائم؛ والأكواد التي يعمل عليها هي نفسها الموصوفة في كيف تُبنى القائمة، وتعديل القائمة يتناول البديل حين يكون الشكل نفسه هو ما ينبغي أن يختلف.
وما تفعله هذه السطور هو تحديد ما يظهر في القائمة، لا أكثر. فهي ليست صلاحيات: من يملك صلاحية فتح شاشة يظل قادراً على الوصول إليها بطرق أخرى وإن أُخفيت وصلتها من القائمة. ولمنع مستخدم من استعمال شاشة أصلاً، اسحب الصلاحية نفسها.
صفحة إعدادات الحقول
إخفاء حقول بعينها أو منع تعديلها لكل نوع. مشروحة بالتفصيل في صلاحيات الحقول والصفحات والقوائم.

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

صفحة صلاحيات مطالعة القوائم
السماح بشاشات عرض معينة أو منعها — بما فيها البلوكات التي يضيفها عرض القائمة المخصصة إلى شاشات أخرى. والقواعد مشروحة في صلاحيات الحقول والصفحات والقوائم.

صفحة الصلاحيات المخصصة
بعض الفحوصات في النظام ليست عمليات قياسية (إضافة/تعديل/حذف) — بل صلاحيات مسماة خاصة بميزات معينة، تُعرّف كسجلات نوع الصلاحيات (Capability Types) من إدارة النظام > الصلاحيات > نوع الصلاحيات.

طريقة العمل:
- عرّف سجل نوع صلاحيات (مثلاً "مطالعة التقارير النظامية"، أو صلاحية تُستخدم لوسم السجلات الحساسة).
- في الصلاحيات المخصصة على ملف الصلاحيات (أو المستخدم) أضف سطراً يمنح هذه الصلاحية، مع إمكانية حصره بنوع أو قائمة أنواع.
- حيثما يتحقق النظام — أو أي تخصيص — من هذه الصلاحية، يمر حاملوها فقط. وبخلاف الصلاحيات الأساسية لا يوجد منطق سطر عام هنا: إما أنك تحمل الصلاحية أو لا.
تحمل سطور الصلاحيات المخصصة أيضاً مدخلات اختيارية (مرجعان، تاريخان، نصان) يمكن لميزات بعينها تفسيرها — مثل مرجع لمركز تكلفة تسري عليه الصلاحية.
التقارير النظامية
علامة مطالعة التقارير النظامية (View System Reports) تمنح صلاحية مدمجة واحدة هي التقارير النظامية (كودها SYSTEMREPORTS). وهي تغطي أقل بكثير مما يوحي به اسمها؛ فالتقارير التي تشحنها «نما» مصنفة تحت مجموعات مثل System Reports - Accounting، ويحمل كل منها صلاحية مجموعته صلاحيةَ مطالعة. فلكي يشغّل مستخدم ليست صلاحياته كاملة تقارير الحسابات الجاهزة، أضف في قسم الصلاحيات المخصصة سطراً لصلاحية System Reports - Accounting، وكذلك لكل مجموعة أخرى يحتاجها. أما العلامة وحدها فلا تفتح إلا التقارير النظامية القليلة المصنفة بلا مجموعة. وهي غير ظاهرة في الشاشة افتراضياً — راجع حقول مخفية عن قصد.
أما من يحق له تشغيل تقرير بعينه — جدول صلاحياته، والنوع المطبق عليه الصلاحية، والصلاحية التي يحملها كل تقرير جاهز — فمشروح في قسم «من يحق له تشغيل التقرير» في دليل Jasper Reports الشامل.

صفحة Extra Filters
فلاتر على مستوى الصفوف تقيّد أي السجلات يراها الدور لكل نوع — بمطابقة حقل مع الذمة المتعلقة بالمستخدم، أو بتعبير معايير حر. ولأن هذا موضوع رؤية سجلات، فهو موثق في الصلاحيات على مستوى السجلات.
وتحمل الصفحة نفسها جدولاً ثانياً هو مرشحات إضافية عند البحث (تلغي المرشحات الإضافية العادية عند الانطباق)، يضع فلتراً مختلفاً للبحث داخل حقول مرجع بعينها ويحل محل الفلتر الإضافي العادي هناك — راجع مرشحات إضافية عند البحث.

صفحة صلاحيات الإجراءات
شاشات الأنواع تحمل إجراءات تتجاوز العمليات القياسية — أزرار توليد، أدوات إعادة احتساب، مسارات كيانات. كل سطر هنا يستهدف نوعاً (أو قائمة أنواع، أو سطراً عاماً) مع نوع الإجراء (Action ID) ونوع التحكم بقيمة enabled أو disabled.

منطق الحسم هنا معكوس عن الصلاحيات الأساسية:
- لا يوجد سطر مطابق ← الإجراء مسموح. فالإجراءات مفتوحة افتراضياً.
- السطر المطابق يسمح بالإجراء فقط إذا كان نوع التحكم فيه enabled — أي أن سطر disabled هو طريقة سحب إجراء من الدور.
- نوع الإجراء
*يعمل كرمز عام لكل إجراءات النوع المستهدف، والسطر الذي يسمي الإجراء صراحة يتقدم على سطر*.
لذا فالنمط الشائع: سطر بإجراء * وdisabled لنوع ما (إقفال كل شيء)، مع سطور enabled صريحة للإجراءات القليلة التي يحتاجها الدور.
خيارات رأس الشاشة في الصفحة الرئيسية
إلى جانب الجداول، يحمل رأس ملف الصلاحيات إعدادات افتراضية ومفاتيح تسري على كل مستخدم مسند إليه الملف (معظمها موجود أيضاً على سجل المستخدم حيث تتقدم قيمة المستخدم):
- الجلسات والدخول: أقصى عدد جلسات دخول متزامنة مع خيار تسجيل الخروج الآلي لأقدم جلسة، السماح بتسجيل الدخول من خلال التطبيقات فقط، وDo Not Use LDAP For Login.
- التقارير والطباعة: أقصى عدد تقارير يشغلها المستخدم في وقت واحد، منع المستخدم من تشغيل نفس التقرير مرتين في نفس الوقت، والسماح بطباعة PDF فقط للتقارير و/أو لنماذج الشاشة.
- السجلات الممنوعة من الاستعمال: السماح باستعمالها في الإدخال/التعديل، وعرضها أو إخفاؤها في البحث والقوائم.
- الإعدادات الافتراضية: القائمة الافتراضية، معرف شاشات العرض الافتراضي، اللوحة، الإيميل المستعمل مع نافذة الإرسال كإيميل، أقصى عدد سجلات في صفحة القوائم.
- متفرقات: عدم عرض رسائل المساعدة النظامية، عدم إظهار الأخطاء الحرجة، منع الوصول إلى خيوط البيع التي لم تخصص للموظف، استحضار وردية المستخدم آلياً، الوصول لقدرات الذكاء الاصطناعي، منع الوصول إلى المحادثات اللحظية، وأصوات التنبيهات.
حقول مخفية عن قصد
ستة حقول في ملف الصلاحيات مُبعدة عن الشاشة حتى لا يغيّرها أحد بتأشير الخانة الخطأ. وهي تعمل رغم ذلك: ملف الصلاحيات المدمج default يحمل الصلاحيات الكاملة، ومفاتيح إعادة المعالجة الأربعة مفعّلة في كل ملف جديد.
| الحقل | معرّف الحقل | في الملف الجديد | ما يتحكم فيه |
|---|---|---|---|
| صلاحيات كاملة (Full Authority) | fullAuthority | غير مفعّل (مفعّل في ملف default) | يمنح كل شيء — راجع صلاحيات كاملة. |
| مطالعة التقارير النظامية (View System Reports) | viewSystemReports | غير مفعّل | صلاحية التقارير النظامية العامة — راجع صفحة الصلاحيات المخصصة. |
| السماح بإعادة حفظ الملفات (Allow Record Recommiting) | allowRecommitRecord | مفعّل | إعادة حفظ سجل محفوظ. |
| السماح بإعادة إصدار التأثيرات المحاسبية (Allow ReGenerate Accounting Effects) | allowReGenAccountingEffects | مفعّل | إعادة إصدار التأثيرات المحاسبية للسجل. |
| السماح بإعادة إصدار التأثيرات المخزنية (Allow ReGenerate Inventory Effects) | allowReGenInventoryEffects | مفعّل | إعادة إصدار التأثيرات المخزنية للسجل. |
| السماح بمزامنة الملفات (Allow ReReplicate Record) | allowReReplicateRecord | مفعّل | إرسال السجل إلى المواقع الأخرى من جديد (Replication). |
والملف الذي يحمل الصلاحيات الكاملة يجتاز فحوص إعادة المعالجة الأربعة أياً كانت قيمها.
فإذا احتاج دورٌ تغيير أحدها — كسحب إعادة الحفظ من المستخدمين العاديين مثلاً — أظهر الحقل أولاً:
- افتح إدارة النظام ← تخصيص شكل النظام ← تعديل شاشة وأنشئ سجلاً يكون فيه مطبق على = نوع وللنوع = ملف الصلاحيات.
- أضف معرّفات الحقول التي تحتاجها إلى مجموعة من حقول الرأس، عبر تعديل حقول المجموعات أو مجموعة جديدة في إضافة مجموعة — راجع مجموعات حقول الرأس.
- أشّر تفعيل، واحفظ، ثم شغّل Regenerate GUI For Applicable Types Only (راجع كيف تجعل تغييراتك تظهر).
- افتح ملف الصلاحيات من جديد، واضبط الحقل واحفظ.
ويلتقط المستخدمون التغيير عند دخولهم التالي.
صفحة المستخدمين
آخر صفحة هي للعرض فقط: قائمة بكل المستخدمين المسند إليهم هذا الملف حالياً، لترى فوراً نطاق تأثير أي تغيير قبل حفظه.
التغييرات تسري عند الدخول التالي
بيانات الصلاحيات تُحمّل مع الجلسة. عادةً يلتقط المستخدمون تغييرات ملف الصلاحيات عند تسجيل دخولهم التالي — ضع ذلك في الحسبان أثناء الاختبار.
رسائل قد تظهر لك
رسالة منع الصلاحية تسمّي دائماً ما فحصته، وهذا يدلّك على الجدول الذي تفتحه.
| الرسالة | ما الإعداد الذي منعها | ما تفعله |
|---|---|---|
| «لا توجد لديك الصلاحية {1} على النوع {0}» | سطور الصلاحيات الأساسية. فـ{1} هي الصلاحية نفسها — إضافة أو تعديل أو حذف أو مطالعة أو اعتماد أو مراجعة وغيرها — و{0} هو نوع الكيان. | ابحث عن السطر الذي يغطي ذلك النوع وأشّر تلك الصلاحية. وإن تطابق أكثر من سطر فالأخص هو الفائز، وهذا هو الفخّ المشروح في الأسئلة الشائعة للإدارة. |
| «المستخدم {0} ليس لديه الصلاحية {1} للنوع {2}» | صفحة الصلاحيات المخصصة لا الجدول الأساسي. فالصلاحية المذكورة واحدة من إجراءات الشاشات، ولذلك لا يفيد تأشير «تعديل». | أضف الصلاحية لذلك النوع في صفحة الصلاحيات المخصصة. |
| «السمتخدم {0} يتبع المستوي {1} و هو غير مسموح له بحفظ السجلات من النوع {2}» | ليس أيّ الجدولين — هذا مستوى المستخدم، وهو آتٍ من الرخصة ويُفحص قبل أي سطر في ملف الصلاحيات. ولا يستطيع ملف الصلاحيات تجاوزه. | راجع المستخدمون وتسجيل الدخول. ونقل المستخدم إلى مستوى يشمل النوع هو الطريق الوحيد، والمستويات المتاحة هي ما تعرّفه رخصتك. |
| «المستخدم الحالي لا يستطيع إعادة حفظ الملفات برجاء مراجعة إختيارات ملف الصلاحيات» | مفتاح السماح بإعادة حفظ الملفات — أحد مفاتيح إعادة المعالجة الأربعة المفعّلة افتراضياً لكنها مخفية عن الشاشة. وقد أُطفئ لهذا الدور. | دع من يحمل ملفه هذا المفتاح ينفّذ إعادة الحفظ، أو أظهر الحقل من جديد وأشّره. |
| «المستخدم الحالي لا يستطيع إعادة مزامنة الملفات برجاء مراجعة إختيارات ملف الصلاحيات» | مفتاح السماح بمزامنة الملفات، المخفي بالطريقة نفسها. | كما سبق. |
| «لا يمكن حذف {0} لأن المستخدم الحالى لا يملك صلاحية حذف المسودات» | حذف المسودة صلاحية مستقلة عن الحذف، ومنح الحذف لا يمنحها. | أشّر صلاحية حذف المسودات على سطر ذلك النوع. |
| «لا يمكن حذف {0} لأن المستخدم الحالى ليس هو منشئ المستند» · «لا يمكنك حذف السجل {0} حيث أنك لست منشئ السجل» · «لا يمكنك تعديل السجل {0} حيث أنك لست منشئ السجل» | الصلاحية ممنوحة، لكن على سجلات المستخدم التي أنشأها هو فقط — راجع الصلاحيات على مستوى السجلات. | وسّع السطر ليتجاوز «ما أنشأه فقط»، أو أضف المستخدم إلى جدول اعتبار المستخدمين منشئين للمنشئ الحقيقي. |
وتذكّر أن تغيير ملف الصلاحيات لا يُلتقط إلا في الدخول التالي، فمن مُنح صلاحية الآن سيظل يرى الرفض نفسه حتى يسجّل دخوله من جديد.