جدول RIN1 في SAP Business One (الإشعار الدائن للمبيعات (الأسطر))
RIN1 هو جدول SAP Business One الذي يخزن أسطر الإشعارات الدائنة للمبيعات: الصنف والكمية والسعر وإجمالي السطر والمستودع والمستند الذي نُسخ منه كل سطر. لا يحتوي على بيانات الرأس، لذلك تربطه بـ ORIN عبر DocEntry للحصول على التاريخ والعميل وحالة الإلغاء.
الحقول الرئيسية في RIN1
| الحقل | ما يحتويه |
|---|---|
DocEntry | مفتاح الإشعار الدائن. يُربط بـ ORIN.DocEntry. |
LineNum | رقم السطر داخل الإشعار الدائن، يبدأ من 0. |
ItemCode | الصنف المعني. يُربط بـ OITM.ItemCode. فارغ في إشعارات الخدمات الدائنة. |
Dscription | وصف السطر (بإملاء SAP، كما في INV1). |
Quantity | الكمية المعنية بوحدة المبيعات. |
Price | سعر الوحدة بعد خصم السطر. |
LineTotal | مبلغ السطر بالعملة المحلية، قبل الضريبة وقبل خصم الرأس. |
WhsCode | المستودع الذي يعود إليه المخزون المرتجع. يُربط بـ OWHS.WhsCode. |
NoInvtryMv | Y = سطر مرحّل «دون ترحيل الكمية» (Without Qty Posting): إشعار سعري فقط، لا يعود أي مخزون. |
BaseType / BaseEntry / BaseLine | المستند المصدر: 13 = فاتورة مبيعات، 16 = مرتجع مبيعات، -1 = بلا مستند أساس. |
AcctCode | حساب الإيرادات أو المرتجعات في الأستاذ العام الذي يُرحّل إليه السطر. |
كيف يرتبط RIN1 بالجداول الأخرى
RIN1 هو جدول أسطر ORIN؛ و DocEntry + LineNum هو المفتاح الفريد للسطر. يشير BaseEntry و BaseLine إلى سطر الفاتورة بالضبط (INV1.DocEntry و INV1.LineNum) عندما تكون BaseType = 13، وهكذا يتتبع SAP B1 كم بقي مفتوحًا من سطر الفاتورة للإشعار الدائن، ولهذا يرفض كمية دائنة أكبر من الكمية المفوترة.
عمليات الربط الشائعة
RIN1 T1 INNER JOIN ORIN T0 ON T1.DocEntry = T0.DocEntry(الرأس)RIN1 T1 INNER JOIN INV1 T2 ON T1.BaseType = 13 AND T1.BaseEntry = T2.DocEntry AND T1.BaseLine = T2.LineNum(سطر الفاتورة)RIN1 T1 LEFT JOIN OITM T3 ON T1.ItemCode = T3.ItemCode(البيانات الرئيسية للصنف)
متى تستخدم جدول RIN1
استخدم RIN1 لكل ما هو على مستوى الصنف: المرتجعات حسب الصنف أو المستودع، ونسبة المرتجعات مقابل الكميات المباعة في INV1، وصافي مبيعات الأصناف (INV1 ناقص RIN1). يستخدم فريقا الجودة والمشتريات كميات المرتجعات لاكتشاف الأصناف التي فيها مشكلات من المورّد أو في التغليف.
مثال على استعلام: الكمية المرتجعة وصافي الإشعار الدائن لكل صنف
SQL Server
SELECT T1.ItemCode, T1.Dscription, SUM(T1.Quantity) AS QtyReturned, SUM(T1.LineTotal * (1 - T0.DiscPrcnt / 100.0)) AS NetCredit FROM ORIN T0 INNER JOIN RIN1 T1 ON T0.DocEntry = T1.DocEntry WHERE T0.CANCELED = 'N' AND T1.NoInvtryMv = 'N' AND T0.DocDate >= '20260101' GROUP BY T1.ItemCode, T1.Dscription ORDER BY QtyReturned DESC
SAP HANA (أسماء الأعمدة بين علامتي اقتباس مزدوجتين)
SELECT T1."ItemCode", T1."Dscription", SUM(T1."Quantity") AS "QtyReturned", SUM(T1."LineTotal" * (1 - T0."DiscPrcnt" / 100.0)) AS "NetCredit" FROM ORIN T0 INNER JOIN RIN1 T1 ON T0."DocEntry" = T1."DocEntry" WHERE T0."CANCELED" = 'N' AND T1."NoInvtryMv" = 'N' AND T0."DocDate" >= '20260101' GROUP BY T1."ItemCode", T1."Dscription" ORDER BY "QtyReturned" DESC
الصق أيًّا من النسختين في الأدوات ← الاستعلامات ← مولّد الاستعلامات (Tools → Queries → Query Generator). تحتاج اللهجة الأخرى لاستعلامك الخاص؟ استخدم محوّل SQL إلى HANA.
خطأ شائع: الإشعارات السعرية فقط تضخّم كميات المرتجعات
سطر الإشعار الدائن المرحّل «دون ترحيل الكمية» (NoInvtryMv = 'Y') ما زال يحمل Quantity (يُحسب فرق السعر على أساسها)، رغم أن شيئًا لم يعد إلى المستودع. إذا جمعت RIN1.Quantity كمرتجعات دون الشرط المستخدم أعلاه، فسيبدو تصحيح سعر بسيط كأنه إرجاع كامل للبضاعة. في تقارير القيمة أبقِ هذه الأسطر (فهي إشعارات دائنة حقيقية)؛ وفي تقارير المخزون ونسبة المرتجعات استبعدها. وطبّق معامل خصم الرأس كما في INV1، وإلا فلن يطابق صافي المبيعات من الأسطر تقرير تحليل المبيعات. انظر لماذا لا تتطابق إجماليات مبيعات SAP B1 (خصم الرأس).
استعلامات جاهزة تستخدم RIN1
- أعلى 20 صنفًا مبيعًا: الأصناف الأكثر مبيعًا حسب قيمة المبيعات، مع الكمية المباعة، لفترة زمنية.
جداول ذات صلة
ORIN (الإشعار الدائن للمبيعات (الرأس)) · INV1 (فاتورة المبيعات (الأسطر)) · OITM (الأصناف (البيانات الرئيسية للصنف)) · ابحث في كل جداول SAP Business One
المصادر: توثيق SAP Business One و SDK (مرجع جداول قاعدة البيانات في DI API)، بوابة SAP Help.
جاهز للبدء؟
أخبرنا بما تحتاجه. ستحصل على إجابة تقنية واضحة ونطاق عمل محدد وسعر ثابت، عادةً خلال 24 ساعة.
