后台:父小部件的多引用编辑器删除刷新

2020-09-20 19:59发布

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

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


让我们以Backoffice为例。 我们查看一个产品,并找到链接的变体的参考列表,我们通过单击进入其中一个,然后在该编辑器中单击垃圾箱将其删除。 即实际的变体,而不是列表中的参考。 然后关闭编辑器,并刷新父窗口小部件。

在下面的图像中,您可以看到列表。 在这里,我们选择F-6522,它链接了许多88xxxx变体,在"产品变体"下以列表形式显示。 我正在谈论的是带有88xxxx的列表:替代文字

从产品中删除变体之后。 请注意,父窗口小部件已刷新的弹出窗口后面以及弹出窗口本身为空。 这仅在这里有效。 替代文本

上面解释的流程适用于具有到目前为止我们看到的变体列表的产品,但仅此而已。 没有其他人。 如果我们有一个具有集合/列表的客户(或任何其他模型)并执行相同的操作,即进入客户列表中的一项,然后将其删除,则仅删除该模型,而父小部件则不会 刷新后,导致模型被删除,但列表条目保留在父窗口小部件编辑器区域中,直到您重新加载页面为止。 我们希望所有地方都像对待产品和变体一样发挥作用,但我们无法弄清楚是什么使产品上的变体列表起作用,以及为什么它对于Backoffice中的任何其他模型都不起作用。

如果任何模型的列表中只有一项,则根本不会刷新窗口,并且即使删除了后端的模型并且列表现在为空,也将保留所有内容。 如果您在此编辑器中手动按刷新,它将消失。 同样,如果您重新加载页面,那么一切都正确,但是Backoffice似乎陷入了不一致的客户端状态。 当从参考编辑器中删除模型或更新模型时,我们不确定发生了什么,或者是否有设置用于刷新父编辑器区域小部件。

(65.5 kB)

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

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


让我们以Backoffice为例。 我们查看一个产品,并找到链接的变体的参考列表,我们通过单击进入其中一个,然后在该编辑器中单击垃圾箱将其删除。 即实际的变体,而不是列表中的参考。 然后关闭编辑器,并刷新父窗口小部件。

在下面的图像中,您可以看到列表。 在这里,我们选择F-6522,它链接了许多88xxxx变体,在"产品变体"下以列表形式显示。 我正在谈论的是带有88xxxx的列表:替代文字

从产品中删除变体之后。 请注意,父窗口小部件已刷新的弹出窗口后面以及弹出窗口本身为空。 这仅在这里有效。 替代文本

上面解释的流程适用于具有到目前为止我们看到的变体列表的产品,但仅此而已。 没有其他人。 如果我们有一个具有集合/列表的客户(或任何其他模型)并执行相同的操作,即进入客户列表中的一项,然后将其删除,则仅删除该模型,而父小部件则不会 刷新后,导致模型被删除,但列表条目保留在父窗口小部件编辑器区域中,直到您重新加载页面为止。 我们希望所有地方都像对待产品和变体一样发挥作用,但我们无法弄清楚是什么使产品上的变体列表起作用,以及为什么它对于Backoffice中的任何其他模型都不起作用。

如果任何模型的列表中只有一项,则根本不会刷新窗口,并且即使删除了后端的模型并且列表现在为空,也将保留所有内容。 如果您在此编辑器中手动按刷新,它将消失。 同样,如果您重新加载页面,那么一切都正确,但是Backoffice似乎陷入了不一致的客户端状态。 当从参考编辑器中删除模型或更新模型时,我们不确定发生了什么,或者是否有设置用于刷新父编辑器区域小部件。

(65.5 kB)
付费偷看设置
发送
6条回答
宇峰Kouji
1楼 · 2020-09-20 20:37.采纳回答

我将其放在此处,因为这是一个重要发现。 我们现在正在运行6.3.0.5,我们已经找到了问题。 就像您显示的一样,DefaultEditorAreaController仅侦听objectDeleted事件。 com.hybris.cockpitng.widgets.baseeditorarea.DefaultEditorAreaController#handleObjectDeletedEvent

但是,当您从多引用编辑器(如上图所示)从对话框弹出窗口中删除模型时,它仅发送ObjectsDeleted(注意复数形式为's'),编辑器区域不会收听。 因此,这一定是Hybris的Backoffice中的错误,因为如果我们手动发送objectDeleted事件,它将起作用。 未经修改的原始标准Backoffice中也存在此问题。

我们可以通过扩展DefaultEditorArea并为ObjectsDeleted事件添加另一个GlobalCockpitEvent来解决此问题,这将使删除工作正常进行。

me_for_i
2楼-- · 2020-09-20 20:32

这里是无法正常工作的地方,我有其他模型的多重引用列表,并且更新了名称,如警报所示,但客户端列表 处于不一致状态,因为编辑器区域窗口小部件尚未刷新。 手动刷新后,一切正常:替代文字

spaceman01
3楼-- · 2020-09-20 20:37

嗨,

您使用什么版本? 我刚刚尝试了最新的一个,一切似乎都按预期工作。

最好的问候, 雅切克

骆驼绵羊
4楼-- · 2020-09-20 20:14

在这里,我再次单击了列表中的引用,您可以在此处看到它是一致的,并且该模型具有我设置的新名称的正确值。 如果我单击垃圾桶并将其删除,它是列表/集合中最后一个引用的模型,那么即使警报提示已删除后端/服务器上已删除的旧窗口,该窗口也只保留旧值。 后台客户端不会刷新:

替代文字

nice_wp
5楼-- · 2020-09-20 20:20

已在Hybris 6.7中修复

# p #
野沐沐
6楼-- · 2020-09-20 20:34

嗨,

我还没有真正了解您的情况。 让我来描述一下EditorArea的工作方式:它注册了一个全局事件侦听器,该侦听器在删除/更新对象时执行一些检查。 它遍历已更改项的列表,并检查它们是否与编辑器区域中显示的项和/或被其直接引用的项完全相同(属于多引用类型或等于的任何属性) 任何单一参考属性)。

希望它能满足您的需求, 雅切克

一周热门 更多>