> ## 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.

# دوال حوكمة التخطيط والمراجعة وخط الأساس

> دوال التحقق والمراجعة والاعتماد وخط الأساس وإعادة خط الأساس ومرحلة الحالة للتخطيط.

## متى تستخدم هذه الدوال؟

استخدم هذه الدوال في إعداد التخطيط الذي يملك علاقاتها المصدرية. تكون رسالة التحقق ذات معنى فقط في مستهلك تحقق؛ أما الحقل المحسوب فسيخزن القيمة كما هي.

## طريقة الكتابة

استخدم الدالة بصيغة `planningPlanReviewState($inverseRelations, $.review_cadence, $.start_date)`. لا تكون كل دالة متاحة في كل مكان: دوال التحقق ودوال النموذج ودوال قالب المستند لها عقود سياق مختلفة. لا تفترض أن اقتراح المحرر يعني أن الدالة مدعومة وقت التشغيل.

## مرجع الدوال الكامل

### `planningDependencyExecutionLinkValidation`

يمنع توجيه تبعية إلى عنصر التنفيذ نفسه الذي يمثل مصدرها.

**التوقيع:** `planningDependencyExecutionLinkValidation(sourceExecutionItem, targetExecutionItem)`

**مثال:**

```txt theme={null}
planningDependencyExecutionLinkValidation($.source_execution_item_id, $.target_execution_item_id)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | planningDependencyExecutionLinkValidation(...)`.

### `planningMeasurementPeriodValidation`

يتحقق من الترتيب الزمني لفترة القياس، أو يعيد رسالة تحقق.

**التوقيع:** `planningMeasurementPeriodValidation(periodStart, periodEnd)`

**مثال:**

```txt theme={null}
planningMeasurementPeriodValidation($.measurement_period_start, $.measurement_period_end)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | planningMeasurementPeriodValidation(...)`.

### `planningPlanApprovalRequired`

يحدد ما إذا كانت الخطة المهيأة تتطلب اعتماداً حالياً.

**التوقيع:** `planningPlanApprovalRequired(planCategory, planType, baseFramework, targetEntityClass, overlayFrameworks, inverseRelations)`

**مثال:**

```txt theme={null}
planningPlanApprovalRequired($.plan_category, $.plan_type, $.base_framework, $.target_entity_class, $.overlay_frameworks, $inverseRelations)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | planningPlanApprovalRequired(...)`.

### `planningPlanApprovalStage`

يعيد أحدث مرحلة اعتماد للتخطيط، أو `null`.

**التوقيع:** `planningPlanApprovalStage(inverseRelations)`

**مثال:**

```txt theme={null}
planningPlanApprovalStage($inverseRelations)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | planningPlanApprovalStage(...)`.

### `planningPlanApprovalState`

يعيد حالة الاعتماد للخطة، مثل غير مطلوب أو معلق أو معتمد أو مرفوض أو مشروط.

**التوقيع:** `planningPlanApprovalState(planCategory, planType, baseFramework, targetEntityClass, overlayFrameworks, inverseRelations)`

**مثال:**

```txt theme={null}
planningPlanApprovalState($.plan_category, $.plan_type, $.base_framework, $.target_entity_class, $.overlay_frameworks, $inverseRelations)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | planningPlanApprovalState(...)`.

### `planningPlanBaselineSummary`

يعيد ملخصاً مقروءاً لخط الأساس الحالي، أو `null`.

**التوقيع:** `planningPlanBaselineSummary(inverseRelations)`

**مثال:**

```txt theme={null}
planningPlanBaselineSummary($inverseRelations)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | planningPlanBaselineSummary(...)`.

### `planningPlanBaselineVersionId`

يعيد معرف إصدار خط الأساس الحالي، أو `null`.

**التوقيع:** `planningPlanBaselineVersionId(inverseRelations)`

**مثال:**

```txt theme={null}
planningPlanBaselineVersionId($inverseRelations)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | planningPlanBaselineVersionId(...)`.

### `planningPlanLastReviewAt`

يعيد أحدث تاريخ مراجعة مكتملة كسلسلة ISO، أو `null`.

**التوقيع:** `planningPlanLastReviewAt(inverseRelations)`

**مثال:**

```txt theme={null}
planningPlanLastReviewAt($inverseRelations)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | planningPlanLastReviewAt(...)`.

### `planningPlanNextReviewAt`

