هذه هي ورقة التعديلات الموحَّدة التي تفرضها متطلبات عميل مصنع الأدوية (التصنيع للغير بالأوردر — الملاحق 30 إلى 33) على وثائق القرار الثلاث المنشورة: الخريطة النهائية (20)، عقود التكامل (22)، وخارطة الطريق (23). كل ما يلي إضافي، مع استثناءين مُعتمَدين صراحةً فقط (لكلٍّ منهما صف قرار خاص — لا تعديل صامت): LA-1 / D-33 (قبض الدفعة المقدمة يركب قضيب سند القبض — تعديل على القسم 5.4 من الوثيقة 22) وD-32 (أوامر التجربة يجوز لها تجميد قائمة مبدئية Draft — تعديل على صف 2 من الوثيقة 20). كل ما عدا ذلك من القرارات المعتمدة (D-01 إلى D-22) وعائلات القيود وآلة حالات أمر الإنتاج وقانون الاعتمادية يبقى دون مساس. نموذج الكيانات والتسمية الموحَّد (يُنهي تشعّب الملاحق 34/35/36): تُعتمد تسمية الملحق 34 لدورة التسعير (mfg_cost_estimates + mfg_cost_estimate_versions — وتُسحب الأسماء المؤقتة mfg_quotations/mfg_quotation_costings)، ويُعتمد كيان الملحق 35 المظلّي mfg_order_cases — الآلة التجارية تعيش على الملف، وليس كحالات تمهيدية فوق آلة أمر الإنتاج.
إجمالي الجداول الجديدة يرتفع من 24 إلى 30 جدول mfg_* (+6: التقديرات، نسخ التقديرات، ملفات الأوامر، التجارب، الدفعات، بوابات المراحل). كل بند: ما هو، هل هو جديد أم تعديل على موجود، أين يعيش، ولماذا.
| البند | جديد / تعديل على | الجدول | الملاحظة |
|---|---|---|---|
| رأس التقدير الاستكشافي / استقبال طلب التسعير | جديد | mfg_cost_estimates | رأس نَسَب دورة التسعير (الاسم القانوني من الملحق 34 — يسحب mfg_quotations): العميل، المنتج المرشَّح (lifecycle=Prospect، قرار D-26)، التركيبة كمرفقات، draft_bom_id، sales_quotation_id (إعادة استخدام مستند عرض السعر القائم في المبيعات SalesQuotation — دورة كاملة مُتحقَّق منها بالدليل 32، قرار D-29)، وsales_order_id عند الفوز. حالات رشيقة {Draft, Estimated, Quoted, Won, Lost} فقط — حالات القمع التجاري (إرسال/قبول/رفض/انتهاء/تحويل) تعيش على SalesQuotation وحده ولا تُكرَّر (يُجنّبنا آلتي حالات متزامنتين). مفتاح التسلسل 'cost_estimate' |
| نسخ التقدير الاستكشافي | جديد | mfg_cost_estimate_versions | نسخ تقدير غير قابلة للتعديل (إعادة الحساب = نسخة جديدة): خامات + عمالة + أعباء ← تكلفة وحدة ← هامش ← سعر معروض + valid_until + أساس التسعير. يشغّل نواة RollUpStandardCost بنمط محاكاة فقط على القائمة المبدئية — بلا قيد محاسبي وبلا مخزون. يسحب mfg_quotation_costings |
| ملف أمر العميل (المظلّة) | جديد | mfg_order_cases | قرار الكيان للدورة الثانية (من الملحق 35 — يُعتمد هنا): ملف واحد لكل تعاقد، مرساة sales_order_id، نَسَب الدورة الأولى cost_estimate_id، آلة تجارية من 14 مرحلة (من أمر البيع حتى الإغلاق)، سياسة تكلفة التجربة، حقول الدفعة، مخزن الأمانة، القائمة المعتمدة، حكم التخطيط. السبب: ملف واحد ↔ N أوامر إنتاج (تجارب متكررة + أمر رئيسي)؛ 7 من 14 مرحلة تسبق وجود أي أمر إنتاج؛ الدفعة على مستوى الملف. آلة حالات أمر الإنتاج المعتمدة لا تتسع — لا حالات تمهيدية على production_orders.status |
| الباتش التجريبي | جديد | mfg_trial_batches | case_id، cost_estimate_id، production_order_id، كمية التجربة، actual_unit_cost (مصدر تصحيح السعر النهائي)، result ∈ {Pending, Passed, Failed}، ومستند تسليم العينة sample_delivery_doc_id + sample_delivered_at. الفشل يمنع تحويل الأمر الرسمي. أُبقي كياناً مستقلاً عمداً (خلافاً لتوصية الدليل 32 بعلمٍ على الأمر فقط): الملف الواحد يمتد عبر N أوامر إعادة تجربة، لكلٍّ حكم عميل وتوقيع وتسليم عينة خاص لا يصح أن يحمله أمر الإنتاج (حامل التكلفة) |
| نوع أمر التجربة + استثناء D-32 | تعديل على | production_orders | توسيع صف 13 في الخريطة: order_type ∈ {Standard, Rework, Repair, Trial} (قرار D-24 — قيمة لا علم). أمر التجربة يركب قضبان الإصدار←الصرف←التأكيد←الاستلام والقيود كاملة دون أي منطق جديد؛ يُفصل تقريرياً ويُستبعد من معايرة التكلفة المعيارية. استثناء D-32 (تعديل صريح على صف 2): أوامر Trial وحدها يجوز لها تجميد قائمة Engineering/Draft خلف الإعداد production.trial_allow_draft_bom؛ الأوامر العادية أبداً — بدونه تستحيل التجربة قبل اعتماد القائمة |
| ربط أمر الإنتاج بأمر البيع والملف | تعديل على | production_orders | عمودا sales_order_id وcase_id (الدليل 32: لا يوجد أي ربط اليوم؛ وفق مخطط الملحق 35) — مرساة الطلب المباشرة، تُكمّل mfg_peggings ولا تلغيه. لا أعمدة دفعة ولا حالات تجارية على الأمر |
| الدفعة المقدمة (دفعة تحت حساب) | جديد | mfg_customer_advances | مفتاحها case_id (دفعة واحدة تغطي التعاقد كله — تجربة + رئيسي؛ وفق الملحق 35، ويُنهي تشعّب المرساة الثلاثي): amount، percent، الأساس، status ∈ {Due, Received, Waived}، receipt_voucher_id، journal_entry_id (قيد السند نفسه)، applied_invoice_id — بيانات بوابة الإصدار. التنازل Waived بصلاحية production.case.deposit_waive ومُسجَّل |
| حساب دفعات العملاء | تعديل على | دليل الحسابات + الإعدادات | حساب تفصيلي «دفعات عملاء تحت الحساب» ابن 2104 Unearned Revenue (يُزرع عبر AutoAccountService) + مفتاح production.customer_advance_account_id. لا يُستخدم SalesPayment إطلاقاً (مربوط بالفاتورة — أداة خاطئة للدفعة المقدمة) |
| سند قبض الدفعة + تعديل القانون LA-1 | إعادة استخدام + D-33 | receipt_vouchers | ReceiptVoucher وترحيله محايد للحساب (السطر يحدد الدائن — مُتحقَّق). يُربط reference_type='mfg_order_case' وسطره يُرحّل دائناً لحساب الدفعات. LA-1 (تعديل صريح على القسم 5.4 من الوثيقة 22): قيد السند نفسه هو ترحيل الدفعة الوحيد — ترحيل واحد، ولا نداء موازياً لـCreateJournalEntry (يُسحب الازدواج السابق)؛ كل ترحيل إنتاجي آخر يبقى حصرياً عبر CreateJournalEntry. صفر تغيير مخطط في المحاسبة |
| بوابات المراحل | جديد | mfg_order_stage_gates | سجل الانتقالات خلف شاشات المراحل، مفتاحه case_id (وفق الملحق 35): من/إلى، مَن، متى، لقطة البوابة. مسار المراحل هو آلة mfg_order_cases نفسها؛ الشاشات تستدعي نفس الإجراءات التي تعرضها الواجهة البرمجية ولا تتجاوز أي آلة حالات. قاعدة الفصل عن محرك الاعتماد: هذا الجدول سجل تدقيق لكل حركة؛ التوقيعات البشرية (اعتماد القائمة، حكم التجربة، التنازل عن الدفعة، إفراج الجودة) تركب محرك ApprovalWorkflow القائم كشرط مسبق للانتقال — لا ازدواج |
| مخازن الأمانة (مواد العميل) | تعديل على | warehouses | is_consignment (قرار D-15 المعتمد) + owner_partner_id (الدليل 32: لا مفهوم ملكية في المخزون اليوم). لا تُقيَّم ولا تُشترى. تُسحب من المرحلة 6 إلى المرحلتين 1/2 (D-27) |
| استلام/إرجاع خامة العميل (مستند الإدخال) | تعديل (مستندات) | مستندات استلام/صرف المخزون | سدّ فجوة U-2: خامة العميل الحرة تدخل مخزن الأمانة عبر مستند استلام مخزني حقيقي يعتمده ApproveReceipt بفرع تتبّعي بلا تقييم وبلا قيد لمخازن الأمانة (الملكية للعميل في عُهدة)، مرجعه الملف؛ والمتبقي غير المستخدم يعود عند الإقفال بمستند الصرف المرآتي + تسوية ختامية (المستلَم − المصروف − خردة الأمانة = المرتجع). لا رصيد مخزني يُمسّ خارج مستندات الاعتماد أبداً. يستدعيهما الإنتاج للأمام عبر ReceiveCustomerMaterial / ReturnCustomerMaterial |
| تفعيل الحجز | تعديل (منطق) | inventory_stock_balances | StockService::reserve()/release() يبقى بنداً في المرحلة 1 كما نُشر (الفجوة A5). الجديد: (أ) بوابة الدفعة تسبق الإصدار — والحجز يبقى أثراً جانبياً لإجراء ReleaseProductionOrder كما اعتُمد (صف 13): مرحلة «محجوز» يدخلها الإصدار ولا تسبقه أبداً؛ (ب) فرع جديد: مكوّنات العميل تُحجز من رصيد الأمانة |
| سلسلة النَسَب | تعديل على | mfg_peggings | إضافة cost_estimate_id وcase_id ليُعاد بناء النَسَب كاملاً: طلب تسعير ← قائمة مبدئية ← عرض ← تجربة ← ملف ← أمر ← مستندات |
| بوابات الاعتماد | تعديل على | Core enums | ApprovalModule::Production (مقرر في المرحلة 0) + أنواع مستندات جديدة: bom، production_order، trial_batch، customer_advance — إعادة استخدام محرك الاعتماد القائم للتوقيعات البشرية وفق قاعدة الفصل أعلاه |
| حالة جودة الاستلام (الدواء) | تعديل على | الإعدادات | إعداد لكل شركة production.gr_default_quality_status: لمصنع الدواء يُقلب الافتراضي Released ← OnHold + مخزن حجر صحي. D-21 يبقى الافتراضي العام؛ هذا هو التجاوز المتوافق (الملحق 33 — P2) |
| رقم التشغيلة + منتج مرشَّح + الصلاحيات | تعديل على | production_orders / products / الصلاحيات | batch_no يُختم عند الإصدار بمفتاح تسلسل 'batch' (P1)؛ حالة lifecycle=Prospect على المنتج تحفظ سلامة مفتاح القائمة المبدئية (D-26)؛ تصنيف واحد للصلاحيات (يُنهي تشعّب الفضاءات الثلاثة): الدورة الأولى production.estimates.* (الملحق 34 §5، ومنها production.estimates.rnd.draft_bom) والدورة الثانية production.case.* (الملحق 35 §5، والتنازل = production.case.deposit_waive) — زارع المرحلة 0 يُكتب من الملفين حرفياً |
كل الإضافات تحترم القاعدتين الحاكمتين وقانون الاعتمادية (بتعديله الوحيد المعتمد LA-1): إجراءات للأمام، أحداث للخلف، ولا موديول يقرأ جدول mfg_* أبداً. المبيعات تستقبل السعر دفعاً عبر إجراء؛ المحاسبة تستقبل سنداً ولا تعرف بوجود جدول الدفعات؛ فحوص الجودة تُنشأ دفعاً وتقرأ التصنيع نتيجتها قراءةً فقط. قاموس أحداث واحد (يُنهي تشعّب القواميس الثلاثة): أحداث الدورة الأولى الخمسة من الملحق 34 (CostEstimateRequested, DraftBomReady, EstimateQuoted, EstimateWon, EstimateLost) + أحداث الملف من الملحق 35 (ProductionCaseOpened … CaseCancelled + حدثا الأمانة) — ولا حدث StageAdvanced عام: كل إجراء انتقال يكتب سطر التدقيق بنفسه وأحداث Case* هي إخطارات التقدّم.
| الحدث (من القاموس الموحَّد) | المُصدِر (الإجراء) | المستهلكون (مستمعون داخل التصنيع ← إجراء أمامي) |
|---|---|---|
EstimateQuoted | QuoteCostEstimate (بعد اعتماد نسخة المحاكاة) | دفع السعر والصلاحية إلى عرض المبيعات عبر إجراء جديد Sales\UpsertQuotationPricing — المبيعات لا تقرأ mfg_cost_estimate_versions أبداً |
CaseTrialDecided | RecordTrialDecision (تسجيل حكم العميل — بوابته وجود مستند تسليم العينة، U-3) | بوابة النَسَب: Passed تفتح التحويل لأمر رسمي؛ Failed تمنعه (إعادة تجربة أو إغلاق)؛ ترحيل سياسة تكلفة التجربة (D-23)؛ إخطار المبيعات وR&D |
CaseDepositSatisfied | AllocateCaseAdvance / WaiveCaseDeposit (بعد ApproveReceiptVoucher: مدين نقدية / دائن دفعات عملاء — LA-1) | إعادة تقييم بوابة الإصدار (المُحصَّل ≥ المطلوب)؛ الآن فقط تُرفع طلبات شراء خامات العميل (CreatePurchaseRequest موسومة «تُفوتر على العميل») — لا طلب شراء بالنيابة قبل هذا الحدث أبداً (قاعدة U-6)؛ إخطار التخطيط |
CaseConsignmentReceived / CaseConsignmentReturned | ReceiveCustomerMaterial / ReturnCustomerMaterial (مستندا الأمانة) | رصيد الأمانة وتقرير التسوية؛ تسجيل اللوطات في الأنساب؛ بوابة التسوية عند إقفال الملف |
CaseQcReleased | ReleaseCaseQc (يقرأ qms_inspections.result قراءةً فقط) | نقل البضاعة من الحجر الصحي إلى مخزن الجاهز عبر المستندات المعتمدة حصراً: تحويل تتبّعي مزدوج (صرف معتمد من الحجر + استلام معتمد في الجاهز) — مُسجَّل كإضافة عقدية؛ لا «قضيب تحويل» غير معتمد؛ تحرير التسليم المربوط؛ تذكير بتسوية الدفعة |
| نقطة الدخول (إجراء أمامي) | الموديول | الحالة | الاستخدام |
|---|---|---|---|
Accounting\ApproveReceiptVoucher | المحاسبة | موجود | قبض الدفعة: مدين نقدية/بنك / دائن دفعات عملاء — المُستدعي يحدد حساب السطر وreference_type='mfg_order_case'. قيد السند هو ترحيل الدفعة الوحيد (LA-1/D-33) — لا قيد ثانٍ |
Accounting\CreateJournalEntry | المحاسبة | موجود | قيد تسوية الدفعة عند الفوترة: production_advance_settlement (مدين دفعات عملاء / دائن المدينون — اسم واحد قانوني؛ سُحب الاسم البديل production_advance_application) + عائلة قيود سياسة التجربة (D-23) وقيد production_toll_material_cogs |
Sales\UpsertQuotationPricing | المبيعات | جديد (رفيع) | دفع سعر التقدير وvalid_until إلى SalesQuotation — صوناً لقانون «لا قراءة لجداول mfg_» |
Sales\ConvertQuotationToOrder | المبيعات | جديد (استخلاص) | استخلاص convertFromQuotation من المتحكم (نفس وصفة CreatePurchaseRequest) لتحويلٍ برمجي يختم النَسَب — والملحق 34 §6 صار يستدعي هذا الإجراء لا المتحكم |
Sales\CreateServiceInvoice | المبيعات | جديد (استخلاص) | سدّ فجوة U-4 — قضيب إنشاء الفاتورة المتوافق: الإنتاج يُطلق فاتورة الملف النهائية للأمام: سطر أجر التشغيل + سطور تمرير الخامات (U-1) + سطر التجربة إن كانت تُفوتر — تتدفق للفوترة الإلكترونية (B18). لا نداء متحكم ولا كتابة مباشرة في جداول المبيعات |
Production\ReceiveCustomerMaterial / ReturnCustomerMaterial | الإنتاج ← المخزون | جديد | مستندا إدخال/إرجاع خامة العميل الحرة لمخزن الأمانة — فرع تتبّعي لمستندي الاستلام/الصرف المعتمدين (سدّ U-2) |
QMS\CreateInspection | الجودة | مُقرَّر سلفاً | تغيير توقيت فقط: يُستدعى أيضاً عند الاستلام لفحص الإفراج النهائي للدواء؛ إعداد القلب الافتراضي يصل في المرحلة 1 |
شرط بوابة الدفعة في ReleaseProductionOrder | الإنتاج (داخلي) | تعديل | منع Planned ← Released حتى يكون المُحصَّل ≥ المطلوب أو الحالة Waived بصلاحية — قبل التجميد والحجز. ونفس البوابة تحكم الشراء بالنيابة: لا تُرفع طلبات الشراء الموسومة إلا بعد CaseDepositSatisfied. ليس نداءً عابراً للموديولات: البوابة تقرأ جداول التصنيع نفسها |
إضافة على خريطة القيود (القسم 4 من الوثيقة 22): قيد استلام الدفعة production_customer_advance (يرحّله محرك السند مرة واحدة — LA-1)، قيد التسوية production_advance_settlement عند الفوترة، قيد الاسترداد production_advance_refund (D-35)، عائلة قيود سياسة التجربة الأربعة production_trial_absorb/_defer/_apply/_writeoff وحسابا «تكلفة تجارب مؤجلة» و«مصروف R&D» (وفق الملحق 35 §3 — وتُسحب عبارة «لا عائلة قيود جديدة» السابقة لأنها كانت خاطئة)، وقيد إخلاء خامة العميل المشتراة بالنيابة عند الاستلام production_toll_material_cogs (مدين تكلفة خامات toll / دائن الإنتاج التحت تشغيل). سدّ فجوة U-1: الخامة المشتراة بالنيابة ملك المصنع حتى الفوترة (مخزون ذاتي محجوز للملف، وأوامر شراؤها موسومة)، والفاتورة النهائية تحمل سطر تمرير الخامة بالتكلفة (+ نسبة مناولة تعاقدية) بجوار أجر التشغيل — فتتسوّى الدفعة (المحسوبة كنسبة من تكلفة الخامة الذاتية، D-25) على فاتورة تحتوي الخامة التي موّلتها: حساب النقدية يُقفل. أثناء التشغيل يرحّل أمر التجربة العائلات الخمس المعتادة دون تغيير.
التسلسل المعدَّل: 0 ← 1 ← 2 ← 2.5 ← 3 ← 4 ← 5 ← 6 بأحجام (S · L · L · M · M · L · M · M–L).
| المرحلة | كانت | تصبح | سبب النقل |
|---|---|---|---|
| 0 — التصليب | S | S (نطاق +) | تُضاف المصادقة على السجل المرجعي D-23..D-36 + السؤال OQ-9 داخل مسار ملاحق المواصفة نفسه (نفس الأسبوع ونفس البوابة الصلبة) + دور R&D وفضاءا الصلاحيات (production.estimates.* / production.case.*) + أنواع مستندات الاعتماد + lifecycle=Prospect. قرارات وصلاحيات فقط — لا بناء |
| 1 — البيانات الأساسية + التنفيذ الحقيقي | L | L (الحافة العليا) | يُضاف: قيمة order_type=Trial + حارس استثناء D-32؛ عمودا sales_order_id/case_id؛ الأمانة مسحوبة من المرحلة 6 (is_consignment + owner_partner_id + فرع الصرف التتبّعي + مستندا استلام/إرجاع خامة العميل) — مصنع toll لا يشغّل أمراً واحداً حقيقياً بدونها؛ قلب افتراضي الجودة OnHold للدواء؛ ختم batch_no. ضبط المخاطرة: تقسيم 1أ/1ب المنشور يبقى سارياً، وشريحة الأمانة تنزلق إلى 1ب فقط — لا تعود للمرحلة 6 أبداً |
| 2 — المسارات والتأكيدات وتكلفة التحويل | L | L (نطاق +) | بوابة الدفعة تتقدّم إلى هنا (لم يكن لها موعد أصلاً): mfg_order_cases ونواة آلة الملف + mfg_customer_advances (بمفتاح الملف) + الحساب والمفتاح + ربط سند القبض وفق LA-1 + شرط الإصدار + نقل رفع طلبات الشراء خلف البوابة + حدث CaseDepositSatisfied؛ وفرع حجز رصيد الأمانة (نواة الحجز نفسها تبقى مرحلة 1 دون تغيير)؛ + mfg_order_stage_gates (بمفتاح الملف) ولوحة المسار MVP (قرار D-28). البوابة تحتاج قضبان الإصدار من المرحلة 1 — هذا أبكر موضع صحيح |
| 2.5 — الواجهة التجارية (جديدة) | — | M | mfg_cost_estimates + mfg_cost_estimate_versions + محرك التقدير بنمط المحاكاة فقط (يسحب نواة RollUpStandardCost مبكراً من المرحلة 3 — بلا معايير ولا انحرافات ولا قيود) + mfg_trial_batches وتدفق التقييم مع دلو التقييم ومستند تسليم العينة + إجراءات المبيعات الثلاثة + ورش المراحل الحرجة للبوابات تُسلَّم هنا لا في المرحلة 5 (تعديل D-28): ورشة التجربة ومراجعتها، ورشة القائمة، ورشة التخطيط، مكتب الدفعة، مكتب الحجز + شاشات الدورة الأولى — المرحلة 5 تُكمل وتصقل فقط. لماذا بعد المرحلة 2 لا قبلها: تسعير العمالة والأعباء يحتاج معدلات مراكز العمل وcost_driver اللذين يصلان في المرحلة 2 — وقبل التخطيط لأنها لا تحتاج MRP |
| 3 — محرك التكاليف | M | M (أخف قليلاً) | النطاق كما هو (معايير، 7 انحرافات، تسوية)؛ نواة التجميع تصل جاهزة من 2.5 فتُنتَج هنا صناعياً فقط. يُضاف: استبعاد أوامر Trial من معايرة التكلفة حتى نجاح التجربة + تفعيل قيود سياسة التجربة (D-23) |
| 4 — التخطيط | L | L | كما هي تقريباً. يُضاف: وسم أوامر شراء خامات العميل «تُفوتر على العميل» ولا تُرفع إلا بعد CaseDepositSatisfied (قاعدة U-6 — والتخطيط المحلي للملف في المرحلة 2 يطيع نفس البوابة)، وشاشة الجاهزية تنضم لمسار المراحل كورشة التخطيط. فرع toll (لا أمر شراء لمواد العميل) كان في النطاق أصلاً |
| 5 — أرضية المصنع | M | M | المحرك كما هو. يُضاف: إكمال وصقل ورش المراحل التي بدأت في 2.5 + شاشات مراقبة لكل عملية. شاشات المشغّلين كما هي. اعتماد على OQ-9: إن قصد العميل بـ«واجهات لكل مرحلة إنتاجية» مراحل التصنيع الفيزيائية (خلط/تحبيب/كبس/تعبئة) فالجواب هنا: ورش لكل عملية مسار فوق عمليات التوجيه |
| 6 — الخطافات العميقة | L | M–L (تنكمش) | قلب toll/الأمانة خرج منها إلى المرحلتين 1–2. يبقى: التشغيلة أول-درجة + الأنساب + FEFO (الفجوة A4/قرار D-14 — مرشَّح سحب لإصدار إطلاق الدواء، الملحق 33)، بوابات الجودة الكاملة، تغذية أجر القطعة، تجميع سجل التشغيلة BMR، العينات المحتجزة، بوابة موازنة العائد |
ما يبقى دون تغيير: القرارات D-01..D-22 كلها سارية؛ هوية الموديول (توسيع Modules/Production ببادئة mfg_*)؛ آلة حالات أمر الإنتاج وهجرتها دون أي مساس فعلاً — المراحل التجارية تعيش على mfg_order_cases؛ عائلات القيود الخمس وامتصاص نهاية الشهر؛ قانون الاعتمادية عدا التعديل الوحيد المعتمد LA-1/D-33؛ تصاميم محركات MRP/CRP/الانحرافات؛ شاشات أرضية المصنع؛ وانضباط البوابة الصلبة للمرحلة 0.
ترقيم واحد يُنهي تصادم المخططات الثلاثة: هذا الجدول هو سجل القرارات المرجعي؛ الملحقان 30 §6 و31 §4 يشيران إليه (قرار «نطاق دورة ما قبل البيع» الذي كان «D-23» في الملحق 31 صار D-31 هنا)؛ ترقيم المتطلبات: R-01..R-21 = مخطط الملحق 30 حصراً، ومتطلبات الملحق 31 المشتقة أُعيد ترقيمها IR-1..IR-9.
| الرقم | القرار / الخطر | التوصية |
|---|---|---|
| D-23 | سياسة تكلفة التجربة — مَن يدفع ثمن الباتش التجريبي وإعادته عند الفشل؟ (OQ-1/OQ-3) | إعداد لكل ملف: trial_cost_policy ∈ {Bill, Absorb, CreditOnWin} (وفق الملحق 35 §1.1 — يُسحب الاقتراح الثنائي السابق {Customer, Absorbed}) بعائلة قيوده في البند ثانياً؛ تكلفة الفاشلة تتبع نفس السياسة؛ تكرار الفشل N مرات يرفع علامة مراجعة |
| D-24 | نمذجة التجربة | اعتماد order_type=Trial كقيمة أولى-درجة (يحسم تردد الملحق 31 بين القيمة والعلم) |
| D-25 | نسبة الدفعة المقدمة (OQ-2) | إعداد production.default_advance_percent + تجاوز لكل ملف؛ أساس النسخة الأولى = نسبة من تكلفة الخامات المشتراة لحساب العميل (وتحملها الفاتورة الآن كسطر تمرير — U-1)؛ منع صلب عند الإصدار وعند رفع طلبات الشراء معاً؛ التنازل بصلاحية production.case.deposit_waive فقط ومُسجَّل |
| D-26 | قائمة مبدئية لمنتج لم يُسجَّل بعد | Product.lifecycle=Prospect — تحفظ سلامة المفتاح وتترقّى نظيفاً عند الفوز |
| D-27 | توقيت toll/الأمانة | السحب المبكر مُعتمَد — شرط D-07 تحقق: عميل الإطلاق مصنع تصنيع للغير |
| D-28 | نطاق شاشات المراحل (يضم تفصيل صلاحيات OQ-7) | لوحة مسار MVP في المرحلة 2؛ الورش الحرجة للبوابات في 2.5؛ الإكمال والصقل في 5؛ شرائح صلاحية لكل مرحلة والمشرف يمتد فوق الكل |
| D-29 | ملكية مستندي العرض والدفعة | إعادة الاستخدام مُتحقَّقة: SalesQuotation للمستند التجاري وReceiptVoucher للنقدية؛ جداول mfg_* تحمل بيانات التقدير والملف والبوابة فقط |
| D-30 | ملكية خردة مواد العميل (OQ-4) | لا قيد خردة ذاتي أبداً — ملك العميل في عُهدة: حركة تتبّع منفصلة، تسوية/إرجاع/فوترة حسب العقد، وتدخل في تسوية إقفال الملف (M-12) |
| D-31 | نطاق دورة التسعير ما قبل البيع (كان «D-23» مؤقتاً في الملحق 31) | يُبنى كاملاً (تصميم الملحق 34) — هو مدخل هذا العميل؛ بدونه الدورة الأولى غير مخدومة |
| D-32 | استثناء تجميد القائمة المبدئية للتجربة (تعديل صريح على صف 2 من الوثيقة 20) | يُعتمد الاستثناء الضيق: أوامر Trial وحدها خلف الإعداد production.trial_allow_draft_bom؛ الأوامر العادية أبداً — بدونه تدفق التجربة المعتمد نفسه مستحيل |
| D-33 | قضيب ترحيل الدفعة — تعديل القانون LA-1 (على القسم 5.4 من الوثيقة 22) | يُعتمد قضيب السند: قبض الدفعة عبر ApproveReceiptVoucher وقيد السند نفسه هو الترحيل الوحيد (لا ازدواج)؛ كل ترحيل إنتاجي آخر يبقى حصرياً عبر CreateJournalEntry |
| D-34 | سياسة صلاحية العرض (OQ-5) | production.quote_validity_days (افتراضي 30)؛ العرض المنتهي يمنع الفوز/التحويل حتى إعادة التسعير |
| D-35 | استرداد/مصادرة الدفعة عند الإلغاء (OQ-6) | تعاقدياً؛ الافتراضي = تُطبَّق على التكلفة المتكبَّدة والباقي قابل للرد (production_advance_refund) |
| D-36 | علاقة كمية التجربة بالكمية الكاملة والتصحيح (OQ-8) | كمية التجربة مستقلة؛ تصحيح إلزامي من actual_unit_cost قبل التحويل |
| OQ-9 | ما معنى «واجهات لكل مرحلة إنتاجية»؟ مراحل الملف التجارية (قراءة الملحق 35) أم مراحل التصنيع الفيزيائية (خلط/تحبيب/كبس/تعبئة — مرجَّحة دوائياً)؟ | يُسأل العميل عند بوابة المرحلة 0. القراءتان مخدومتان: ورش الملف في 2–2.5؛ وإن تأكدت قراءة مراحل التصنيع فورش لكل عملية مسار مع المرحلة 5 + شاشة مراقبة قراءة-فقط مبكرة في 2.5 |
| خطر | انزلاق المرحلة 1 بعد سحب الأمانة إليها | تقسيم 1أ/1ب المنشور يبقى خطة التراجع المتفق عليها؛ شريحة الأمانة تنزلق إلى 1ب فقط |
| خطر | انحراف التقدير عن الفعلي (تسعير على قائمة مبدئية وأسعار تقديرية) | تصحيح إلزامي من actual_unit_cost للتجربة قبل التحويل (D-36)؛ إنفاذ valid_until (D-34) |
| خطر | محاسبة الدفعة المقدمة (التزام لا إيراد ولا سداد مدينين) | اعتماد المحاسب على حساب الدفعات وقيد التسوية وسطور تمرير الخامة (U-1) قبل خروج المرحلة 2؛ الاسترداد وفق D-35 |
| خطر | ضغط تجاوز بوابة الدفعة لأسباب تجارية | Waived هو المسار الوحيد — بصلاحية، مُسجَّل، ومُتقرَّر عنه؛ لا مسار تجاوز صامت في الكود (وبوابة طلبات الشراء تطيع نفس التنازل) |
mfg_* (الإجمالي 24 ← 30) بتسمية الملحقين 34/35 القانونية (تقديرات + ملفات — لا mfg_quotations موازية) + تعديلات على جداول وإعدادات قائمة — كلها فوق القضبان المعتمدةUpsertQuotationPricing، ConvertQuotationToOrder، CreateServiceInvoice)، وتصميم المستندات الأربعة الناقصة: إدخال/إرجاع خامة العميل، تسليم عينة التجربة، تحويل إفراج الحجر الصحي، وفوترة تمرير الخامة المشتراة بالنيابة — مع تعديلين معتمدين فقط (D-32، LA-1/D-33)