ملحقات الأسعار

توضح هذه المقالة كيفية توسيع وظائف التسعير والخصم في Microsoft Dynamics 365 Commerce.

قم بتوسيع محرك التسعير التجاري

محرك تسعير Commerce هو مركز الأداء الوظيفي للتسعير والخصم في Dynamics 365 Commerce. لتوسيع محرك تسعير Commerce، تعرف أولا على المصطلحات في الجدول التالي.

Name الوصف
حزمة الخصم حزمة الخصم هي فئة تنفذ واجهة IDiscountPackage ، والتي تعمل كنوع مختلف من الخصم. يمكنك تحديد سلوكيات الخصم المختلفة عن طريق إنشاء حزم خصم مختلفة.
مرشح الخصم لتخصيص إمكانية تطبيق الخصم، قم بتصفية بعض الخصومات من خلال تنفيذ واجهة IDiscountFilter استنادا إلى متطلبات عملك.

محرك التسعير لمنصة Commerce هو عبارة عن وحدة مشتركة يتم استخدامها عبر المقر الرئيسي لمنصة Commerce ووحدات مقياس التجارة (CSUs). لذلك، تحتاج فقط إلى كتابة جزء واحد من ملحق محرك التسعير (على سبيل المثال، حزمة خصم جديدة). يمكنك استخدام هذا الملحق في كل من المقر الرئيسي ونقطة البيع (POS).

سجل ملحقاتك

بعد إنشاء ملحق محرك التسعير الخاص بك، قم بتسجيله من خلال PricingEngineExtensionRepository. تختلف عملية التسجيل ، اعتمادا على المنتج الذي تتكامل معه.

CSU و Store Commerce

إضافة محفزات مسبقة لطلبات الخدمة التي تريد تطبيق حزم الملحقات عليها. يوضح الجدول التالي طلبات الخدمة.

طلب الخدمة الوصف
حساب الأسعارطلب الخدمة يقوم طلب الخدمة هذا بحساب الأسعار لحركة مبيعات. تشمل هذه الأسعار السعر الأساسي وسعر اتفاقية التجارة وتعديلات الأسعار.
CalculateDiscountsServiceRequest يقوم طلب الخدمة هذا بحساب الخصومات الخاصة بحركة مبيعات. تتضمن هذه الخصومات اتفاقيات الخصم التجارية، والخصومات البسيطة، وخصومات المزيج والمطابقة، وخصومات الكمية، وخصومات الحد الأدنى.
احصل على السعرالمستقلالسعرالخصمطلب الخدمة يقوم طلب الخدمة هذا باحتساب الأسعار وخصومات الخط الواحد فقط. استخدمه لصفحات قائمة المنتجات وتفاصيل المنتج حيث يتم حساب أسعار المنتجات بشكل مستقل.
CalculateShippingDiscountsServiceRequest يقوم بطلب خدمة هذا باحتساب خصومات الشحن الخاصة بحركة المبيعات.

على سبيل المثال، عند إنشاء حزمة خصم جديدة، قم بإضافة تفعيل مسبق إلى CalculateDiscountsServiceRequest طلب الخدمة واستدعاء PricingEngineExtensionRepository.RegisterDiscountPackage(new DiscountPackage()); داخل التفعيل المسبق.

ملاحظة

عند قيامك باستبداَلْ اَلْمعاَلْجات اَلْجاهزة لـ CalculateDiscountsServiceRequest، تأكد من وضع علامة على request.Transaction.IsDiscountFullyCalculated كصواب عند حساب اَلْخصومات. إذا لم تقم بتعيين هذه القيمة، فقد يمنع السداد المعاملة مع خطأ مشابه يجب حساب إجماليات المعاملة قبل إتمام عملية السداد.

تطبيقات التمويل والعمليات

بالنسبة لتطبيقات التمويل والعمليات، قم بتسجيل الخصومات من خلال ملحقات X++، استنادا إلى سيناريوهات المستخدم. على سبيل المثال، إذا كنت تريد تطبيق حزمة خصومات مخصصة لأوامر مبيعات مركز الاتصال، فقم بإضافة عامل التمهيد المسبق على RetailSalesOrderCalculator::setPricesDiscountsOnOrder واستدعاء Microsoft.Dynamics.Commerce.Runtime.Services.PricingEngine::RegisterDiscountPackage(new DiscountPackage()); داخل عامل التمهيد المسبق.

حساب الأسعار والخصومات مقابل تاريخ آخر غير اليوم

بشكل افتراضي، يطبق محرك تسعير Commerce الأسعار والخصومات استنادا إلى تاريخ حدوث معاملة المبيعات. عادة، هذا التاريخ هو "اليوم".

لتجاوز السلوك الافتراضي، اتبع الخطوات التالية:

  1. أضف pretrigger إلى CalculatePricesServiceRequest، وقم بتحديث قيمته DateWhenActive إلى التاريخ الذي يجب أن يحدث فيه الحساب.

  2. أضف pretrigger إلى CalculateDiscountsServiceRequest، وقم بتحديث قيمته DateWhenActive إلى التاريخ الذي يجب أن يحدث فيه الحساب.

    ملاحظة

    يمكنك تعديل DateWhenActive قيمة CalculateDiscountsServiceRequest فقط في Commerce الإصدار 10.0.37 والإصدارات الأحدث.

  3. في المقر الرئيسي، انتقل إلى معلمات>التجارة>الخاصة بإعداد>التجزئة والتجارةHeadquarters، وأضف مفتاح التكوين والقيمة التالية:

    • المفتاح: Pricing.ResetSalesDateKillSwitch
    • القيمة: صواب
  4. قم بتشغيل مهمة 1070 (تكوين القناة) ‏Commerce Data Exchange ‏(CDX)

ملاحظة

يجب التأكد SalesDate من تطابق قيمة كافة أسطر المبيعات مع التاريخ الذي قمت بتعيينه ل DateWhenActive.