调用CRMEventAdd时EventCrtOffCode不生效,Created By无法指定
jXchange CRMEventAdd/CRMEventMod 「Created By」字段设置问题解决方案
核心问题解析
使用CRMEventAdd创建CustCon事件时,即使给CRMEventInfoRec.EventCrtOffCode赋值了有效职员编码,「Created By」仍显示jXchange发起用户;CRMEventMod操作存在同样问题。以下是针对性解决说明:
1. 如何在CRMEventAdd中指定「Created By」
EventCrtOffCode并非控制「Created By」的字段——该字段默认绑定发起请求的jXchange用户身份。要手动设置目标创建者,需在CRMEventInfoRec中显式传递**EventCrtUser**参数,赋值为目标职员的用户ID(而非岗位OFFCODE)。
需满足两个前提:
- 目标用户ID在系统中存在且具备事件创建权限
- 当前请求的权限上下文允许覆盖默认创建者(部分环境需额外配置权限)
调整后的代码示例:
// 原代码仅设置Assigned To和EventCrtOffCode crmEventInfoRec.EventAsgnOffCode = "TARGET_OFFCODE"; // 控制Assigned To crmEventInfoRec.EventCrtOffCode = "TARGET_OFFCODE"; // 新增设置Created By的关键参数 crmEventInfoRec.EventCrtUser = "TARGET_USER_ID"; // 替换为实际用户ID
2. EventCrtOffCode的实际作用
EventCrtOffCode的设计定位是标记事件创建者所属的岗位/部门编码,而非直接指定创建者用户,具体作用包括:
- 用于报表统计、业务过滤时,关联创建者的岗位维度属性
- 继承该岗位的默认配置(如通知规则、业务范围)到事件
- 和
EventAsgnOffCode(控制Assigned To)的逻辑不同,它不直接映射到具体用户,仅做岗位维度的关联标记
CRMEventMod的同理处理
修改已有事件的「Created By」时,同样需要在CRMEventMod请求中传递EventCrtUser参数。注意部分系统可能限制修改历史事件的创建者信息,需确认当前操作用户是否具备对应权限。
内容的提问来源于stack exchange,提问作者ConsciousDev
相关产品推荐
相关产品推荐

