في هذا المقال سنتحدث عن صلاحيات erp.
read_time: 8–10 minutes
تمهيد: لماذا نموذج صلاحيات قوي مهم في ERP؟
في الشركات الصغيرة والمتوسطة في السعودية والخليج ومصر، يصبح نظام ERP هو «قلب» بيانات الشركة: فواتير، مخزون، رواتب، حسابات بنكية، تقارير أداء. إذا لم يكن هناك **نموذج صلاحيات (RBAC)** واضح، يمكن لأي خطأ أو إساءة استخدام أن يؤدي إلى:
– تعديل غير مصرح به في فواتير أو قيود.
– تسريب بيانات حساسة عن العملاء أو الموردين أو الرواتب.
– صعوبة في إثبات «من قام بماذا» عند حدوث مشكلة.
Yaomy ERP يعتمد نموذج **Role-Based Access Control (RBAC)** مصمم خصيصاً لبيئة الخليج ومصر، بحيث يمكّن مدير الموارد البشرية ومدير التقنية والإدارة العليا من:
– تحديد من يرى أو يعدّل أو يحذف كل جزء من أجزاء النظام.
– ربط المستخدمين بالأدوار والصلاحيات بشكل مرن.
– تقييد الوصول حسب الفروع والمستودعات.
هذا لا يحمي البيانات فقط، بل يسهل أيضاً تطبيق مبدأ **الفصل بين المهام (Segregation of Duties)** الذي يطلبه المراجعون والجهات التنظيمية.
H2 الأدوار والصلاحيات في Yaomy ERP
أساس نموذج صلاحيات erp في Yaomy هو الفصل بين:
– **Role (الدور)**: لقب وظيفي أو مسؤولية (مثل مدير مالي، محاسب، كاشير، مدير فرع، مسؤول مخزون).
– **Permission (الصلاحية)**: إجراء محدد يسمح للمستخدم بعمل شيء معين في النظام (مثل `purchase_orders.view`، `purchase_invoices.create`، `shifts.open_close`، `tills.settle`).
النموذج يعمل كالتالي:
– يتم تعريف مجموعة من **الصلاحيات** الدقيقة في النظام، موزعة على مجموعات منطقية (PermissionGroupLabels) مثل: المشتريات، المبيعات، المخزون، الخزائن والبنوك، المحاسبة، الموارد البشرية، الإعدادات.
– يتم إنشاء **أدوار (Roles)** تمثل الوظائف الحقيقية في الشركات الخليجية والمصرية، مثل:
– مدير عام.
– مدير مالي.
– محاسب.
– كاشير نقطة بيع.
– مدير فرع.
– مسؤول مخزون.
– كل دور يرتبط بمجموعة من الصلاحيات التي تعكس ما يجب أن يقوم به صاحب هذا الدور يومياً.
عند تسجيل الدخول، يستخدم Middleware مثل `CheckPermission` للتأكد في كل طلب (Route) أن المستخدم المسجّل يملك الصلاحية المناسبة قبل السماح بتنفيذ العملية، سواء عبر الواجهة أو عبر الـ API.
H2 الأدوار الافتراضية والبذور (Seeders) في Yaomy
لأن Yaomy ERP يستهدف في الأساس الشركات الصغيرة والمتوسطة في الخليج ومصر، فقد تم تضمين مجموعة من **الأدوار الافتراضية** وصلاحياتها عبر Seeder مثل `CompanyDefaultPermissionsAndRolesSeeder`. هذه الأدوار قد تشمل مثلاً:
– دور المدير (Owner / Admin) بصلاحيات واسعة.
– دور المدير المالي (Finance Manager).
– دور المحاسب.
– دور مشرف المبيعات.
– دور الكاشير.
– دور مسؤول المخزون.
هذه الأدوار تُنشأ تلقائياً عند إعداد الشركة الجديدة، ويمكن تعديلها من خلال واجهة إدارة الأدوار (`RoleController`). هذا يختصر وقت الإعداد، ويساعد الشركات التي لا تملك فريقاً تقنياً كبيراً على البدء بسرعة وفق أفضل الممارسات، مع إمكانية التخصيص لاحقاً.
H2 المجموعات (Groups) وربط المستخدمين
إلى جانب الأدوار الفردية، يتيح Yaomy ERP مفهوم **المجموعات (Groups)** التي:
– تجمع عدداً من المستخدمين تحت تصنيف واحد (مثل «فريق مبيعات الرياض»، «فريق محاسبة القاهرة»).
– يمكن استخدامها لأغراض تنظيمية أو لتطبيق صلاحيات أو إعدادات بشكل جماعي.
رغم أن الصلاحيات الأساسية تُمنح عادة عبر الأدوار، إلا أن وجود مجموعات يسمح بإدارة المستخدمين بشكل أكثر مرونة، مثل:
– إرسال إشعارات لفريق محدد.
– تخصيص تقارير أو لوحات تحكم لمجموعة بعينها.
واجهة التعيين (AssignmentController) تسهّل ربط المستخدمين:
– بأدوارهم.
– بفروعهم.
– بالمستودعات أو الكيانات الأخرى ذات الصلة.
H2 الربط بالفرع (Branch Scope) والتحكم في نطاق البيانات
واحدة من نقاط القوة في Yaomy ERP هي دعمه للشركات **متعددة الفروع** في السعودية والخليج ومصر. لتحقيق ذلك، يتم استخدام:
– حقل `branch_id` في معظم الجداول التي تمثل بيانات عمل (فواتير، مستندات مخزون، سندات، إلخ).
– نموذج لخدمة النطاق (BranchScopeService) مع مكونات مثل `SetCurrentBranch` و`EnsureTenantConnection` لضمان أن العمليات تتم في سياق الفرع الصحيح.
من ناحية الصلاحيات:
– يمكن تقييد المستخدم بفروع معينة (قائمة `branch_ids` مسموح بها).
– عندها يرى المستخدم ويعدل فقط البيانات التي تخص هذه الفروع.
مثلاً:
– مدير فرع الرياض لا يرى ولا يعدل بيانات فرع جدة.
– مدير المبيعات الإقليمي قد يرى فروعاً متعددة في منطقة معينة.
بهذا، يصبح نموذج صلاحيات erp في Yaomy أداة لحماية البيانات، وأيضاً أداة لتنظيم العمل بين الفروع دون الحاجة لإنشاء شركات منفصلة لكل فرع.
H2 التحقق في الواجهة والـ API والسياسات (Policies)
لا يكتفي Yaomy ERP بالتحكم في الوصول على مستوى الـ Backend فقط، بل يطبّق نموذج الصلاحيات في أكثر من طبقة:
– **في الواجهة (UI)**:
– يتم إخفاء أو تعطيل القوائم والأزرار التي لا يملك المستخدم صلاحية للوصول إليها، عبر مكونات مثل `MenuManager` و`MenuPermissionChecker`.
– هذا يقلل الارتباك للمستخدمين، ويمنعهم من محاولة تنفيذ أفعال لا يحق لهم القيام بها.
– **في الـ API**:
– يحمي Middleware مثل `CheckPermission` كل Route بحيث لا يمكن استدعاؤه برمجياً بدون الصلاحية المناسبة، وإلا يعود الخطأ 403 (Forbidden).
– **في السياسات (Policies)**:
– تستخدم سياسات مثل `TillPolicy`, `ShiftPolicy`, `JournalEntryPolicy` للتحكم في عمليات دقيقة، مثل:
– من يحق له إغلاق شفت مالي.
– من يحق له حذف قيد محاسبي.
– من يحق له تسوية خزنة أو فتح Till جديد.
هذا التصميم الطبقي يضمن أن نموذج صلاحيات erp ليس تجميلاً سطحياً، بل عنصر أمان حقيقي في Yaomy ERP.
H2 سيناريوهات عملية لنموذج الصلاحيات في الخليج ومصر
بعض الأمثلة الواقعية لكيفية استخدام RBAC في Yaomy ERP:
– **سلسلة متاجر في السعودية**:
– لكل فرع فريق مبيعات وكاشيرون، مع مدير فرع.
– يتم منح الكاشير صلاحية استخدام شاشة POS فقط، بدون الدخول لوحدة المحاسبة أو تعديل الأسعار الأساسية.
– مدير الفرع يملك صلاحية الاطلاع على تقارير فرعه، وليس تقارير الفروع الأخرى.
– الإدارة المركزية ترى كل الفروع وتدير الحسابات الافتراضية والتقارير المجمعة.
– **شركة خدمات في القاهرة**:
– فريق المبيعات له صلاحيات لإنشاء عروض أسعار وفواتير مسودات.
– فريق المحاسبة فقط هو من يمكنه ترحيل الفواتير والتعامل مع القيود البنكية.
– فريق الموارد البشرية له صلاحيات إدارة المستخدمين والأدوار دون الاقتراب من تفاصيل الحسابات البنكية أو القيود المحاسبية.
بهذه الطريقة، يساعد Yaomy ERP الشركات على تطبيق سياسات **الفصل بين المهام** وتقليل مخاطر الاحتيال أو الأخطاء غير المقصودة.
H2 ملخص سريع
باختصار، يقدم Yaomy ERP نموذج **صلاحيات erp** متكامل قائم على:
– الأدوار (Roles) التي تجمع الصلاحيات حسب الوظيفة.
– الصلاحيات (Permissions) الدقيقة المرتبطة بالعمليات اليومية.
– المجموعات (Groups) لتجميع المستخدمين تنظيمياً.
– الربط بالفروع (Branch Scope) للتحكم في نطاق البيانات.
– طبقات تحقق في الواجهة والـ API والسياسات.
هذا النموذج يمنح الشركات في السعودية والخليج ومصر القدرة على التحكم في من يرى وماذا يفعل داخل النظام، مع الحفاظ على سهولة الإدارة اليومية.
H2 أسئلة شائعة حول RBAC في Yaomy ERP
هل يمكن لمستخدم امتلاك أكثر من دور؟
يمكن تكوين النظام بحيث يسمح بارتباط المستخدم بدور واحد رئيسي أو بعدة أدوار عند الحاجة، مع تجميع الصلاحيات الناتجة. المهم أن يتم ذلك وفق سياسة واضحة حتى لا تتعارض الصلاحيات أو تتسرب مهام حساسة لمستخدمين غير معنيين.
كيف نتعامل مع تغيّر دور موظف داخل الشركة؟
يمكن من خلال واجهة إدارة المستخدمين تعديل دور الموظف أو نقله إلى مجموعة أخرى، مع تسجيل هذا التغيير في **سجل الأنشطة (Activity Log)**. يُنصح بمراجعة الصلاحيات بعد كل تغيير وظيفي للتأكد من اتساقها مع المهام الجديدة.
هل يدعم النظام إعداد صلاحيات مؤقتة؟
يمكن تصميم أدوار مؤقتة أو استخدام مجموعات خاصة بمهام مؤقتة (مثل مشاريع معينة)، ثم إزالة المستخدم من هذه المجموعات بعد انتهاء المهمة، مع بقاء صلاحياته الأساسية ثابتة.
H2 دعوة للعمل (CTA)
إذا كنت مسؤول موارد بشرية أو تقنية أو مديراً عاماً في شركة سعودية أو خليجية أو مصرية وتبحث عن **نظام صلاحيات erp** يوازن بين الأمان والمرونة، فإن Yaomy ERP يقدّم لك نموذج RBAC عملياً ومتكاملاً.
ابدأ بتجربة النظام، واستعرض واجهات إدارة الأدوار والصلاحيات والفروع، وجرب إعداد أدوار لفريق المبيعات والمحاسبة والمخزون، ولاحظ كيف ينعكس ذلك على وضوح العمل اليومي وتقليل المخاطر.
يومي نظام متكامل قابل للتخصيص لهذا السبب يناسب مجالك أياً كان
يومي ERP يتميز بمرونته وقابليته للتخصيص، لذلك يجعله مناسباً لإدارة الأعمال في مختلف المجالات. يمكنك تعديل التطبيقات والوظائف لتتوافق مع احتياجات شركتك، سواء كانت تشمل إدارة المخزون، إصدار الفواتير، أو تتبع العملاء. يتيح النظام كذلك دمج التطبيقات بسلاسة ويوفر تجربة استخدام متكاملة وأمناً كاملاً للبيانات. بغض النظر عن مجال عملك، يوفر يومي ERP الحلول الشاملة لتحقيق النجاح والنمو في السوق المتغيرة.
H2 اقتراحات الربط الداخلي
• وحدة الموارد البشرية والصلاحيات في يومي ERP
• أمان البيانات والصلاحيات في يومي ERP
• إدارة الفروع والشركات المتعددة في يومي ERP
• سجل الأنشطة والتدقيق (Activity Log) في يومي
• وحدة المحاسبة في Yaomy ERP
• وحدة المبيعات والمشتريات في Yaomy ERP
• يومي ERP — نظام تخطيط موارد مؤسسي عربي متكامل
• طلب تجربة مجانية ليومي ERP
