آخر سعر شراء لكل صنف

أحدث سعر في فاتورة مشتريات، مع المورّد والتاريخ، لكل صنف.

الجداول: OPCH, PCH1الاستخدام: مراجعة الأسعار قبل أوامر الشراء الجديدة.

الأداة

SELECT X.ItemCode, X.Dscription, X.Price, X.Currency, X.CardName, X.DocDate
FROM (
  SELECT T1.ItemCode, T1.Dscription, T1.Price, T1.Currency, T0.CardName, T0.DocDate,
    ROW_NUMBER() OVER (PARTITION BY T1.ItemCode ORDER BY T0.DocDate DESC, T0.DocEntry DESC) AS RowNo
  FROM OPCH T0
  INNER JOIN PCH1 T1 ON T0.DocEntry = T1.DocEntry
  WHERE T0.CANCELED = 'N'
) X
WHERE X.RowNo = 1
ORDER BY X.ItemCode
تحتاج حقولك المخصصة (UDF) في هذا التقرير، أو لوحة معلومات؟ نوسّعه لشركتك.خصّصه ←

ما الذي يجيب عنه هذا الاستعلام

قبل اعتماد أمر شراء جديد، يريد مدير المشتريات رؤية ما دُفع آخر مرة لكل صنف، ولمن، ومتى. يكشف هذا زيادات الأسعار التي لم يعلن عنها المورّد.

مثال على النتائج

قيم تجريبية توضيحية. أعمدتك هي نفسها؛ والأرقام تأتي من شركتك.

ItemCodeDscriptionPriceCurrencyCardNameDocDate
A00001Laser Printer 1420410USDGlobal Parts Co.2026-09-14
A00005Toner Cartridge Black27.5USDGlobal Parts Co.2026-10-02
A00007Paper A4 Box6.9EURMetro Packaging2026-08-21
A00009USB Cable 2m2.4USDGlobal Parts Co.2026-07-30

SQL Server مقابل SAP HANA

تُدعم ROW_NUMBER() OVER (PARTITION BY ... ORDER BY ...) بالطريقة نفسها في HANA، فلا تُمس دالة النافذة. التغيير الوحيد هو الاقتباس، بما فيه الاسم المستعار الداخلي "RowNo" الذي يصفّي عليه WHERE الخارجي.

الأخطاء الشائعة وحلولها

  • أسعار بعملات مختلفة تُقارن جنبًا إلى جنب: Price بعملة سطر الفاتورة الظاهرة في عمود Currency. قارن الصفوف ذات العملة نفسها فقط، أو استخدم T1.LineTotal / T1.Quantity لسعر الوحدة بالعملة المحلية.
  • أصناف اشتُريت مؤخرًا مفقودة: تُقرأ فواتير المشتريات (OPCH) فقط. إذا استُلمت البضاعة بإيصال استلام بضاعة لأمر الشراء وفُوترت لاحقًا، فاقرأ OPDN/PDN1 بدلًا منها أو أضفها عبر UNION ALL.
  • السعر أقل من قائمة أسعار المورّد: PCH1.Price هو سعر الوحدة بعد خصم السطر. اختر T1.PriceBefDi أيضًا لرؤية السعر قبل الخصم.
المشتريات

استعلامات ذات صلة

مرجع الجداول: جدول OPCH (فاتورة المشتريات (الرأس))

طريقة العمل

ثلاث خطوات بدون تسجيل

1

انسخ النسخة المناسبة

استخدم تبويب SQL Server لقواعد بيانات MS SQL، وتبويب HANA لـ SAP B1 على HANA.

2

افتح مولّد الاستعلامات

في SAP Business One اذهب إلى الأدوات ← الاستعلامات ← مولّد الاستعلامات (Tools → Queries → Query Generator)، والصق الاستعلام وانقر تنفيذ (Execute).

3

احفظ وشارك

انقر حفظ، واختر فئة، وسمِّ الاستعلام. يستطيع فريقك تشغيله من مدير الاستعلامات.

الأسئلة الشائعة

أسئلة حول هذه الأداة

كيف أشغّل استعلام «آخر سعر شراء لكل صنف» في SAP Business One؟

انسخ النسخة التي تناسب قاعدة بياناتك، وافتح الأدوات ← الاستعلامات ← مولّد الاستعلامات، والصقه في مربع SQL وانقر تنفيذ. احفظه لإعادة استخدامه لاحقًا.

ما الجداول التي يستخدمها هذا الاستعلام؟

يقرأ OPCH، PCH1 من المخطط القياسي لـ SAP Business One. لا يحتاج إلى أي حقول معرّفة من قِبل المستخدم.

هل يمكن تحويله إلى لوحة معلومات أو تنبيه؟

نعم. نحوّل الاستعلامات إلى تقارير Crystal، أو تقارير Excel تتحدّث تلقائيًا، أو تنبيهات SAP B1، أو رسائل واتساب للمديرين.

تحتاج هذا داخل SAP Business One؟

نطوّر إضافات وتقارير وتكاملات لـ SAP B1 على SQL Server و HANA. أخبرنا بما تحتاجه واحصل على سعر ثابت، عادةً خلال 24 ساعة.