- 博客(670)
- 资源 (7)
- 收藏
- 关注

原创 Dynamics 365 for Phones & Power Apps Android APK下载
因国内安卓市场没有安卓的Dynamics 365 for Phones,只能从Google play下,但众所周知国内访问不了Google play,所以我下载后上传给有需要的人,会不定时更新,如果版本差别大了,可以留言提醒我再次下载后上传。 APP下载地址,提取码y8ft。 如果你能科学上网,可以自己从这个地址下载...
2019-11-26 17:15:19
90855
6

原创 全网中文Dynamics CRM技术博客集锦
https://www.cnblogs.com/xiefengdaxia123/p/https://www.cnblogs.com/yobyron/https://www.cnblogs.com/TheMiao/https://www.cnblogs.com/luoyong0201/https://www.cnblogs.com/StoneGarden/https://blog...
2019-05-11 12:37:30
1991
6
原创 Dynamics 365 XrmToolBox工具之Clone Field Definitions
在建实体的时候,我们经常会碰到实体间一些字段存在重复,或者都可以直接复制黏贴加一些少量修改就可以生成第二个实体,但如果仅从D365本身来说,要做到复制只能通过solution导出编辑后导入的方式,那这次介绍的这个工具,不能说完美实现上述需求,至少从字段层级可以复制黏贴,只需要选择原实体和目标实体列表中就能出现差异化的字段,只需要勾选你要复制的字段后点击Clone selected fileds即可,非常方便。好久没有分享XrmToolBox的组件了,今天要分享的是下图中这个组件。
2025-09-01 22:11:10
138
原创 从一件“小事”看乙方的卑微与无奈
以上的故事其实是乙方身份的缩影,是无数乙方正在经历的卑微时刻,在乙方给甲方交付的过程中,绝大多数的甲方人员都是专业的,但就是往往少数的不专业的人员才是乙方最大的考验,最大的雷,你不确定这个雷什么时候会被触发,什么样的条件下会被触发。在乙方的交付过程中,乙方不仅仅是解决方案供应商,更是“关系维护员”, 交付的不仅仅是产品和服务,更是维系客户关系的信任。你的能力,不仅体现在交付上,更体现在“搞定”甲方内部的各种复杂关系上。这说明,在乙方的工作中,除了专业能力,还需要承担大量的情绪价值和人际维护成本。
2025-08-31 13:05:51
379
原创 Power Apps 账户禁用问题
切换到Entra中,结果用户的状态是已启用,这就奇怪了,难道是同步问题?又去做了些查询,有的说是因为账户没有分派license,所以在应用中是禁用状态,但我的环境用户用的是Power apps per app的类型,在M365中也没有分配license这个操作。现在的环境是纯PP, 建了个MDA应用,今天在测试时发现,一个用户禁用了,惯性思维去找了下用户管理中的禁用和启用按钮,结果没找到,查了下原来现在用户的禁用与启用是在Entra中控制了。
2025-08-27 10:53:09
136
原创 浅谈技术顾问的转型困境
技术顾问在从“技术专家”转型为“直面客户的角色”(如项目经理、咨询顾问、产品经理、业务分析师)的过程中,往往会面临一种**从“技术导向”到“业务导向”“关系导向”**的深层转变。技术顾问习惯用“准确”表达,但客户往往更容易接受“合作”表达,表达“共同解决”的态度,而不是“甩锅”或“辩论”。技术人员习惯用“技术价值”定义自己的专业度,认为“我做得对”“代码没问题”“架构合理”就是最有力的背书。技术人员习惯于“精确表达”“快速解决”,缺乏耐心去做“情绪承接”“背景追问”“共情回应”。
2025-08-26 16:02:52
561
原创 Teams 深层链接无法跳转Power Apps MDA应用详情页面的问题
但问题也随之出现了,经过测试,深度链接跳转是成功了,确实跳转到了teams内的应用,但是仅仅是Homepage,到不了记录的详情页,同时我也开ticket问了微软support,得到的答复是by design, 基于安全考虑应用的跳转只能到达应用的Home页,无法抵达详情页。既然有了teams的通知审批,自然也就解决了移动端审批的问题,但是消息中的链接是mda应用的地址,也就是说点击链接会调用手机浏览器,这样的体验很不好,一则跳出了teams的体系,二则调用了手机浏览器还要再次登录。
2025-08-22 11:09:31
437
原创 Dynamics 365 探讨项目实施成功的五大关键要素
Dynamics 365 CRM项目的成功实施,我们从人员、技能、产品、方法、保障机制五大要素来谈谈。
2025-08-19 15:55:33
586
原创 Dynamics 365 实施项目中,关于解决方案架构师与系统架构师的职责划分的思考
系统架构师是面向“系统本身”的架构专家,解决技术复杂性问题;解决方案架构师是面向“业务场景”的桥梁人物,解决业务与系统如何结合的问题。角色定位的本质区别。
2025-08-18 14:45:02
816
原创 关于咨询顾问的思考,咨询顾问与实施顾问的区别
最后关于咨询,这里举个减肥的例子,一个体重肥胖者寻求咨询师要减肥,咨询顾问可以根据肥胖者的具体情况,量身定制减肥方案,包括如何吃如何合理摄入卡路里,如何运动如何健康的消耗脂肪,还有“可比路径”(极碳/地中海/间歇性),告诉他哪种人群更适配与副作用,咨询顾问制定多种方案,最终如何做选择权在这个减肥者,一旦减肥者选择了如何做,咨询顾问可以继续陪伴,监测该方案的落地情况,也可以给与减肥者实施活动的一些建议。继续减肥的例子,那如何来衡量这个咨询的成功与否呢,先要明确一个关键点,咨询的成功,不等于客户最终减肥成功。
2025-08-15 14:11:37
305
原创 Dynamics 365 Contact Center是什么
那到底contact center是什么,通俗易懂的说法 就是一个呼叫中心,一说到呼叫中心就是call center,再往下就是400来电,再说到电话就是耳熟能详的Avaya,Genesys等大厂,一般用CRM做呼叫中心系统集成软电话平台的对此都很熟悉,那再说回D365 contact center,其实就是一个UI平台集成了电话及各种digitial的channel, 比如live chat ,email, sms等等。如果想了解更多contact center的功能可以从官方。
2025-07-21 23:15:41
413
原创 Git之cherry-pick
团队在开发时,都会在dev分支上拷贝出各自的分支,开发阶段每天甚至每时每刻都会有代码迁入dev分支,在把自己的代码并入主分支前都需要rebase或者merge下主分支与自己的分支,确保合并的时候自己的分支代码与dev分支保持最新,不然贸然合并可能会导致本地的分支旧代码覆盖远程主分支的新代码。方式是,把主分支先迁出到本地,定位到git管理器,找到你的开发分支,列表中会显示这个分支所有的commit记录,选中一条或者多条,再点击菜单栏的类似cherry的icon图标,就可以直接推到主分支了。
2025-06-26 10:54:53
235
原创 Dynamics365 如何关闭智能填写辅助
对于企业目前还没大规模推广AI的情况下,如何关闭他呢,打开你的应用的编辑器,点击设置,在特性这一栏也就是我截图中的Features,把滚动条往下拉,就能看到了,默认是Default,要关闭改成off就行了。一个新的feature不是应该默认off, 有需要才打开吗?想必大家用国际版的在前两周的某个周一上班后打开窗体就看到了如下的一幕。三哥的脑回路,最近不论是国内还是国际大家都讨论的比较多,咱就不说了。记得发布下应用,可以立马生效。
2025-05-30 11:53:23
249
原创 Power Apps Teams应用的版本更新
但当你的应用的名字修改了或者图标或者描述,就需要重新更新app,因为这些信息是写死在配置文件里的,当然你也可以删除已有应用再上传个新的,这样做的问题就是用户门已经添加到他们应用列表的这个应用就会消失,要重新搜索添加。而你去Power apps的后台的应用中寻找这个版本信息修改的地方时,你是怎么都找不到的,具体的修改在下载的zip包中,需要解压修改manifest的配置文件,例如下图中标识出的app版本信息。上传后,就可以在teams的应用中搜索到它,添加后就会在你的应用列表里了。
2025-04-27 11:41:27
293
原创 Dynamics365 ExportPdfTemplate&ExportWordTemplate两个Action调用的body构造
下面是一段前端示例代码,在你登录D365的情况下,可以打开F12,在console中直接可以用,只需要把body中的EntityTypeCode,documenttemplateid, SelectedRecords中的参数替换成你的就行,可以用来测试。我的场景是使用power automate根据单据的状态变化触发,向特定用户发送带pdf附件的邮件通知,pdf附件是基于Word模版生成而来。SelectedRecords接受的是一个字符串,而我设置成了数组,正确的是下面这样。如下是最初的错误body。
2025-04-11 16:16:17
632
原创 PowerApps MDA-模版-文档模版无法下载和上传Word模版
这是一个已知bug, 什么时候能修复不好说,解决办法也很简单,先上传一个Excel模版,随便任何一个实体就行,为的是视图列中有一条数据。Power Apps的高级设置-模版中,文档模版目前只能看到新建和上传Excel模版,看不到Word模版。当你选中这条数据,再去点击两个下拉箭头时就能看到下载和上传Word模版了。
2025-04-07 20:56:33
284
原创 Power Apps MDA中的Lookup查找字段多选(同样适用于D365)
其中有四五款,我尝试了两款,实现方式无非两种,一种是利用N:N的关系,一种是用N:N的关系存储然后空间解析显示,一种是用文本数组的形式存储后在界面空间显示,后者和field service模块的多选查找实现方式是一样的,还有第三款我没尝试,是建立在一个真实的N:N的实体记录基础上的,而非N:N的关系基础上。将包导入系统后,打开需要编辑的窗体,在左侧的组件栏中的更多组件中,获取更多组件中能看到我们导入的pcf。点击组件后,选择对应的实体,我的场景里用的是用户,这块的static value必填项可以随便填。
2025-03-28 14:23:39
438
原创 Power Automate Send an email (V2)组件的邮件体中插入超链接
但像如下这样直接插入,是会被当成纯文本对待的,哪怕你加全了html标签都是没用的,因为标签会被转译,例如小于号会是<在使用邮件组件作为通知时,需要在邮件体中插入D365记录的超链接,方便接收邮件通知的用户跳转。所以要想生效html标签,得点击下图中的图标,启用html格式。收到邮件后就是超链接的效果了。
2025-03-26 16:23:51
332
原创 Dynamics 365 启用用户安全角色变更的审核功能
而实际的项目中不管是在测试阶段还是在运维阶段,经常会看到用户的安全角色莫名奇妙的被改了,或者某个之前被赋值过的安全角色莫名的被移除了,也不知道具体是谁干的,这种场景其实也是可以通过审核日志能看出来,前提是要启用安全角色实体的审核功能。D365自身的审核功能这里就不说了,是一个很古老的功能,用过D365的人应该都知道,今天要说的是用户安全角色变更的审核记录。很多人用系统的审核功能,更多的是用来追踪用户的登录记录,或者记录的修改记录。然后在属性中把审核的配置勾上,安全角色是系统实体,默认这个勾是没勾的。
2025-03-14 11:24:22
469
转载 Power Automate中如何获取行记录的URL
在D365中经常会有那种场景,给系统用户发送一些邮件提醒,也经常会用Power Automate来实现,那邮件内容中嵌入记录的Url是必然的,但Power automate中没有现成的方法可用。一般会有两种思路,一种是提前将记录Url存储在记录中的某个字段中,第二种是动态拼接。第二种可以参考如下博文;
2025-03-12 10:26:43
152
原创 Dynamics 365 新版的Power apps开发界面中如何找到开发者资源
D365的UI的变化一如既往的变化很大,例如慢慢的Classic UI逐步被UCI替代,例如现在进高级设置后,已经看不到经典界面了。取而代之的是UCI的界面风格,在Customizations中点开开发者资源直接跳转到了。Power apps的开发界面,并没有我们以前看到的开发者者资源下的内容,比如终结点地址。大家也能注意到,老版本中的组织服务的终结点也已经看不到了。新版的开发者资源换到了右上角的设置中。
2025-03-11 10:33:52
239
原创 Dynamics365 An un expected error occurred-System.FormatException: Input string was not in a correct
当你在插件注册器里注册一个插件时,如果你遇到了报错,而错误日志里显示的是 An unexpected error occurred,在详细的错误里如果知道如下这段话:System.FormatException: Input string was not in a correct format,则表示你的.NET Framework不对,需要选择正确的版本,比如我这里应该是4.6.2,我之前选择了4.8就不行了。
2024-11-12 11:17:38
412
原创 PluginType not found in PluginAssembly which has a total of [0] plugin/workflow activity types
我在用合并ILMerge工具合并的dll进行注册Plugin时,提示标题中的报错,我狗狗了下,说是改变Microsoft.Xrm.Sdk” and “Microsoft.Crm.Sdk.Proxy"两个dll的Copy Local"的属性为false, 但一开始没get到点,以为是如下配置,结果发现无效。直到后续反应过来,不是ILMerge的配置属性而是dll的,右击引用中的CRM的SDK相关的两个dll的属性。就会在dll的属性中看到Copy Local的属性,设置成false。
2024-11-12 11:08:02
254
原创 Dynamics365 更改用户的业务部门不再清空已有安全角色
但其中一个注意点是,你要保留的角色必须在你修改后的部门中有,如果没有则安全角色不会被保留。安装完解决方案后,双击打开在配置中找到如下配置,把false设置成true后更新即可。但现在有个系统设置可以利用,修改该设置后即可实现人员业务部门修改后而安全角色不会丢失。最好是下如下版本,因为我下的最新版1.0.2410.2293中找不到这个设置了。实操下来,我把下图中的用户从上海区改为西北区,区域售后服务经理的角色还在。在我们的既往认知里,用户的业务部门更改,角色是会丢失的,需要重新设置。
2024-11-08 23:15:14
462
原创 Dynamics 365 如何开启和取消用户创建个人视图的权限
D365视图分为系统视图和个人视图,个人可以根据自己的喜好和平时的使用频率设置自己的视图,创建方式如下图(目前该方式只支持OP的经典模式,和Online版本,OP的UCI模式还没有这个显示)。而这个功能是可以通过安全角色的设置来控制,如果想取消该权限,把下图中的创建个人的权限拿到即可。
2024-11-08 10:23:12
408
原创 Dynamics 365 dependency EntityType
导解决方案时经常会碰到组件依赖导致导入报错,而错误提示中组件只有type, 比如下图中的type 20和60, 初看之下并不知道是什么意思,从parentDisplayName能看出来,这个parent是个实体,但实体中的什么呢,目测是看不出来的。了,其中列举了所有枚举值,一看便清楚了,20是安全角色,60是系统窗体。这就需要微软的官方链接。
2024-09-29 18:28:12
371
原创 Power Automate 设置流Owner不生效的bug
经过多轮teams会议,最终锁定到了流的owner的问题,因为微软工程师后台查询到此流的运行者还是被禁用的账户,也就是说虽然前台改了,但后台数据并没有被更新。但是当把流的owner更新为可用的用户时,流依旧没被触发,触发的条件很简单,某个表的记录创建时,因为是生产环境,所以给21V提了A level的case。知道了问题,当前状况下意味着这个触发器已经废了,需要把它删掉重建,但具体导致这个问题的根本原因还需要微软的工程师继续查询,后续有说法了再来更新。
2024-09-24 18:07:19
772
原创 Dynamics CRM Ribbon Workbench-the solution contains non-entity components
这个时候邪乎的感觉就来了,过程中尝试了下载工具重新安装也不行,去狗狗了下有用的不多,看到一个可行的说版本不兼容,让尝试下老版本,但网上老版本的安装包已找不到,官网只能下载最新的,但好在XrmToolBox中可以选择旧版本下载,下图是我选择的版本。一开始没当回事,以为是我的解决方案问题,去检查了下,只有一个组件,并且哪怕我把组件换成了某个实体也不行,尝试了其他任何一个解决方案都是报同样的错。我的系统版本如下,如果有遇到同样问题的,可以尝试下以上方法。结果证实好用,可以加载解决方案成功编辑按钮。
2024-09-09 13:26:59
609
原创 Azure Data Factory 多选选项集不受支持
所以把值往外推就需要变通下,例如使用一个文本字段将多选的value值以文本的形式存下来,以这样的格式"1,2,3",可以利用power automate监控下字段的值的变化复制文本字段即可。在用ADF往外部推数据时,会碰到CRM的一种数据类型,多选拉下狂,如下图中的。如果我们把多选字段输入源字段中,会得到如下的提示。
2024-09-02 21:59:31
374
原创 Dynamics 365 如何查看某个自定义实体是谁创建的
虽然实体上记录上没有,但视图上有,可以打开高级查找,查找的下拉框选择视图,名称包含你的实体名字,比如我这儿的示例实体名称叫Atest, 同时编辑列,将创建者和创建时间两个字段加上,就能看到谁在何时创建了这个实体。项目中一般很少会去查一个实体是谁创建的,但有时团队人多时,或者人员变动大时,可能就有需要。也可以通过sql的方式查询entity的表信息,但entity表中并没有创建者和创建时间。可以查看实体的metadata信息。
2024-08-19 16:37:29
386
原创 记录下泡面神器的满血复活-Kindle Voyage刷安卓系统记录
至此,越狱成功,刷安卓也成功了,最后就是拷贝微信读书apk进kindle安装,有墨水屏版的1.5.2版本和正常的安卓2.3.3版本,有文章说这两个apk一样用,但我先打开的正常的安卓2.3.3体验一言难尽,一度我想把kindle扔了,但后来又点开了下墨水屏版的1.5.2, 幸好自己没扔掉,体验又回来了。至此泡面神奇满血复活,重要的事说三遍,要使用墨水屏版的微信读书,要使用墨水屏版的微信读书,要使用墨水屏版的微信读书,也就是INK_wechatread_v1.5.2.apk。中的网盘里的包,资源都大同小异。
2024-08-07 22:07:07
3758
4
原创 ADB Installer 0 file(s)copied
最后尝试了下老版本的,下载了个1.3.0的居然成功了,我的电脑是Windows 11 家庭版,按说支持最新版的ADB的, 不知道为什么,给遇到同样问题的朋友提供一种思路吧,像油管上的加Desktop文件夹的方式,行不通。再用cmd命令adb version验证下,提示adb不是有效命令,百分百安装失败了,往上各种搜索查询均没有对症的,其中也尝试了安装更新版本的,比如1.5.6,,都无济于事。看到4file(s)copied.基本就稳了,最后再command命令adb version验证下就Ok了。
2024-08-04 22:33:22
619
1
原创 Dynamics365 UCI下的高级查找(不要留恋Classic了)
但因为使用习惯问题,还是有人会通过右上角高级设置,进入Classic界面找到漏斗Icon来使用高级查找。UCI界面已经用了多年了,在Classic下的的高级查找按钮(漏斗icon)已不见踪影。但新的UCI风格下已经没了高级查找的概念,取而代之的是基于特定实体视图上的编辑筛选器。那如果实体不在导航站点地图上,找不到怎么办,可以使用顶部全局搜索栏,点击如下高亮。搜索你需要查找的实体,直接可以进入到对应实体的视图,使用筛选器进行查找了。
2024-07-09 20:17:14
423
原创 AzureDataFactory Dataverse connector自动处理了分页问题(单次查询上限5000条的限制)
众所周知,在用fetch执行D365的查询时,单次的查询是5000条,如果超过5000条则需要自己处理分页,添加额外的处理逻辑,但在ADF中,Dataverse connector的已经自动处理了分页,我们可以很简单的做个POC.我们以省去区县街道数据为例,构建如下Pipeline, 只有街道数据是超过5000条的。尝试在官方文档中查询相关说明,只在QA板块查到。街道的fetch查询如下。执行后的结果,一次执行完成插入。
2024-07-03 21:04:00
527
原创 AzureDataFactory 实体间的关联如何处理(Lookup)
Pipeline中的关键映射如下,设备表中的产品code,首先同步copy设备表(我这里假设前提product表已同步过,如果没有同步则可以在CopDevice后再加一个同步产品的Activity)使用ADF从外部数据源(例如Sql Server)往D365推数时,实体间的Lookup一定是要做的,本篇以我项目中的设备为例,设备表中有产品的lookup字段。第二步即在第二个Activity中通过fetchxml查询设备表,并通过link-entity product表把productid查出来。
2024-07-03 19:52:10
307
原创 AzureDataFactory 在不同的订阅间迁移Pipeline
前面的博文中的POC是客户向微软申请的试用环境,POC结束客户也购买了Azure订阅,需要复用试用环境中的Pipeline,此时就需要将Pipeline进行迁移。但UI层面没有提供上载的地方,但可以通过Azure Powershell操作,下面的链接中提供了方式,有兴趣的可以操作下。目之所及有两种方式,第一种是通过导入导出模版,选择需要迁移的Pipeline,导出模版,导出后是一个zip文件。下一步需要选择链接服务,你的源链接和你的目标链接,这个可以提前建好,此处直接选择就行。
2024-06-17 19:35:57
415
原创 AzureDataFactory 表选项之自动创建表
但如果我的应用场景是将D365的表数据推送到外部数据源,需要原表clone,如果我去先建表建字段再做mapping未免过于繁琐,此时我们可以使用表选项中的自动创建表功能。, 该篇里表与表之间采取了提前mapping的方式,通过Import schemas的方式将源和目标的表的schemas做了一对一的匹配。只需将接收器数据集的表设置为手动输入,填入表明即可,首次同步时会根据此处输入的表明在目标数据库中自动创建表。
2024-05-10 20:57:25
267
原创 Dynamics365 视图搜索启用/禁用星号模糊搜索
如果要使用模糊搜索,则将该设置关闭,使用时只有下述这么一段警告,不会阻止你使用。默认该设置是开启的,位置在环境-你对应的阻止-设置-特性中。一旦开启,则会阻止你使用*号模糊搜索,你按回车没有任何反应。全局搜索不受此设置影响。
2024-04-24 10:28:16
3080
原创 AzureDataFactory The given value of type String from the data source cannot be converted to type
客户有需求要将Dataverse中的数据抽出来放到数仓中为后续进行数据分析做准备,在给客户出具了多种方案后,客户选择了使用AzureDataFactory, 但这是个收费的工具,所以客户需要知道大概的费用,以及配置及后续运维的复杂度,那就做个POC吧。Sink就是Target,你要写入的库,新建一个,填入连接的数据库服务器,数据库及SA的用户名和密码,写入类型一般都是Upsert并指定唯一键值字段名。配置完后验证下有没有错误,然后就是发布,最后就是设置什么时候触发,测试的时候直接立即触发。
2024-03-11 20:10:34
949
D365DeveloperExtensions.vsix
2019-11-18
docker中文教程
2017-04-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人