> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kayanos.com/llms.txt
> Use this file to discover all available pages before exploring further.

# مصفوفة الصلاحيات والتفويض

> حدّد من يؤشّر ومن يوقّع على كل نوع مستند حسب المبلغ والشروط، وسجّل قرارات التفويض مع صورها الموقّعة، وسلّم العمل أثناء الغياب — بجواب واحد عن «من يوقّع هذا؟» في كل مكان.

حدّد من يؤشّر ومن يوقّع على كل نوع مستند حسب المبلغ والشروط، وسجّل قرارات التفويض مع صورها الموقّعة، وسلّم العمل أثناء الغياب — بجواب واحد عن «من يوقّع هذا؟» في كل مكان.

## اختر خطوتك التالية

* [شغّل الميزة](#details-turn-it-on)
* [أنشئ مصفوفة صلاحيات](#details-build-a-matrix)
* [انشر نسخة](#details-publish-a-version)
* [سجّل قرار تفويض](#details-register-a-decree)
* [غياب وتفويض](#details-away-and-delegate)
* [اسأل «من يوقّع؟»](#details-who-signs)
* [سجل الممارسة والتدقيق](#details-exercise-log)
* [للمطوّرين: عقد resolveAuthority](#details-resolve-authority)

> [!NOTE]
>
> «الصلاحيات والتفويض» ميزة تجريبية خلف وحدة «مصفوفة الصلاحيات والتفويض» (المنشئ › التنقل › وحدات الميزات)، وتحتاج المصفوفات تشغيل جداول القرار أيضاً. تعتمد الأدوات المتاحة على دورك: راجع [الأذونات والتوفر](https://docs.kayanos.com/ar/reference/permissions-and-availability.md).

> **شاهد الشاشة**
>
> ![نظرة عامة على «الإعدادات › الصلاحيات والتفويض» في KayanOS لوزارة المالية: المصفوفات النافذة، والقرارات التي تنتهي قريباً، والغائبون اليوم، والتعارضات المستوردة من الدليل.](https://kayanos.app/docs-images/ar/build/authority-matrix.png)

## الخطوات والأمثلة والمرجع

> **خلفية ومثال**
>
> تقول أدلة الإجراءات في الوزارة، لكل نوع مستند، من يُعدّه ومن يؤشّر عليه صعوداً ومن يوقّعه — وكثيراً «حتى 1,000,000 مدير الخزينة، وما فوق ذلك المدير ومعاون الوزير». ويفوّض الوزراء التوقيع بقرارات مرقّمة بسقف ومدة، ويغيب الناس في إجازات. يجمع KayanOS الثلاثة في مكان واحد:
>
> * **مصفوفة صلاحيات** — جدول قرار من فئة «صلاحيات» أسطره *إجراء × شروط ← سلسلة تأشير وموقّعون*؛
> * **قرارات التفويض** — سجلات مع الصورة الموقّعة والنطاق والسقف والصلاحية والمدة، تُنشئ تفويضات الموافقات والمراسلات عند إقرار المفوَّض إليه؛
> * **غياب وتفويض** — حزمة واحدة تسلّم الموافقات والمراسلات وخطوات المعاملات والتأشير والتوقيع والمهام لمن يحلّ محلك، بعد قبول كلٍّ منهم.
>
> تسأل مسارات الموافقة ومراحل المعاملات وأنواع المستندات واللجان وإجراءات الإصدار المحرّك نفسه، فيكون الموقّع الظاهر في المسار هو من يقبل المستند توقيعه.
>
> المثال المستخدم: تقول مصفوفة وزارة المالية إن الوزير يوقّع مناقلات الاعتمادات الجارية. ويفوّض القرار 112/2026 المناقلات حتى 10 مليارات إلى معاون الوزير لشؤون الموازنة من 1/11 حتى 31/12. فمناقلة بـ 4.2 مليار في 5/11 يوقّعها معاون الوزير «بالتفويض عن الوزير، القرار 112/2026»؛ ومناقلة بـ 12 ملياراً يوقّعها الوزير.

> **شغّل الميزة**
>
> ## شغّل الميزة
>
> 1. افتح **المنشئ › التنقل › وحدات الميزات** وشغّل **جداول القرار** و**مصفوفة الصلاحيات والتفويض**.
> 2. افتح **الإعدادات › الصلاحيات والتفويض**. تعرض النظرة العامة المصفوفات النافذة، والقرارات النافذة وما ينتهي قريباً، والغائبين اليوم، والتعارضات المستوردة من الدليل، وما يحتاج انتباهك.
> 3. في **الإعدادات** (آخر تبويب) اختر كيف تُنشئ الإجازة المعتمدة غياباً، ومهلة قبول المفوَّض إليه، وأطول مدة للغياب وللقرار، وعبارة الختم، وما يحدث للعناصر الجارية عند إلغاء قرار. لكل إعداد أيقونة مساعدة فيها حالات استخدام ومثال.
>
> تُمنح الصلاحيات بأفعال على الأدوار (الإعدادات › الأدوار): عرض المصفوفات وبناؤها، والنشر، والمحاكاة، وحسم التعارضات، وتسجيل القرارات واعتمادها وإلغاؤها، وإدارة غياب الآخرين، وقراءة سجل الممارسة كاملاً.

> **أنشئ مصفوفة صلاحيات**
>
> ## أنشئ مصفوفة صلاحيات
>
> 1. من النظرة العامة اختر **مصفوفة جديدة**، وأعطها اسماً ومفتاحاً (مثل `authority_mof`)، وعملةً ونوع سعر لمبالغها إن لزم.
> 2. في **الأسطر** أضف سطراً لكل إجراء وشرط: الإجراء (من دليل الإجراءات)، وشريحة المبلغ ونوع الجهة والاعتماد والسرية التي يغطيها، و**سلسلة التأشير** (مناصب، أو خط «صعوداً من المُعِدّ»، أو دور)، و**الموقّعون** (واحد، أو اثنان معاً، أو اثنان بالترتيب)، وهل السطر **يُفوَّض** (نعم، لا، أو فقط بقرار يسمّي المعاملة) ومرجعه القانوني.
> 3. جمّع الجدول حسب المديرية أو نوع المستند أو الموقّع لمراجعته. تُعلَّم الخلايا المتغيّرة والخلايا التي عليها تعارض مفتوح.
> 4. تعرض **الشروط والشرائح** شرائح المبالغ لكل إجراء على خط أعداد باصطلاح الحدود في الجدول، والتغطية (بلا فراغات ولا تداخلات)، واختبارات حدية حية — 999,999 و1,000,000 و1,000,001 حول حد المليون.
> 5. يعرض **الربط** كل من يستخدم المصفوفة — مسار موافقة، مرحلة معاملة، نوع مستند، إجراء إصدار، درجة سلّم أو لجنة — وما يأخذه (التأشير، الموقّعون، كلاهما، المصادِق، التحقق عند التوقيع) ومتى يُحسب. وتُظهر **المعاينة على سجل** الجواب لسجل حقيقي.
>
> تسمّي الخلايا مناصب لا أشخاصاً: إذا تغيّر الشاغل لا تتغيّر المصفوفة.

> **انشر نسخة**
>
> ## انشر نسخة
>
> النسخ المنشورة مجمّدة. لتغيير المصفوفة افتح **مسودة جديدة**، وعدّلها، ثم **افحص وانشر**:
>
> * تعرض المقارنة الأسطر المتغيّرة والمضافة والمحذوفة مقابل النسخة النافذة؛
> * اختر تاريخ البدء (الإرجاع إلى الماضي يحتاج إعداد الجهة وفعل الإرجاع)، وأرفق قرار الاعتماد الموقّع وثيقةً للمصدر، واكتب ملاحظة التغيير؛
> * تُنشر التعارضات المفتوحة بالقيمة الأشد فقط بعد تأكيدك؛
> * العناصر الجارية إما تكمل على النسخة التي بدأت بها (الافتراضي) أو يُعاد حسابها عند مرحلتها التالية، ويُبلَّغ أصحابها.
>
> إذا حُدّد مسار اعتماد للنشر في الإعدادات تبقى النسخة «قيد الاعتماد» وتبقى السابقة نافذة حتى تُعتمد.

> **سجّل قرار تفويض**
>
> ## سجّل قرار تفويض
>
> 1. في **قرارات التفويض** اختر **تسجيل قرار**. انقل الرقم وتاريخ الصدور والجهة المصدرة (منصب، أو جهة خارجية مثل رئاسة مجلس الوزراء)، و**منصبي** المفوِّض والمفوَّض إليه، والإجراءات المشمولة، والسقف للمستند الواحد، والوحدات، وسقف السرية، والمعاملات (لقرار لكل معاملة)، والصلاحية (توقيع فقط، إجراء كامل، أو إحالة ومتابعة فقط) والمدة.
> 2. ارفع **الصورة الموقّعة** — وهي إلزامية قبل الإرسال — وطابق الحقول معها.
> 3. **أرسل للاعتماد**. القرار المتداخل مع آخر للمفوَّض إليه نفسه يعرض أن يحلّ محله أو أن يؤخّر بدايته؛ والذي يمنح الصلاحية نفسها لمفوَّض إليه آخر في الأيام نفسها يُرفض.
> 4. بعد الاعتماد **يُقرّ** شاغل منصب المفوَّض إليه القرار. عندها فقط تُكتب تفويضات الموافقات والمراسلات (حاملةً معرّف القرار) ويصبح القرار نافذاً، أو مجدولاً حتى يبدأ.
> 5. **ألغِ** القرار مع السبب متى شئت: تنتهي التفويضات فوراً، ويُعاد حساب ما اعتمد عليه، وتبقى التواقيع السابقة صحيحة. ويذكّر السجل الأطراف قبل انتهاء القرار بـ 14 و3 أيام ويوم الانتهاء.
>
> التوقيع بقرار يطبع «بالتفويض عن ‹المنصب› — القرار 112/2026» تحت التوقيع إذا طلب القرار ذلك، وتذكر صفحة التحقق من المستند هل كان القرار نافذاً عند التوقيع.

> **غياب وتفويض**
>
> ## غياب وتفويض
>
> من **تفويضاتي** اختر **غياب وتفويض…** (ويستطيع المسؤولون ذلك عن غيرهم من **الغيابات**). اختر التاريخين والسبب والصفة؛ يبيّن الجدول لكل مجال عمل عدد العناصر المفتوحة، ومن يحلّ محلك (بديل المنصب ثم خط المدير افتراضياً)، وما يجوز له وأي حد — ما فوق سقف سرية المفوَّض إليه أو ما تملكه بقرار تفويض يبقى عندك. أرسله للقبول.
>
> يرى كل مفوَّض إليه «تفويض بانتظار قبولك» مع الشروط ومعاينة لتوقيعه «بالإنابة عن…». لا ينتقل شيء حتى يقبل؛ وبعد المهلة يُبلَّغ مدير الغائب. وتُنشئ الإجازة المعتمدة الغياب تلقائياً إذا قالت الإعدادات ذلك؛ والإجازة الأقصر تقصّره فوراً، والأطول تطلب القبول من جديد، والملغاة تلغيه.
>
> أثناء الإنابة يعرض صندوق **نيابةً عن** عناصر الغائب مع صفة كل منها، ويمكن إعادة عنصر إلى صاحبه. وإذا كان المفوَّض إليه غائباً أيضاً يصعد العمل في الخط ولا ينتقل إلى شخص ثالث.

> **اسأل «من يوقّع؟»**
>
> ## اسأل «من يوقّع؟»
>
> * **المحاكي**: اختر الإجراء والمبلغ والجهة والاعتماد والسرية والتاريخ والمُعِدّ؛ يشرح كل خطوة — سطر المصفوفة، والأصيل، والقرار، والشاغلين، والإنابة — ويرسم المسار، ويبيّن ما يغيّره مبلغ أو تاريخ آخر. لا يُحفظ شيء؛ ويمكن مشاركة الرابط.
> * **لماذا أنا؟** على طلب موافقة أو مرحلة معاملة استخدمت المصفوفة تبيّن سبب وجودك في السلسلة، والسلسلة كلها، ولماذا الموقّع هو من هو (السطر والقرار وصورته) وما الذي يغيّر الجواب.
> * **التوقيع المرفوض** يقول السبب (مثلاً «المبلغ 12.5 مليار يتجاوز سقف القرار 112/2026») ويعرض الحلول: التأشير ورفعه إلى الأصيل، أو الإعادة إلى المُعِدّ، أو طلب قرار بسقف أعلى. وتُسجَّل المحاولة.

> **سجل الممارسة والتدقيق**
>
> ## سجل الممارسة والتدقيق
>
> يسجّل **سجل الممارسة** كل تأشير وتوقيع وموافقة وإحالة مع صفته — أصالة، أو بالتفويض، أو بالإنابة عن غائب، أو محاولة مرفوضة — والقرار أو الغياب الذي استند إليه، وهل طابقت اللقطة عند التوقيع. صفِّ حسب المدة والصفة والقرار؛ وتنبّه مجاميع كل قرار إلى ما استُعمل قرب سقفه. لا يُعدَّل السجل. يصدّره **XLSX** مع ورقة سلامة (بصمة SHA-256 لكل سطر)؛ واستعمل طباعة المتصفح لـ PDF.
>
> تعرض **التعارضات** الأسطر المستوردة من الأدلة التي تختلف مصادرها (النص مقابل المخطط): اعتمد مصدراً، أو قيمة أخرى، أو أجّل وانشر بالقيمة الأشد. ويصبح التعليل والمرفق ملاحظة السطر القانونية.

> **للمطوّرين: عقد resolveAuthority**
>
> ## للمطوّرين: عقد resolveAuthority
>
> يسأل كل مستهلك محرّكاً واحداً على الخادم (`servers/entities/authority/resolve.ts`):
>
> ```ts theme={null}
> resolveAuthority(exec, {
>     organizationId, action,            // مفتاح الإجراء في دليل المصفوفة، مثل 'transfer'
>     facts: { amount, entityKind, appropriation, confidentiality, unitId?, caseId? },
>     asOf?,                             // تاريخ القرار (الافتراضي: اليوم بتوقيت الجهة)
>     matrixKey?, versionId?,            // الافتراضي: مصفوفة الإجراء ونسختها النافذة في asOf
>     domain?,                           // 'approvals' | 'correspondence' | 'cases' | 'signing_initials' | 'signing_sign' | 'tasks'
>     preparerMemberId?, assumePendingAccepted?,
>     subject?: { kind, id, label }, store?: boolean, actorMemberId?, language?,
> }) → { status: 'resolved', snapshot, explanation, flips, hash, resolutionId, names, matrix }
>    | { status: 'refused', code, params, fixes, explanation, partial, names, matrix }
> ```
>
> * **خمس خطوات**: سطر المصفوفة ← الأصيل ← القرارات ← الشاغلون الحاليون ← الإنابة. تسرد `snapshot` الخطوات (`role` تأشير/توقيع، المنصب، الأشخاص، الصفات مع معرّف القرار أو الغياب) ومعرّفات النسخة والسطر والقرارات التي اعتمد عليها؛ و`hash` بصمتها SHA-256. ومع `store` و`subject` يُحفظ الجواب لـ«لماذا أنا؟» ولإعادة الفحص عند التوقيع.
> * **الرفض لا يعود أبداً إلى موقّع افتراضي**. الرموز: `no_matrix`، `not_in_force`، `input_missing`، `no_row`، `multiple_rows`، `vacant`، `same_person`، `needs_named_decree`، `cap`، `expired`، `revoked`، `not_accepted`، `power`، `confidentiality`، `not_yours`، `changed`؛ ولكلٍّ `fixes` مقترحة.
> * **عند التوقيع**: `checkAuthorityActOnServer(exec, { …السياق, actorMemberId, act: 'initial' | 'sign' | 'approve' | 'refer', subject })` يعيد الحساب تحت قفل على الصفة، ويقارنه باللقطة المحفوظة، ويكتب سطر سجل الممارسة (منجز أو مرفوض).
> * عبر HTTP: `POST /authority/resolve`، `POST /authority/check-act`، `POST /authority/simulate`، `GET /authority/why?subjectKind=&subjectId=`.
> * تستعمله مسارات الموافقة عبر مصدر الموافقين «من مصفوفة الصلاحيات» (`{ kind: 'authority', part: 'initials' | 'signers' | 'both', action, matrixKey?, dimensions? }`) ويتحوّل إلى مراحل عند بدء الطلب.
>
> اللبّ النقي (`common/authorityResolver.ts`، `resolveAuthorityPure`) بلا قاعدة بيانات، وتغطيه اختبارات وحدة بمثال الوزارة أعلاه.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.