从各种促销活动中排除特定产品

2020-09-14 07:32发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们如何才能将特定产品从所有hybris促销中排除。

我们需要使用促销引擎在hybris 6.3 B2C中使用此限制。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们如何才能将特定产品从所有hybris促销中排除。

我们需要使用促销引擎在hybris 6.3 B2C中使用此限制。

付费偷看设置
发送
6条回答
我是小鹏鹏啊
1楼-- · 2020-09-14 08:28

Hallo

您找到了解决方案吗? 我们有类似的问题..谢谢

Nicolo

95年老男孩
2楼-- · 2020-09-14 08:23

该条件适用于产品级别的属性,如果您希望为所有商品提供10%的价格,则只需从促销规则实例中删除该条件即可。

当学会了学习
3楼-- · 2020-09-14 08:30

您需要创建一个新的促销条件以基于属性忽略产品,并将该条件添加到所有促销模板中。 每当使用模板创建促销规则时,默认情况下都会添加此条件。

歪着头看世界
4楼-- · 2020-09-14 08:31

感谢分享。 但是,这可以控制在促销活动之外排除哪些产品-例如后台,直接将产品标记为排除。

如果我们要设置促销活动中的排除产品怎么办? 因此,一种产品可以从一项促销中排除,而在另一项促销中包括。 您将如何在条件中添加此类排除并使其在操作中可用? 有什么建议。

谢谢。

落灬小鱼
5楼-- · 2020-09-14 08:27

嗨,

我有类似的要求,并按照以下方式进行操作:

在产品模型中添加了新属性

  
      表明将从全球折扣计算中排除该产品
       false 
      
  


  

在bean ProductRao中添加了新属性

  
      
  

  

添加了两个填充器

 公共类MyProductRaoExcludedPopulator实现Populator 
  {
      @Override
      公共无效人口(最终ProductModel源,最终ProductRAO目标)
      {
          target.setExcluded(source.isExcludedFromPromotions());
      }
  }
 
 
  公共类MyCartRaoPopulator扩展了CartRaoPopulator
  {
      @Override
      公共无效填充(最终AbstractOrderModel源,最终CartRAO目标)
      {
          super.populate(来源,目标);
 
          target.setEntries(filterEntries(target.getEntries()));
      }
 
      私人Set  filterEntries(最终Set 条目)
      {
          返回entry.stream()
                  .filter(entry->!entry.getProduct()。isExcluded())
                  .collect(Collectors.toSet());
      }
  }

  

更改的bean声明

  
 
  
      
          <列表>
              
              
          
      
  
 
  
 
  
  


  

从MyCalculationService中的DefaultCalculationService覆盖方法:受保护的double computeDiscountValues(最终AbstractOrderModel顺序,最终布尔重新计算)

从父方法复制代码并对其进行了小的调整

  ...
  最终的double DiscountablePrice =计算DiscountablePrice(订单)
  ...

  

在MyCalculationService私有方法中添加了方法double double CalculationDiscountablePrice(最终AbstractOrderModel订单),并从父级DefaultCalculationService :: calculateSubtotal复制了代码

进行了调整,其中主要的调整是

  ...
  用于(最终AbstractOrderEntryModel条目:条目)
         {
             如果(!entry.getProduct()。isExcludedFromPromotions())
             {
  ...

  

不要忘记为此调整弹跳豆(最可能的是您已经拥有自己的CalculationService)。

它正在运行。

SAP砖家
6楼-- · 2020-09-14 08:18

创建一个名为"新鲜到货"的分类类别。 在此类别中添加产品并设置类别限制,因此,您希望不包含在促销中的任何产品,只需将其添加到"新到货品"分类类别中即可。 如果一周后您意识到现在希望将此产品包括在促销中,只需将其从分类类别中删除即可。

一周热门 更多>