Dynamics CRM用户创建后自动添加到团队报错

前两天在实现一项需求——用户创建后自动添加到一个叫做“全体员工”的团队的时候,遇到了一个奇怪的错误,CRM的错误日志只有一句简单的“Generic SQL error.”。一般遇到这个错误处理都非比较棘手,因为已经不是应用层出现的,一般都出现在数据库层面了。

这样简单的提示肯定没法发现问题,于是找遍了操作系统的日志查看器、sql server的错误日志,没有找到有用的信息,最后不得已,只好开启tracing service,从长长的日志中发现了一句关键的提示:System.Data.SqlClient.SqlException: 不能在具有唯一索引“cndx_SystemUserPrincipals”的对象“dbo.SystemUserPrincipals”中插入重复键的行。重复键值为 (e5318580-6476-e711-80f9-a3bb6ffaa102, b6a6f70a-ed6c-e711-80f9-a3bb6ffaa102)。从字面上来看是因为dbo.SystemUserPrincipals已经存在关于这个用户和这个团队的记录了,但这个用户明明是新建的,按道理来说不应该出现在这个表中的,所以通过提示并不能了解到具体是什么原因导致错误,于是把这个作为关键字进行搜索,最终找到国外的社区中有人遇到的同样情况,推荐造成这个错误的原因应该是SystemUser的POSTOPERATION事件触发时系统并没有全部完成创建操作导致的,只需要把原来的插件改为异步执行即可。

时间: 2024-11-05 18:15:02

Dynamics CRM用户创建后自动添加到团队报错的相关文章

Dynamics CRM IFD部署后延长系统注销时间

Dynamics CRM 部署IFD后,一段时间后登陆状态会失效,系统会提示让你重新登陆,可以通过延长失效时间来规避 <span style="font-size:18px;">Set-ADFSRelyingPartyTrust -Targetname "CRM IFD Relying Party" -TokenLifetime 480</span> "CRM IFD Relaying Party"  是你的ADFS管理器

Microsoft Dynamics CRM 2013 /2015 配置之 添加 CRM 帐号和新建邮箱

在域服务器中建好帐号后,可以在exchange 2013 服务器中新建相关测试帐号的邮箱功能, 这样Microsoft Dynamics CRM 2015 for Outlook客户端就可以发挥作用了. 以下为新建邮箱步骤: 因为新建了二个帐号,所以在outlook 2013中,我们以管理员为例,添加邮箱功能, 好了,可以收邮箱了,下一步就可以安装 Microsoft Dynamics CRM 2015 for Outlook 2010/2013 客户端了,具体教程可以见:http://hang

ecmall用户登录后自动退出解决方法

一部分用户反映登录后自动退出,经过跟踪观察,发现这些用户都是动态IP,而ecmall 中的 session 刚好是与 ip 有关的,故而找不到用户回话二失败,需重新登录. 怎么处理呢? 修改 includes/libraries/session.lib.php 方法,简单粗暴,去掉 ip 判断即可,哇卡卡 /** * 生成session验证串 * * @author wj * @param string $session_id * @return stirng */ function gen_s

Dynamics CRM 用户角色及从 UCI 改为 classic UI

添加用户角色 https://crmbook.powerobjects.com/system-administration/business-administration/business-units/ 从UCI改为 classic UI https://xxx.crm.dynamics.com/main.aspx?forceclassic=1 删除URL所有参数并且添加forceclassic=1 即可转换成 classic UI permanently 切换到classic 在power p

CSS禁止Chrome谷歌浏览器激活输入框后自动添加橘黄色边框

Chrome默认会为所有的输入框加上橘黄色的边框,虽然有时候可以使我们的网站看起来更友好,但对自定义的样式是有影响的.当鼠标点击输入框时,在谷歌chrome浏览器中,光标移到输入框时激活输入框会被加上橘黄的边框,鼠标光标移开输入框后被加橘黄色边框消失.这个谷歌浏览器自动为输入框加css样式非常不美观影响效果,这里介绍解决在谷歌浏览器中禁止被激活输入框加橘黄色样式. 例如做了一个圆角框的input输入框,如果没有对边框focus时的属性做任何休息,Chrome将默认加上一个正方形的边框,无视你将i

Apache伪静态在网站目录没有反斜杠后自动添加反斜杠

第一步:确认网站开启REWRITE规则 一般有两种情况: i.apache安装的时候已经包含rewrite功能 ii.后续配置的时候新添加mod_rewrite.so.这种情况需要在httpd.conf文件中修改配置启动 在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句. 允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“Al

Dynamics CRM 部署NLB后使用群集名称访问弹验证框验证不过的解决方法

自上次部署NLB到现在已有段时间了,今天部署完后遇到了个问题,上次也遇到过但忘记了,本篇作为对该问题的一个记录,部署文档:https://blogs.msdn.microsoft.com/niran_belliappa/2014/02/17/network-load-balancing-microsoft-dynamics-crm-2013/ 因上述文档中的一个步骤没设置而导致遇到了问题,问题现象如下,我的群集是由两台app构成,在两台app上访问本地ok,用群集ip访问也ok,但唯独用群集名称

为什么S/4HANA的生产订单创建后会自动release

在S/4HANA系统里我们观察到通过函数CO_61_ORDER_EDIT创建的生产订单会自动释放Release: 通过第86行的IF语句的条件检测不难找到原因. 变量PROFILE_TMP的类型为TCO43: 这个scheduling profile的配置在路径Production->Shop Floor Control->Master Data->Define Production Scheduling Profile里: 如下图所示:Automatic Actions标签页里的On

利用K2和Microsoft Dynamics CRM构建业务App的5大理由

Microsoft Dynamics CRM提供了一个绝佳的客户关系管理平台,使您能够创建各种以客户为中心的解决方案.然而,通过将K2的企业业务流程功能与Microsoft Dynamics CRM相结合,您有机会构建为企业量身定制的业务应用程序.以下仅列举K2与Microsoft Dynamics CRM结合可为您带来的五大优势. 一.企业流程 Microsoft Dynamics CRM包含了一些流程功能,这些功能对于短暂的(几秒钟)实体操作流程来说至关重要,比如发布新信息时创建电话跟进流程