我正在编写一个VBA宏,该宏在一个系统上运行,该系统安装了Microsoft Dynamics CRM 2011 for Microsoft Office Outlook客户端(并连接到CRM 2011本地服务器)。
宏知道CRM事件的GUID,并且执行其他任务时应该向连接到该事件的联系人创建电子邮件,然后“设置关注”电子邮件以指向正确的事件记录。我可以通过编程方式完成“Set About”之外的所有事情。
我在本文Crm 2011 outlook client - Set regarding mandatory中发现当您通过Outlook客户端GUI设置时,它会在电子邮件项目上创建4个UserProperties。
我试图通过创建4个用户属性来复制它: -
res = oItem.UserProperties.Add("crmLinkState", 3)
oItem.UserProperties("crmLinkState").Value = 1
res = oItem.UserProperties.Add("crmRegardingId", 1)
oItem.UserProperties("crmRegardingId").Value = MatterGUID
res = oItem.UserProperties.Add("crmRegardingObjectType", 1)
oItem.UserProperties("crmRegardingObjectType").Value = 112
res = oItem.UserProperties.Add("Regarding", 1)
oItem.UserProperties("Regarding").Value = MatterDescription
这会导致Outlook电子邮件项目在底部显示相关窗格,但在窗格中显示“关于:无”。如果您发送的电子邮件不会跟踪到CRM。我该怎么办?我找不到专门用于Outlook CRM客户端的任何方法。是否有一些我缺少的oItem.SetRegarding()方法?
任何帮助非常感谢。 Tony Woodhouse
答案 0 :(得分:3)
最终让这个工作。
出于某种原因,即使我在创建四个自定义属性后只显示我的邮件项目,我遇到的问题也是一种显示/刷新故障。
显示项目后, oItem.Save()
似乎迫使客户重新评估邮件属性,并意识到它现在是一条被跟踪的邮件。只需添加一行代码,一切正常: - )