# إعداد الإجراءات المحمية

_الإدارة › الإعدادات_

![إعداد الإجراءات المحمية](https://atloriaassets.blob.core.windows.net/assets/a438221c-c1af-407c-b9e6-a56c986db846/f7880229-58ba-4ee3-8e47-93c2e32e6b0c.png)
*الإجراءات المحمية — الإعدادات › المستخدمون والشركات › الإجراءات المحمية*

## نظرة عامة

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

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

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

## الخطوات

1. **افتح صفحة الإجراءات المحمية.**  
     
   ستظهر لك قائمة الإجراءات المسجلة، مع أعمدة مثل **Label** و**Code** و**Active** و**Granted to roles**.

2. **راجع الإجراء الذي تريد ضبطه.**  
   افحص **Label** للاسم المعروض في منتقي الأدوار، و**Code** للتأكد من أنه يطابق الصيغة العامة `\<module>.\<model>.\<short_action>`، ثم راقب **Active** لمعرفة ما إذا كان الإجراء ما يزال مستخدمًا.

3. **تحقق من تفاصيل الربط الفني.**  
   استخدم **Model Name** و**Method Name** للتأكد من أن الإجراء مرتبط بالنموذج والطريقة الصحيحين، خصوصًا بعد إعادة الهيكلة أو تغيير الاسم في الكود.

4. **راجع الوصف والفئة.**  
   انظر إلى **Category** لتجميع الإجراء داخل واجهة منتقي الأدوار، ومرّر فوق **Description** عند الحاجة لفهم المساعدة الطويلة التي تظهر كتلميح.

5. **تأكد من الأدوار الممنوحة.**  
   راجع **Granted to roles** لمعرفة الأدوار التي تشمل هذا الإجراء ضمن **allowed_action_ids**؛ هذه القيمة معلوماتية هنا، بينما يكون التعديل الفعلي من جهة الدور.

6. **احذف السجل عند عدم الحاجة إليه.**  
   استخدم **إزالة** عندما لم يعد هذا الإجراء مطلوبًا في القائمة، مثلًا إذا أُزيلت الدالة من الوحدة أو أُعيدت تسميتها ولم يعد السجل صالحًا.  

## نصائح

> **نصيحة:** إذا كنت تعيد تسمية إجراء في الكود، فحدّث **Code** و**Method Name** بما يطابق التسمية الجديدة حتى يبقى الربط واضحًا في منتقي الأدوار.

> **ملاحظة:** اجعل **Active** غير فعّال فقط عندما لم تعد أداة الزخرفة `@sherkety_guarded` مسجلة؛ هذا يساعدك على تمييز الإجراء القديم من الإجراء الجاري استخدامه.

## الخطوات التالية والأسئلة الشائعة

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

**س: ما الفرق بين **Label** و**Code**؟**  
ج: **Label** هو الاسم المقروء الذي يراه المستخدم في منتقي الأدوار، بينما **Code** هو المعرف الفريد الذي يستخدمه النظام مع `@sherkety_guarded`.

**س: هل يمكنني تعديل **Granted to roles** من هذه الصفحة؟**  
ج: لا، هذه الجهة معلوماتية فقط؛ التعديل يكون من صفحة الدور حيث توجد القائمة القابلة للتحرير.

**س: متى أستخدم **إزالة**؟**  
ج: استخدمه عندما لا يعود السجل صالحًا، مثلًا بعد حذف الوحدة أو تغيير بنية الكود بحيث لم يعد هذا الإجراء موجودًا.

## روابط ذات صلة

- [إعداد مصفوفة الصلاحيات](doc:account-permission-rule)
- [إعداد الشركات](doc:res-company)
- [الإعدادات — مسار التعلم](doc:workflows-sherkety-admin)
- [إعداد الأدوار](doc:sherkety-role)
- [إعداد المستخدمون](doc:res-users)
- [إعداد مجموعات العملاء](doc:sherkety-partner-group)
- [إعداد مجموعات الشركات](doc:sherkety-company-group)
- [إعداد Books](doc:account-book)
