Crm 2011 Outlook客户端 - 设置为强制
问题描述:
我们的客户使用Microsoft CRM 2011 Outlook客户端,他们有一个独特的业务需求。他们想让所有使用Outlook发送电子邮件的员工强制执行“Set Regarding”(怪异?)。如果用户在发送电子邮件时忘记设置,outlook应该显示通知消息,并且不应该让用户发送电子邮件。Crm 2011 Outlook客户端 - 设置为强制
我一直没有找到任何开箱即用的功能,所以我决定写一个outlook插件。有没有办法知道在Outlook插件ItemSend事件,邮件项目具有为关于字段设置的值?我可以得到电子邮件的主题,包括CRM:xxxxx,但由于电子邮件尚未在CRM中创建,我不知道如何提取有关数据。
答
有关跟踪的信息存储在邮件的MAPI属性中。请参阅附件截图。它们应该可以在ItemSend事件中访问。
你可以得到这样的信息(来自@Ahmeds评论)
dynamic regardingId = mailItem.PropertyAccessor.GetProperty("schemas.microsoft.com/mapi/string/;{00020329-0000-0000-C000-000000000046}/crmRegardingId/0x0000001F");
答
我用下面的代码VS2012和Outlook 2010,以获得有关GUID。
dynamic id = mailItem.UserProperties["crmRegardingId"];
if (id != null) Console.Write(id.Value);
else Console.Write("Error");
神奇。你刚刚救了我的一天。对于其他可能面临此问题的人: 动态aboutId = mailItem.PropertyAccessor.GetProperty(“http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/crmRegardingId/0x0000001F”) ; – Ahmed 2012-03-23 11:58:34
谢谢@艾哈迈德。我已将您的代码添加到答案中,以便正确格式化 – ccellar 2012-03-23 12:07:53