状态更改时的时间跟踪



我有一个关于Siebel中特定功能的问题,关于服务请求。

有没有一种方法可以跟踪特定服务请求处于给定状态/子状态的时间,例如"等待客户"?当服务请求再次更改为另一个不再是"等待某人"的状态时,我必须停止计时。

我不知道有任何开箱即用的解决方案可以满足您的需求,但有很多方法可以通过定制来实现。例如:

  1. 创建两个新字段Waiting Time(预定义值为0)和Waiting Date
  2. 创建以下BC用户属性:
    • 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字段将存储服务请求最后一次更改为"Waiting on Customer"的时间,如果处于其他状态,则为NULL。然后,Waiting Time将累积请求处于该状态的总时间。

我还没有测试该解决方案,它可能需要更多的工作,例如,Siebel可能不允许您直接使用表达式[Waiting Time] + (Timestamp() - [Waiting Date]),您必须使用辅助计算字段对其进行分解。

还请注意,On Field Update Set用户属性已将其语法从Siebel 7.7-7.8更改为Siebel 8.x。

如果您熟悉服务器脚本,您可以在BusComp_PreSetFieldValue事件上很容易地实现类似的功能。如果更改的字段为Status,请检查您是否正在进入或退出(或未进入)"Waiting on Customer"状态,并相应地更新这两个字段。

相关内容

  • 没有找到相关文章

最新更新