الصلاحيات ومسارات الاعتماد في Odoo
في معظم مشاريع Odoo لا يكون سبب الأزمة أن النظام عاجز عن منع الفعل، بل أن أحدًا لم يكتب القاعدة التي تحدد من يملك الفعل ومن يعتمده. والصلاحيات قرار إداري يُترجم إلى مجموعات وقواعد سجلات وقيود على الحقول، لا لوحة تُضبط في الأسبوع الأخير. وفي ما يلي كيف يعمل الأمان في Odoo.
ثلاث طبقات للأمان، ومنح القائمة ليس منح الحق
الأمان في Odoo ثلاث طبقات تتقاطع، ولا يمرّ الفعل إلا إذا سمحت به جميعًا:
- مجموعة المستخدم وصلاحيات الوصول: تمنح المجموعة قدرة على قراءة نوع مستند أو إنشائه أو تعديله أو حذفه، وتُمنح عبر المجموعات لا باسم المستخدم.
- قاعدة السجل: تُضيّق الصفوف التي يراها المستخدم داخل النوع نفسه، مثل مستنداته فقط أو مستندات شركته فقط.
- تقييد الحقل: يمنع قراءة حقل بعينه أو تعديله داخل سجل يملك المستخدم حق الوصول إليه، مثل حقل التكلفة أو بيانات الراتب في وحدة الأفراد.
والصلاحية الفعلية تقاطع الطبقات: قد يملك المستخدم حق تعديل فاتورة المورّد، لكن قاعدة السجل تحصر رؤيته في فواتير شركته، وتقييد الحقل يمنعه من تغيير التكلفة.
ومنح القائمة ليس منح الحق: القائمة وسيلة تنقل لا سياج أمني، ويمكن الوصول إلى النموذج من رابط مباشر أو تقرير أو استيراد أو واجهة برمجية. فيُبنى المنع على الصلاحيات وقواعد السجلات ويبقى إخفاء الزر تجميلًا، والحقل المخفي في العرض يبقى مقروءًا في التصدير إن لم يُقيَّد. والسؤال الصحيح ليس هل يظهر الزر، بل هل يستطيع المستخدم تنفيذ الفعل بأي طريق.
الشركات المتعددة والخطأ الشائع
في بيئة متعددة الشركات يحمل كل سجل حقل الشركة، وقواعد السجلات وحدها تحصر الرؤية في الشركات المسموح بها. والخطأ الشائع أن تُمنح الصلاحية على كل الشركات عند الإعداد لأنه أسهل، فتختلط قيود اليومية والفواتير وحركات المخزون بين الكيانات.
والقرار يُتخذ لكل دور: أي شركات يرى، وأي شركة ينشئ فيها، وهل يحتاج تبديل الشركة. والقراءة المجمّعة تُبنى عبر الشركة الأم أو تقارير محددة، لا بفتح كل الشركات للجميع.
مصفوفة القرار: الدور مقابل الفعل
قبل لمس شاشة الإعداد اكتب مصفوفة تربط الدور بالفعل، فتصبح التهيئة ترجمة لا اجتهادًا:
- اكتب الأدوار كما في الهيكل التنظيمي لا كأسماء موظفين، حتى لا تنكسر عند أي نقل أو إجازة.
- اكتب لكل دور الأفعال المسموحة على كل نوع مستند: يقرأ، ينشئ، يعدّل، يحذف، يعتمد.
- حدّد نطاق الصفوف لكل فعل: كل المستندات، أو مستندات شركته، أو مستنداته فقط.
- حدّد الحقول الحساسة الممنوعة على الدور ولو ملك السجل، واكتبها صراحةً.
- حوّلها إلى مجموعات وقواعد سجلات بأسماء تُفهم عند المراجعة لا برموز.
- راجعها مع مسؤول العمل واعتمدها كتابةً، فالصلاحية التي لا يعرفها صاحب القرار خطأ غير مرئي.
الاعتماد المزدوج وطبقات الاعتماد
الاعتماد في Odoo حالة على المستند يقودها المستخدم، ومجموعة تحدد من يملك نقل المستند إليها. ويظهر الاعتماد المزدوج أو المتدرّج حيث تفصل المنشأة بين التسجيل والاعتماد: طلبات الشراء فوق حد معيّن تمرّ على معتمد إضافي، وتقارير المصروفات تمرّ على المدير ثم مسؤول معتمد، والخصومات الاستثنائية تحتاج موافقة مشرف، وقيود اليومية لا تُرحَّل إلا من مجموعة محاسبية محددة كما في إعدادات المحاسبة.
وموضع الضبط يختلف: حدود الاعتماد تُدار من إعدادات المشتريات والمصروفات، وحق ترحيل القيد من صلاحية الوصول إلى إجراء الترحيل، وحالة المستند هي ما يقرأه النظام ليقرر إن كان الانتقال مسموحًا. والمعنى يجب أن يكون واضحًا: النظام ينفّذ القاعدة التي كتبها إنسان ولا يقرر من ينبغي أن يعتمد. فإن كتبت القاعدة أن مدير الطالب يعتمد فلن يتحقق النظام من أن هذا المدير هو المسؤول الصحيح، ولا من تعارض مصالح، ولا من أن الطلب يستحق الاعتماد أصلًا. النظام يحرس الباب الذي رسمته لا الباب الذي كان ينبغي رسمه.
أثر التدقيق والمحادثة
المحادثة أسفل المستند سجل ما جرى: رسائل وتغييرات في الحقول المُتابَعة مع اسم المستخدم والتاريخ. لكنها لا تسرد إلا ما اختيرت متابعته، فيُقرر قبل التشغيل أي الحقول يجب تتبّعها، ولا يمكن استعادة تاريخ لم يُسجَّل.
والحسابات المشتركة تهدم هذا السجل: فعندما يعمل عدة أشخاص بالحساب نفسه يفقد الاعتماد معناه لأن النظام يرى معتمدًا واحدًا لا يعرف من هو، ويستحيل نسبة تعديل إلى صاحبه عند المراجعة. والحساب الشخصي شرط لكل من ينشئ أو يعدّل أو يعتمد.
الاختبار بحساب حقيقي لكل دور
شاشة الإعداد تصف النية، والحساب الحقيقي يكشف السلوك. أنشئ مستخدمًا فعليًا لكل دور، وسجّل الدخول به، واختبر الفعل المسموح والممنوع معًا؛ فالاختبار الذي ينجح في إظهار القائمة قد يفشل في منع الفعل، والقيمة في التأكد أن المستخدم لا يستطيع تنفيذ ما لا يجوز له لا أنه لا يرى الزر.
واختبر التقارير والتصدير والاستيراد والإجراءات الجماعية لا النماذج وحدها، واختبر مسار الاعتماد كاملًا: الطلب والموافقة والرفض وغياب المعتمد وتعديل المستند بعد الاعتماد، واحتفظ بسجل مكتوب لكل دور. وما لا يُحسم قبل التشغيل ينتقل إلى الدعم كطلب تغيير له تقدير مستقل لا كبند مسموح.
وفي التجربة العملية، الصلاحيات التي تُترك إلى الأسبوع الأخير قبل التشغيل هي السبب الأكثر تكرارًا لتأخير الإطلاق، لأنها تؤجل معها التدريب واختبار القبول.
ما لا نضمنه
- لا نضمن نتيجة تجارية بعينها، ولا نربط نجاح المشروع برقم نعلنه مسبقًا.
- لا نقدّم التزامًا بسعر نهائي قبل تحليل نطاقك ووحداتك وبياناتك.
- لا نقدّم التزامًا بمدة نهائية قبل نطاق مكتوب يوافق عليه الطرفان، وأي تقدير نذكره يبقى نطاق تخطيطي.
- لا نصدر رأيًا قانونيًا ولا ضريبيًا ولا نقدّم فتوى نظامية، وهذه مسؤولية مستشارك المختص.
- لا نمنح شهادة ولا اعتمادًا مهنيًا ولا صفة شريك رسمي لأي جهة.
- لا نضمن ترتيبًا في محركات البحث ولا ظهورًا في نتائج معيّنة.
مقالات ذات صلة
تقارير Odoo ومؤشرات الأداء: من البيانات إلى مؤشر قابل للقياس
كيف تتحوّل بيانات Odoo إلى مؤشر يقود قرارًا: الفرق بين التقرير القياسي والعرض التحليلي والمحور، وتحديد البسط والمقام والفترة، وشرط جودة البيانات، والمطابقة مع دفتر الأستاذ.
9 دقيقة
بناء مسير الرواتب في Odoo: المكوّنات وقواعد العمل
مسير الرواتب في Odoo بنية تُصمَّم لا شاشة تُملأ. يشرح هذا المقال العقد وهياكل الرواتب وترتيب قواعد الحساب والاستحقاقات والاستقطاعات وسجلات الحضور والقيود المحاسبية.
10 دقيقة
جاهزية بيانات الفوترة الإلكترونية في Odoo
الربط بمنصة الفوترة الإلكترونية خطوة تقنية واضحة، لكن العائق الحقيقي غالباً هو البيانات التي يرسلها Odoo. هذا المقال يفصل ما يجب أن يكون صحيحاً في البيانات قبل أن يستحق الربط أن يُنفَّذ.
9 دقيقة