You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Kingswaysoft Dynamics 365工具包中,如何用ownerid GUID匹配用户实体自定义列?

解决Kingswaysoft中用OwnerID(GUID)匹配自定义用户字段的问题

问题根源

报错systemuser With Id = xxx Does Not Exist是因为默认配置下,Text Lookup会把传入的GUID当作系统用户的原生ID去查找,而非匹配你自定义的new_legacyuserid字段,自然找不到对应记录。

解决方案

以下是三种可行的实现方式,按需选择:

1. 调整Text Lookup Editor配置(最直接)

  • 打开Text Lookup Editor,目标实体选择systemuser
  • 在Lookup Criteria区域,添加条件:
    • 字段选new_legacyuserid
    • 运算符选Equals
    • 值输入ToString(OwnerId)(将源GUID转为字符串,确保和new_legacyuserid的文本格式匹配)
  • 切换到Advanced标签,设置Default Value为你的fallback用户的系统ID(比如be33cd29-671b-e511-80ce-005056ae320c),这样当没有匹配到(其他记录new_legacyuserid为空)时,自动返回该默认用户。

2. 使用Expression Lookup实现灵活匹配

如果Text Lookup的配置不够灵活,改用Expression Lookup:

  • 在表达式中直接构建查询逻辑,同时处理无匹配的情况:
    IIF(
        IsNullOrEmpty(FindRecord("systemuser", "new_legacyuserid eq '" + ToString(OwnerId) + "'", "systemuserid")),
        '你的fallback用户GUID',
        FindRecord("systemuser", "new_legacyuserid eq '" + ToString(OwnerId) + "'", "systemuserid")
    )
    
  • 这个表达式会先查找new_legacyuserid等于源OwnerID字符串的用户,找不到就返回预设的fallback用户ID。

3. 预处理GUID格式(避免格式不匹配)

如果new_legacyuserid中的GUID格式和源OwnerID的字符串格式不一致(比如有无花括号、大小写差异),先做格式统一:

  • 用字符串函数清理源OwnerID:
    Replace(Replace(ToString(OwnerId), "{", ""), "}", "")
    
  • 把清理后的字符串作为匹配值传入Text Lookup或Expression Lookup,确保和new_legacyuserid的格式完全一致。

内容的提问来源于stack exchange,提问作者Khadim Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 15:27:12