我对 Siebel 中有关服务请求的特定功能有疑问。
当某些服务请求处于给定状态/子状态时,是否有办法跟踪时间,例如“等待客户”?当服务请求再次更改为不再是“等待某人”的另一个状态时,我不得不停止计算时间。
我不知道有什么开箱即用的解决方案可以满足您的需求,但是有很多方法可以通过一些定制来实现它。例如:
Waiting Time
(预设值:0)和Waiting Date
.On Field Update Set x
="Status", "Waiting Time", "IIF([Waiting Date] IS NULL, [Waiting Time], [Waiting Time] + (Timestamp() - [Waiting Date]))
On Field Update Set y
="Status", "Waiting Date", "IIF([Status]='Waiting on Customer',Timestamp(),NULL)"
您的Waiting Date
字段将存储服务请求上次更改为“等待客户”的时间,如果处于其他状态,则为 NULL。然后,Waiting Time
将累积请求处于该状态的总时间。
我没有测试过这个解决方案,它可能需要做更多的工作,例如,Siebel 可能不允许您[Waiting Time] + (Timestamp() - [Waiting Date])
直接使用表达式,您必须使用辅助计算字段来分解它。
另请注意,On Field Update Set 用户属性已将其语法从Siebel 7.7-7.8更改为Siebel 8.x。
如果你熟悉服务器脚本,你可以很容易地在BusComp_PreSetFieldValue
事件中实现类似的东西。如果要更改的字段是状态,请检查您是否进入或退出(或没有)“等待客户”状态,并相应地更新这两个字段。