المبيعات حسب العميل لفترة زمنية

صافي المبيعات لكل عميل (الفواتير ناقص الإشعارات الدائنة) بين تاريخين، من الأعلى إلى الأدنى.

الجداول: OINV, ORINالاستخدام: اجتماعات المبيعات الشهرية، وترتيب العملاء، ومراجعة العمولات.المعاملات: [%0] = من تاريخ، [%1] = إلى تاريخ

الأداة

SELECT X.CardCode, X.CardName, SUM(X.NetSales) AS NetSales
FROM (
  SELECT T0.CardCode, T0.CardName, T0.DocTotal - T0.VatSum AS NetSales
  FROM OINV T0
  WHERE T0.CANCELED = 'N' AND T0.DocDate BETWEEN '[%0]' AND '[%1]'
  UNION ALL
  SELECT T1.CardCode, T1.CardName, -(T1.DocTotal - T1.VatSum)
  FROM ORIN T1
  WHERE T1.CANCELED = 'N' AND T1.DocDate BETWEEN '[%0]' AND '[%1]'
) X
GROUP BY X.CardCode, X.CardName
ORDER BY NetSales DESC
تحتاج حقولك المخصصة (UDF) في هذا التقرير، أو لوحة معلومات؟ نوسّعه لشركتك.خصّصه ←

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

قبل اجتماع المبيعات الشهري، يريد مدير المبيعات قائمة واحدة مرتبة بالعملاء حسب ما اشتروه فعلًا في الفترة. المرتجعات مهمة هنا: العميل الذي صدرت له فواتير بقيمة 50,000 ثم إشعار دائن بقيمة 20,000 يجب أن يظهر بـ 30,000 لا 50,000.

تريده رسمًا بيانيًا يستطيع فريقك تصفيته؟ تعرّف على طريقة بناء لوحة معلومات SAP Business One بدون Power BI.

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

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

CardCodeCardNameNetSales
C20000Acme Trading48250
C30000Northwind Retail31720.5
C40000Blue Harbor Foods18900
C50000Summit Supplies6410.75

SQL Server مقابل SAP HANA

المنطق متطابق؛ نسخة HANA تضع فقط كل عمود واسم مستعار بين علامتي اقتباس مزدوجتين (T0."DocTotal" و AS "NetSales")، لأن HANA يحوّل الأسماء غير المقتبسة إلى أحرف كبيرة. والعمود السالب غير المسمّى في النصف الثاني من UNION لا مشكلة فيه في قاعدتي البيانات، لأن أسماء الأعمدة تؤخذ من أول SELECT.

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

  • الفواتير الملغاة ما زالت تغيّر الإجماليات: أبقِ الشرط CANCELED = 'N' في النصفين. في SAP B1 تأخذ الفاتورة الملغاة CANCELED = 'Y' ويأخذ إشعار الإلغاء الدائن CANCELED = 'C'؛ والتصفية على 'N' تستبعدهما معًا، فلا يتقاصّان عن طريق الخطأ.
  • Conversion failed when converting date and/or time from character string: عند الاختبار خارج SAP B1، استبدل '[%0]' و '[%1]' بتواريخ بصيغة YYYYMMDD (مثل '20261001')، وهي صيغة يقرؤها SQL Server بالطريقة نفسها أيًّا كانت إعدادات اللغة.
  • الإجماليات تختلف عن كشف حساب العميل بالعملة الأجنبية: DocTotal و VatSum بالعملة المحلية. استخدم DocTotalFC - VatSumFC في نصفي UNION لترتيب العملاء بعملة المستند.
  • الإجماليات لا تطابق تقرير تحليل المبيعات (خصم الرأس): يقرأ هذا الاستعلام DocTotal - VatSum من رأس المستند، وهي قيمة تتضمن خصم الرأس (OINV.DiscPrcnt) والشحن. إذا غيّرته لجمع INV1.LineTotal، مثلًا لإيرادات الأصناف، فلن يكون خصم الرأس داخل LineTotal وسيضخّم مجموع الأسطر المبيعات. استخدم SUM(T1.LineTotal * (1 - T0.DiscPrcnt / 100.0)) (وفي HANA: SUM(T1."LineTotal" * (1 - T0."DiscPrcnt" / 100.0)))، واطرح الإشعارات الدائنة (ORIN/RIN1) بالمعامل نفسه. انظر عدم تطابق إجمالي المبيعات في SAP B1: حل مشكلة خصم الرأس.
المبيعات

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

مرجع الجداول: جدول OINV (فاتورة المبيعات (الرأس)) · جدول ORIN (الإشعار الدائن للمبيعات (الرأس))

طريقة العمل

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

1

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

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

2

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

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

3

احفظ وشارك

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

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

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

كيف أشغّل استعلام «المبيعات حسب العميل لفترة زمنية» في SAP Business One؟

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

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

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

ماذا أُدخل عندما تفتح نافذة الاختيار؟

يستخدم هذا الاستعلام معاملات: [%0] = من تاريخ، [%1] = إلى تاريخ. يعرض SAP B1 نافذة اختيار لكل معامل عند تشغيل الاستعلام.

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

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

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

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