为什么我在添加可选默认值时收到错误消息:"No modifications to the 'SYSTEM' or 'INTEGRATION' user are permitted."?
Why do I get the Error Message: "No modifications to the 'SYSTEM' or 'INTEGRATION' user are permitted.", when I add an Optional default Value?
我正在将一些数据库从 SSMS 迁移到 CRM Online。问题是,SSMS 数据库中有系统用户,在 CRM Online 中被删除,或者更糟的是系统用户有一个新的 GUID。在这种情况下,我试图寻找相似之处。我发现,来自两个系统的系统用户在“internalemailaddress”字段中具有相同的值。所以我在 Dynamics CRM Destination 中使用了它。并为“可选默认值”添加了一个值。
然后出现了这个错误代码:
CRM 服务调用返回错误:不允许修改 'SYSTEM' 或 'INTEGRATION' 用户。
在另一个站点上,我可以使用全名,我使用了“可选默认值”。
这给了我这个错误代码:
CRM 服务调用返回错误:系统用户 ID = 11111-111-AAAA-BBBB-123456789 不存在
和
CRM 服务调用返回错误:发生意外错误。
当我没有在“可选默认值”中写入任何内容时,我收到此错误消息:KingswaySoft.IntegrationToolkit.DynamicsCrm.LookupFailureException:'managerid' 字段的文本查找失败,实体 'systemuser' 执行不包含 'fullname' 字段值为“”的记录(Microsoft Dynamics 365 的 SSIS 集成工具包,v11.1.0.7311 - DtsDebugHost,v15.0.2000.93)
有人知道问题和解决方案吗?
我将不胜感激。
我的第一个错误是,我试图在“internalEmailAddress”中提供 GUID。为了解决它,我做了一个 LEFT JOIN,在那里我得到了所有 Territory 和他们的 SystemUsers。
我的 SQL 查询:
SELECT Territory.*, ModifiedBy.InternalEMailAddress as M_EMail,
CreatedBy.InternalEMailAddress as C_EMail, ManagerId.InternalEMailAddress as Manager_Email
FROM TerritoryBase as Territory
LEFT JOIN SystemUser as ModifiedBy
ON Territory.ManagerId = ModifiedBy.SystemUserId
LEFT JOIN SystemUser as CreatedBy
ON Territory.CreatedBy = CreatedBy.SystemUserId
LEFT JOIN SystemUser as ManagerId
ON Territory.ManagerId = ManagerId.SystemUserId
然后在目标中我分配了如下列:
Source Destination
C_Email CreatedBy
M_Email ModifiedBy
Manager_Email ManagerId
文本查找编辑器是这样的:
InternalEmailAddress(E-Mail from SystemUser)
这解决了问题,但我仍然遇到此错误:
CRM 服务调用返回错误:不允许修改 'SYSTEM' 或 'INTEGRATION' 用户。
此错误代码的问题是,我在区域中的“ManagerId”字段中有多个 SystemUser,这在在线 CRM 中不存在。由于我输入了“默认选项值”,所有缺少的 SystemUser 都分配给了 1 个 SystemUser。在 CRM 中,您不能将 1 个 SystemUser 分配给更多 Territory 的 ManagerId 字段。因此,如果用户不存在,最终结果是不填写该字段。
但是如果您需要将 SystemUser 分配给 ManagerId 字段,那么您应该使用“派生列”手动分配 SystemUser。
我正在将一些数据库从 SSMS 迁移到 CRM Online。问题是,SSMS 数据库中有系统用户,在 CRM Online 中被删除,或者更糟的是系统用户有一个新的 GUID。在这种情况下,我试图寻找相似之处。我发现,来自两个系统的系统用户在“internalemailaddress”字段中具有相同的值。所以我在 Dynamics CRM Destination 中使用了它。并为“可选默认值”添加了一个值。
然后出现了这个错误代码: CRM 服务调用返回错误:不允许修改 'SYSTEM' 或 'INTEGRATION' 用户。
在另一个站点上,我可以使用全名,我使用了“可选默认值”。
这给了我这个错误代码: CRM 服务调用返回错误:系统用户 ID = 11111-111-AAAA-BBBB-123456789 不存在
和
CRM 服务调用返回错误:发生意外错误。
当我没有在“可选默认值”中写入任何内容时,我收到此错误消息:KingswaySoft.IntegrationToolkit.DynamicsCrm.LookupFailureException:'managerid' 字段的文本查找失败,实体 'systemuser' 执行不包含 'fullname' 字段值为“”的记录(Microsoft Dynamics 365 的 SSIS 集成工具包,v11.1.0.7311 - DtsDebugHost,v15.0.2000.93)
有人知道问题和解决方案吗? 我将不胜感激。
我的第一个错误是,我试图在“internalEmailAddress”中提供 GUID。为了解决它,我做了一个 LEFT JOIN,在那里我得到了所有 Territory 和他们的 SystemUsers。 我的 SQL 查询:
SELECT Territory.*, ModifiedBy.InternalEMailAddress as M_EMail,
CreatedBy.InternalEMailAddress as C_EMail, ManagerId.InternalEMailAddress as Manager_Email
FROM TerritoryBase as Territory
LEFT JOIN SystemUser as ModifiedBy
ON Territory.ManagerId = ModifiedBy.SystemUserId
LEFT JOIN SystemUser as CreatedBy
ON Territory.CreatedBy = CreatedBy.SystemUserId
LEFT JOIN SystemUser as ManagerId
ON Territory.ManagerId = ManagerId.SystemUserId
然后在目标中我分配了如下列:
Source Destination
C_Email CreatedBy
M_Email ModifiedBy
Manager_Email ManagerId
文本查找编辑器是这样的: InternalEmailAddress(E-Mail from SystemUser)
这解决了问题,但我仍然遇到此错误: CRM 服务调用返回错误:不允许修改 'SYSTEM' 或 'INTEGRATION' 用户。
此错误代码的问题是,我在区域中的“ManagerId”字段中有多个 SystemUser,这在在线 CRM 中不存在。由于我输入了“默认选项值”,所有缺少的 SystemUser 都分配给了 1 个 SystemUser。在 CRM 中,您不能将 1 个 SystemUser 分配给更多 Territory 的 ManagerId 字段。因此,如果用户不存在,最终结果是不填写该字段。
但是如果您需要将 SystemUser 分配给 ManagerId 字段,那么您应该使用“派生列”手动分配 SystemUser。