【发布时间】:2015-06-05 16:52:34
【问题描述】:
我对 Siebel CRM 有要求。当状态字段设置为关闭时,客户端不希望将子状态字段设置为已解决。这是 Siebel vanilla 的默认行为,如何更改它?我曾尝试使用 Siebel 工具。是工作流程吗?
业务组件为Service Request,小程序为Service RequestDetailed Applet。
【问题讨论】:
标签: siebel
我对 Siebel CRM 有要求。当状态字段设置为关闭时,客户端不希望将子状态字段设置为已解决。这是 Siebel vanilla 的默认行为,如何更改它?我曾尝试使用 Siebel 工具。是工作流程吗?
业务组件为Service Request,小程序为Service RequestDetailed Applet。
【问题讨论】:
标签: siebel
这是类行为。我尝试了 bc 用户属性、运行时事件和脚本,当状态设置为关闭时,无法将 Sub-Status 的值保留为旧值。当 SR 关闭时,子状态自动设置为“已解决”
解决方法 1:如果您的客户不希望那里的值“已解决”,您可以在 LOV 中停用该值 (LOV_TYPE='SR_SUB_STATUS')。现在可以关闭 SR,子状态将保持空白,因为找不到“已解决”值。如果用户想自己设置,您可以要求用户为子状态选择值“已完成”。
解决方法2:如果您的要求是在 Status='Closed' 时永远不会有子状态值,您可以尝试在发生这种情况时将子状态字段设为空白。
function BusComp_PreWriteRecord()
{
if (this.GetFieldValue("Status") == "Closed")
{
this.SetFieldValue("Sub-Status", "");
}
return (ContinueOperation);
}
但是当 Status='Closed' 时永远不能设置 Sub-Status
解决方法 3:也许您有一个工作流,它会在满足某些条件时自动关闭服务请求,但随后子状态会自动设置为“已解决”,而您想阻止这种情况。在这种情况下,您可以修改该 WF/BS 以在子状态中设置不同的值。
【讨论】:
很可能,它将通过 BusComp 用户属性。在服务请求 BC 下,检查 BC 用户属性,在“值”中查询 esolv。当“状态”字段更改时,您可能会获得自动设置“子状态”的属性。如果您发现了这种情况,您可以简单地停用该记录。
如果它不在此处,则检查应用程序中的 RunTime 事件。您必须检查 SR BC 下的 SetField 事件,看看这些事件中是否有任何事件调用 BC 的 SET 方法。
【讨论】: