جدول ADOC في SAP Business One (سجل المستندات (سجل الفواتير))

ADOC هو جدول السجل للمستندات في SAP Business One (تسميه وثائق SDK "Invoice - History"): يحتفظ بالإصدارات السابقة من رؤوس المستندات، صف واحد لكل إصدار محفوظ، مرقّمة بـ LogInstanc. وله أعمدة الرأس نفسها التي في جداول المستندات، فيمكنك معرفة من غيّر المستند ومتى وما كان إجماليه من قبل.

الحقول الرئيسية في ADOC

الحقلما يحتويه
DocEntryالمفتاح الداخلي للمستند.
DocNumرقم المستند.
ObjTypeنوع كائن المستند (ADP1)، مثل 13 لفواتير المبيعات.
LogInstancنسخة السجل: رقم إصدار صف السجل.
DocDateتاريخ الترحيل.
CardCode / CardNameشريك الأعمال. يُربط CardCode بـ OCRD.
DocCur / DocTotalعملة المستند وإجماليه في ذلك الإصدار.
DocStatusO = مفتوح، C = مغلق.
CANCELEDY = ملغى، N = غير ملغى، C = مستند إلغاء.
UserSign / UserSign2المستخدم المنشئ والمستخدم المحدِّث. يُربطان بـ OUSR.USERID.
CreateDate / UpdateDateتاريخا الإنشاء والتحديث.
UpdateTSوقت التحديث.

كيف يرتبط ADOC بالجداول الأخرى

تُحدد صفوف ADOC بـ ObjType و DocEntry و LogInstanc معًا، لأن جدولًا واحدًا يحتوي على إصدارات أنواع مختلفة من المستندات. ويبقى الإصدار الحالي في جدول المستند (مثل OINV)، فقارن إصدارات ADOC بالصف الحالي لمعرفة ما تغيّر. ويبين UserSign2 من حفظ كل إصدار.

عمليات الربط الشائعة

  • ADOC T0 INNER JOIN OUSR T1 ON T1.USERID = T0.UserSign2 (المستخدم الذي حفظ الإصدار)
  • ADOC T0 INNER JOIN OINV T2 ON T2.DocEntry = T0.DocEntry AND T0.ObjType = '13' (الفاتورة الحالية)

متى تستخدم جدول ADOC

استخدم ADOC لأسئلة التدقيق مثل من غيّر هذه الفاتورة ومتى، ولمعرفة إجمالي المستند قبل التعديل، ولعدّ التغييرات لكل مستخدم.

مثال على استعلام: سجل تغييرات فاتورة مبيعات واحدة

SQL Server

SELECT T0.LogInstanc, T0.UpdateDate, T0.UpdateTS, T1.USER_CODE, T1.U_NAME,
  T0.CardCode, T0.DocTotal, T0.DocStatus
FROM ADOC T0
LEFT JOIN OUSR T1 ON T1.USERID = T0.UserSign2
WHERE T0.ObjType = '13' AND T0.DocNum = 1001
ORDER BY T0.LogInstanc

SAP HANA (أسماء الأعمدة بين علامتي اقتباس مزدوجتين)

SELECT T0."LogInstanc", T0."UpdateDate", T0."UpdateTS", T1."USER_CODE", T1."U_NAME",
  T0."CardCode", T0."DocTotal", T0."DocStatus"
FROM ADOC T0
LEFT JOIN OUSR T1 ON T1."USERID" = T0."UserSign2"
WHERE T0."ObjType" = '13' AND T0."DocNum" = 1001
ORDER BY T0."LogInstanc"

الصق أيًّا من النسختين في الأدوات ← الاستعلامات ← مولّد الاستعلامات (Tools → Queries → Query Generator). تحتاج اللهجة الأخرى لاستعلامك الخاص؟ استخدم محوّل SQL إلى HANA.

خطأ شائع: تصفية ADOC على DocNum أو DocEntry وحده

يحتوي ADOC على سجل عدة أنواع من المستندات، فقد يكون DocEntry 1001 فاتورة أو إشعارًا دائنًا أو مستندًا آخر. صفِّ دائمًا على ObjType أيضًا. والإصدار الحالي ليس في ADOC؛ اقرأه من جدول المستند وأضفه إلى قائمة السجل. انظر استعلام المستندات المنشأة حسب المستخدم.

استعلامات جاهزة تستخدم ADOC

أسئلة حول جدول ADOC

أين سجل تغييرات الفاتورة؟

في ADOC، صف واحد لكل إصدار محفوظ (LogInstanc)، مع التصفية على ObjType 13 و DocEntry.

كيف أعرف من غيّر مستندًا؟

اربط ADOC.UserSign2 بـ OUSR.USERID ورتّب حسب LogInstanc.

هل الإصدار الحالي من المستند موجود في ADOC؟

يبقى الإصدار الحالي في جدول المستند، مثل OINV؛ ويحتفظ ADOC بالإصدارات السابقة.

جداول ذات صلة

OUSR (المستخدمون) · OINV (فاتورة المبيعات (الرأس)) · ابحث في كل جداول SAP Business One

المصادر: توثيق SAP Business One و SDK (مرجع جداول قاعدة البيانات في DI API)، بوابة SAP Help.

جاهز للبدء؟

أخبرنا بما تحتاجه. ستحصل على إجابة تقنية واضحة ونطاق عمل محدد وسعر ثابت، عادةً خلال 24 ساعة.