我遇到了一个奇怪的问题。我有一个工作流程,在创建实体时触发。它有以下步骤。
步骤1:更新查阅字段以链接到自动编号实体中的记录。
步骤2:将记录号字段设置为自动编号实体中的计数器字段的值。
步骤3:使用同一实体中的Increment By字段的值增加Autonumber实体中的计数器字段。
我使用此类工作流程作为获取自动编号的方法。这工作正常,直到我决定将我的非托管解决方案导入另一个组织。在此新组织中,此工作流在步骤1中引发以下错误。
同步工作流程' SP Electrical Autonumber'以错误' systemuser终止,Id = 1901130da -....。不存在'
这很奇怪,因为我正在创建实体,因此工作流程设置为The user who made changes to the record
,并且我已获得系统管理员配置文件。此外,我的GUID与上面的guid不同,我的guid存在于数据库中。所以我很难理解从哪里得到这个指导。
我已经使用(Select * from Filteredcal_autonumber
)检查了第一步中的Autonumber记录,并且无法在任何地方找到错误消息中的guid!
那么它在哪里得到这个guid,为什么只是这个工作流程会抛出这个错误。其他实体使用类似的工作流程为他们的自动编号,他们似乎工作正常。有任何想法吗?或者值得欣赏的地方。我自己对此进行了很多调查,只是作为最后的手段在这里发布,因为我真的没有想法。
我甚至删除了整个工作流程并重新创建它以查看是否可以解决问题。但它没有,我仍然得到这个错误。
我已经确定了guid属于我之前导入解决方案的组织的安装程序帐户。不知道为什么这个过程在新组织中寻找这个指南。任何人吗?
答案 0 :(得分:1)
好的,我很高兴我到底了。这是另一个CRM问题!!!
问题根本不在于工作流程。尽管停用了工作流程,我仍然收到错误。在与工作同事讨论时,我们得出结论,可能已插入旧组织的GUID的一种可能性是Visual Studio。旧组织使用自定义插件,它们保存在Visual Studio中。当我将解决方案导入新组织时,我继续使用Visual Studio对这些插件进行更改。我继续将它们部署到新组织。这使Visual Studio将旧guid转移到新组织。
我应该做的是,在VS中,当您连接到新组织时,您需要打开RegisterFile.crmregister
文件,在Deploy project
中找到并设置Id='[guid here]'
{}到Id='000000-0000-0000-0000-000000000000'
,以便在创建和存储从新组织部署新的新GUID时。
要解决我的问题,我取消注册插件,然后重置文件中的ID,然后重新部署插件!瞧!现在一切正常!