我们目前只有一个业务部门,90%的记录由一个Scribe用户拥有。现在我们已经添加了一个新的业务部门和400K联系人,30K联系人将在这个新的业务部门下移动。
我在CRM中创建了一个属于这个新业务部门的新用户。下一步是将这些30K联系人的所有者更改为新创建的用户。
如果我错了,请纠正我,但这是我将这些30K联系人转移到新业务部门的唯一方法吗?
我遇到的问题是一次性更改这些30K联系人的所有者字段。我可以使用提前查找,然后改变所有者的方式,但想象这样做30K?!我还可以导出带有所有记录的excel表,更改所有者并将其重新导入,但这会产生错误(可能是因为我正在更改一个非常重要的安全相关记录?)
我的最后一个选择是直接在CRM数据库中进行此更改,但这不是我最喜欢的选择。
任何建议将非常感谢。
您还可以使用CRM 2011 SDK编写控制台应用程序
http://www.microsoft.com/en-us/download/details.aspx?id=24004
此应用程序将执行RetrieveMultiple
http://msdn.microsoft.com/en-us/library/gg328149.aspx
并且因为超过5K需要进行分页,如下所述:
http://msdn.microsoft.com/en-us/library/gg327917.aspx
对于每个检索到的记录,您需要使用AssignRequest
消息设置新所有者
http://msdn.microsoft.com/en-us/library/microsoft.crm.sdk.messages.assignrequest.aspx
Codeplex上的MSCRMToolkit有一个Workflow Execution Manager实用程序,它允许您在FetchXML记录集上运行On Demand工作流。我自己还没试过,但一直把它放在我的后袋里,以防万一。
我知道这是一个老问题,但我发现在大量记录上更改所有者的最简单方法是(仔细)直接编辑数据库。如果你知道你在使用SQL做什么,那么它就是小菜一碟,否则我会明确指出。
更新潜在客户的所有者:
USE <DEPLOYMENT>_MSCRM
GO
UPDATE LeadBase
SET OwnerID = <guid of owner here which can be found in the OwnerBase Table>
它与其他实体类似,机会基金机会基金会等。
*****警告,这将更新LeadBase表中的每条记录*****