【问题标题】:Sage CRM - Capture entity event update?Sage CRM - 捕获实体事件更新?
【发布时间】:2016-07-25 10:26:30
【问题描述】:

我可以在更新实体时更改/拦截事件吗?

例如,当我更新公司实体时?

想法是在实体更新后删除BBDD中的某些内容

【问题讨论】:

    标签: sage-crm


    【解决方案1】:

    您可以使用表格脚本在插入记录、插入记录后、更新记录或删除记录时运行函数。

    表格脚本使用 JavaScript,但可以访问服务器端函数(例如 FindRecord、SQL 语句等)。

    因此,您可以在实体中添加表格脚本,以便在更新记录时通过 SQL 语句删除记录。

    如果不确切知道您要做什么,很难给您举个例子。

    六点支持

    【讨论】:

    • 其实这正是我所做的,我的想法是在更新公司实体时删除与工作流的关系,所以我使用如下表格脚本:function UpdateRecord(){ var entityID= new String(CRM.GetContextInfo("Company","Comp_CompanyId")); var sql = "UPDATE vCompany SET Comp_WorkflowId = NULL WHERE Comp_CompanyId ="+entityID+";"; Query = CRM.CreateQueryObj(sql); Query.ExecSQL(); }
    • 完美,尽管您也可以考虑为“已关闭”或类似内容添加工作流状态。然后,您可以更新该记录的工作流实例,以将工作流默认设置为“关闭”。根据您要执行的操作,关闭工作流而不是删除链接可能是更好的做法。不过干得好!
    • 不能使用 Closed 状态,因为转换规则是一个调用 .exe 的 .asp 页面,对于业务逻辑,如果实体更新,则必须手动再次调用 .exe
    • 使用 SQL 更新 Worfklow 实例不会运行转换规则。因此,如果您需要运行 asp 页面,请在规则执行后执行 SQL。如果要停止运行 asp 页面,请在转换规则生效之前进行更新。这样,您仍然可以使用工作流并将状态设置为关闭,但您可以选择运行或忽略 asp 页面。
    • 您还可以通过添加一些翻译对任何实体(甚至自定义实体)进行高级搜索选择。查看 Jeff Richards 的这篇文章:community.sagecrm.com/partner_community/b/hints_tips_and_tricks/…
    猜你喜欢
    • 2015-05-28
    • 1970-01-01
    • 2018-09-22
    • 1970-01-01
    • 2019-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多