Backoffice在打开UserGroup时自动获取成员

2020-09-15 03:32发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)亲爱的 (已在Hybris 6...

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

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


亲爱的

(已在Hybris 6.3.0.8和6.4.0.4版上验证)

MembersFinderEditor在Backoffice中似乎有问题。 重现步骤:

  1. 打开后台办公室

  2. 转到用户->用户组

  3. 打开任何用户组(例如bopisCustomers)

结果是显示编辑器视图。 需要注意的重要一点是 members 属性的显示方式:不显示搜索结果,但包含一个简单的按钮即可按需执行搜索。 但是似乎在后台,实际上是在打开此页面时执行搜索! 由于用户组中有很多用户,因此在我们的情况下,此视图非常慢。 另外,据我所知,不应该执行搜索。

要验证是否执行搜索,请在调试模式下启动Hybris,并在PrincipalGroupModel类中的以下方法上放置一个断点:

 公共Set  getMembers()
  {
    返回getPersistenceContext()。getPropertyValue(MEMBERS);
  }
  

您会注意到,此操作在不应该触发的地方触发。 一些更多信息:

  • 操作的"起点"是AbstractObservable :: changed('currentObject')方法

  • 这将触发AbstractEditorAreaComponentRenderer :: createEditor,isReferenceEditor为其返回true,并且所有"由编辑器引用的对象"都注册为观察者(在按钮情况下很奇怪)

感谢您的帮助!

亲切的问候

5条回答
Violet凡
2020-09-15 03:48

巴特,

这似乎是一个明显的错误。 我将在我们的积压订单中创建票证。 感谢您的举报!

一个评论-经过快速的初步调查,我可以看到通过单击按钮进行的​​搜索与模型类的原始get有所不同。 搜索加载配置并经过完整的灵活搜索堆栈,getter只是返回关系中的内容。 这仍然是不必要的操作,但是它不需要那么多时间。 如果这样做,我建议的第一件事就是考虑数据库级别的优化。

干杯,
马辛

一周热门 更多>