问题:
项目中有用户反馈,流程签审记录显示内容很多,只想关注“批准”和“拒绝”的节点信息,是否有办法实现?

图1:Teamcenter12.4中显示的流程签审记录,会将很多信息都显示出来,比较冗余
分析:
实施过Teamcenter10.1以前老版本项目的应该深有体会,在流程签审记录查看这块很不方便,比如Teamcenter8.3\Teamcenter9.1版本中想要查看流程签审记录得执行菜单“查看”->“审计”->"文件"/“签发报告”,才能看到基于文本的签审记录,无从进一步签审记录排序筛选等,因此这块很多项目是结合二开来做一个查看签审记录界面的,从Teamcenter10.1版本开始才有了专门查看签审记录的“流程历史记录”视图

图2:Teamcenter8.3中查看签审文件

图3:Teamcenter8.3中查看签审报告

图4:Teamcenter12.4中流程历史记录视图查看签审记录
问题解决:
尝试方法一
在详细信息视图中有个“过滤管理器”可以对显示的信息进行过滤,是否可以将该功能添加到“流程历史记录”视图中,来对显示的内容进行过滤?比如过滤“对象类型”为EPMPerformSignoffTask,并且签发决定不等于空的,则就能过滤出批准或者拒绝的签审记录

图5:"详细信息"视图中的“过滤管理器”效果,比较好用,还可以组合过滤
说干就干,找到“过滤管理器”功能,修改ootb包,将“过滤管理器”强加到“流程历史记录”视图中,执行“过滤管理器”无反应,和想的有点不一样,控制台报错
“java.lang.ClassCastException: org.eclipse.jface.viewers.TreeViewer cannot be cast to org.eclipse.jface.viewers.TableViewer”,
意思就是不能将树状视图转为表格视图,道理好像确实是这样,“流程历史记录”里的是树状的,没办法直接转为表格,难怪ootb未在这里加入“过滤管理器”,因为树状有父子关系,确实不适合简单的过滤,这条路走不通了(说不定以后的版本会出来针对树状视图过滤的视图,期待)
org.eclipse.core.runtime - org.eclipse.e4.ui.workbench - 0 - Command 'com.teamcenter.rac.views.filter' failedorg.eclipse.core.commands.ExecutionException: Error executing 'com.teamcenter.rac.views.filter': java.lang.ClassCastException: org.eclipse.jface.viewers.TreeViewer cannot be cast to org.eclipse.jface.viewers.TableViewerat org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:170)at org.eclipse.core.commands.Command.executeWithChecks(Command.java:497)

图6:强加到“流程历史记录”视图中的“过滤管理器”执行后控制台报错
尝试方法二
既然不能对树状视图过滤,那就想办法将这个视图里的内容弄到表格视图中显示,就可以支持过滤了,方法如下:
1.全选所有签审记录->右键选择“打开方式”->“详细信息"


2.在View Menu中选择”列...“菜单,将”对象类型“显示出来


3.点击"过滤管理器",加入条件“对象类型==EPMPerformSignoffTask AND 签发决定 != ”后点击过滤

将过滤出“批准”和“拒绝”的签审记录

系统会记录上次过滤的条件记录,下次再次过滤时候,可以直接选择。

尝试三
如果是awc客户端,则显示的是几个关键签审记录,而且是表格形式的,点击“任务状态”列可进行过滤“批准”和“拒绝”状态的签审记录,这里就体现了awc的先进性,点赞👍



总结:
想对签审记录进行过滤,在Teamcenter10.1版本以后(包括本版本),胖客户端中可以将所有的签审信息显示在“详细信息”视图中,再进一步进行过滤,在awc中可以直接过滤。