يعيد تاريخ المراجعة المجدولة التالية أو المستنتج من الوتيرة كسلسلة ISO، أو `null`.

**التوقيع:** `planningPlanNextReviewAt(inverseRelations, reviewCadence?, startDate?)`

**مثال:**

```txt theme={null}
planningPlanNextReviewAt($inverseRelations, $.review_cadence, $.start_date)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | planningPlanNextReviewAt(...)`.

### `planningPlanRebaselineFlag`

يحدد ما إذا كان خط أساس أو قرار أو مراجعة يشير إلى الحاجة لإعادة خط الأساس.

**التوقيع:** `planningPlanRebaselineFlag(inverseRelations)`

**مثال:**

```txt theme={null}
planningPlanRebaselineFlag($inverseRelations)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | planningPlanRebaselineFlag(...)`.

### `planningPlanRebaselineReason`

يعيد سبب إعادة خط الأساس من خط الأساس أو أحدث قرار أو أحدث مراجعة، أو `null`.

**التوقيع:** `planningPlanRebaselineReason(inverseRelations)`

**مثال:**

```txt theme={null}
planningPlanRebaselineReason($inverseRelations)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | planningPlanRebaselineReason(...)`.

### `planningPlanReviewState`

يعيد حالة مراجعة الخطة مثل قيد المراجعة أو مجدولة أو تمت مراجعتها أو تتطلب متابعة.

**التوقيع:** `planningPlanReviewState(inverseRelations, reviewCadence?, startDate?)`

**مثال:**

```txt theme={null}
planningPlanReviewState($inverseRelations, $.review_cadence, $.start_date)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | planningPlanReviewState(...)`.

### `planningPlanVersionLabel`

يعيد تسمية أحدث إصدار للخطة، أو `null`.

**التوقيع:** `planningPlanVersionLabel(inverseRelations)`

**مثال:**

```txt theme={null}
planningPlanVersionLabel($inverseRelations)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | planningPlanVersionLabel(...)`.

### `planningResourcePeriodValidation`

يتحقق من أن نهاية فترة المورد تقع في تاريخ البداية أو بعده، أو يعيد رسالة تحقق.

**التوقيع:** `planningResourcePeriodValidation(periodStart, periodEnd)`

**مثال:**

```txt theme={null}
planningResourcePeriodValidation($.period_start, $.period_end)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | planningResourcePeriodValidation(...)`.

### `planningRiskMitigationValidation`

يتطلب رابط معالجة غير فارغ بعد تسويته عندما تُعطى قائمة معالجات.

**التوقيع:** `planningRiskMitigationValidation(mitigationExecutionItemIds)`

**مثال:**

```txt theme={null}
planningRiskMitigationValidation($.mitigation_execution_item_ids)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | planningRiskMitigationValidation(...)`.

### `statusStage`

يعيد المرحلة المطبعة للحالة دون تعريف قالب حالة مقدم.

**التوقيع:** `statusStage(status)`

**مثال:**

```txt theme={null}
statusStage($.status)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | statusStage(...)`.

### `statusStageFromTemplate`

يعيد المرحلة المطبعة للحالة باستخدام تعريف قالب حالة مقدم.

**التوقيع:** `statusStageFromTemplate(templateContent, status)`

**مثال:**

```txt theme={null}
statusStageFromTemplate($statusTemplates.request_status, $.status)
```

**التوافر:** متاحة في سياقات إعداد التخطيط والحالة. استخدم الدوال التي تعيد رسالة تحقق فقط حيث تُستهلك نتيجة التحقق.

**ملاحظة:** يمكن أيضاً كتابتها كتحويل عندما تكون القيمة الأولى هي المدخل: `value | statusStageFromTemplate(...)`.

## قائمة تحقق قبل النشر

* ابدأ بقيمة معروفة وتحقق من النتيجة المتوقعة.
* تعامل صراحةً مع القيم الفارغة وnull والقوائم الفارغة.
* لا تضع أسراراً أو رموز وصول أو بيانات شخصية حساسة داخل تعبير.
* راجع [سياقات وتوافر التعبيرات](/ar/reference/expressions/contexts) قبل نسخ تعبير بين ميزتين.

![دوال حوكمة التخطيط والمراجعة وخط الأساس في KayanOS](https://kayanos.app/docs-images/ar/reference/expressions-helpers-planning-governance.png)
