Dynamics 365(CRM)
微软Dynamics CRM,项目实施过程中的一些分享
Vic.Tang
Microsoft Dynamics 365 认证专家、MVP、MCT;Base上海,长期从事咨询、实施顾问、系统架构、培训;熟悉PowerPlatForm(Canvas App,Automate,MDA), Dynamics 365 Online(On-Premises),Dynamics CRM2016,Dynamics CRM2015,Dynamics CRM2013,Dynamics CRM2011,Dynamics CRM4.0, 咨询、培训、开发与实施经验丰富;承接产品应用、技术培训及其他合作;欢迎圈内朋友沟通交流;联系邮箱VicTang1104@outlook.com
展开
-
Dynamics CRM Ribbon Workbench-the solution contains non-entity components
这个时候邪乎的感觉就来了,过程中尝试了下载工具重新安装也不行,去狗狗了下有用的不多,看到一个可行的说版本不兼容,让尝试下老版本,但网上老版本的安装包已找不到,官网只能下载最新的,但好在XrmToolBox中可以选择旧版本下载,下图是我选择的版本。一开始没当回事,以为是我的解决方案问题,去检查了下,只有一个组件,并且哪怕我把组件换成了某个实体也不行,尝试了其他任何一个解决方案都是报同样的错。我的系统版本如下,如果有遇到同样问题的,可以尝试下以上方法。结果证实好用,可以加载解决方案成功编辑按钮。原创 2024-09-09 13:26:59 · 355 阅读 · 0 评论 -
Dynamics 365 如何查看某个自定义实体是谁创建的
虽然实体上记录上没有,但视图上有,可以打开高级查找,查找的下拉框选择视图,名称包含你的实体名字,比如我这儿的示例实体名称叫Atest, 同时编辑列,将创建者和创建时间两个字段加上,就能看到谁在何时创建了这个实体。项目中一般很少会去查一个实体是谁创建的,但有时团队人多时,或者人员变动大时,可能就有需要。也可以通过sql的方式查询entity的表信息,但entity表中并没有创建者和创建时间。可以查看实体的metadata信息。原创 2024-08-19 16:37:29 · 223 阅读 · 0 评论 -
Dynamics365 UCI下的高级查找(不要留恋Classic了)
但因为使用习惯问题,还是有人会通过右上角高级设置,进入Classic界面找到漏斗Icon来使用高级查找。UCI界面已经用了多年了,在Classic下的的高级查找按钮(漏斗icon)已不见踪影。但新的UCI风格下已经没了高级查找的概念,取而代之的是基于特定实体视图上的编辑筛选器。那如果实体不在导航站点地图上,找不到怎么办,可以使用顶部全局搜索栏,点击如下高亮。搜索你需要查找的实体,直接可以进入到对应实体的视图,使用筛选器进行查找了。原创 2024-07-09 20:17:14 · 274 阅读 · 0 评论 -
AzureDataFactory Dataverse connector自动处理了分页问题(单次查询上限5000条的限制)
众所周知,在用fetch执行D365的查询时,单次的查询是5000条,如果超过5000条则需要自己处理分页,添加额外的处理逻辑,但在ADF中,Dataverse connector的已经自动处理了分页,我们可以很简单的做个POC.我们以省去区县街道数据为例,构建如下Pipeline, 只有街道数据是超过5000条的。尝试在官方文档中查询相关说明,只在QA板块查到。街道的fetch查询如下。执行后的结果,一次执行完成插入。原创 2024-07-03 21:04:00 · 389 阅读 · 0 评论 -
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 · 185 阅读 · 0 评论 -
Dynamics CRM 修改新建记录的CreatedOn字段值
CRM中原创 2024-05-31 17:56:13 · 258 阅读 · 0 评论 -
Dynamics365 视图搜索启用/禁用星号模糊搜索
如果要使用模糊搜索,则将该设置关闭,使用时只有下述这么一段警告,不会阻止你使用。默认该设置是开启的,位置在环境-你对应的阻止-设置-特性中。一旦开启,则会阻止你使用*号模糊搜索,你按回车没有任何反应。全局搜索不受此设置影响。原创 2024-04-24 10:28:16 · 1951 阅读 · 0 评论 -
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 · 597 阅读 · 0 评论 -
Custom Virtual Tables: Perform CRUD operations to another system
Custom Virtual Tables: Perform CRUD operations to another system转载 2024-02-18 16:50:37 · 72 阅读 · 1 评论 -
Dynamics 365Online Lookup查找字段多选存储与显示问题
我们通过JS查看下字段中存储的值是什么,console出来字符串'null',这就是导致了控件处理不了出错。介绍了Lookup查找字段多选控件,但会有反馈说控件不好用,经常会遇到如下问题。而如果看下正常的控制中的字段值是'[]', 所以问题就很明朗了。而是要用如下赋值, 保存后再打开就没问题了。多选查找字段的赋值空不能用。原创 2024-01-12 10:32:27 · 553 阅读 · 0 评论 -
Dynamics 365 自动编号Seed定时重置
一般的自动编号最后几位都是用的流水号,而编号的前部都是带年月日,或者年月又或者年,具体以实际的业务需求为准,例如ZD202401100001, 这个时候就会出现一个问题,这个流水号是一直延续增长,还是根据年月日进行重置,可能有的客户对这个不在意,但比较严格的规范的客户就需要把Seed按照年月日从1开始计算。这个即可以作为生产定时重置任务,也可以作为系统上线后的Seed初始化(因为解决方案导入后的Seed的不是从1开始的而是1000开始,所以需要初始化)介绍过自动编号,不论是工具也好,自带UI设置(原创 2024-01-10 15:22:42 · 510 阅读 · 0 评论 -
Dynamics 365 关闭新特性“试用新外观“
这次又搞了个试用新外观,但一般这种都是有关闭的地方的,去Power Platform中的环境设置中找了半天没找到。微软总是喜欢悄默默上线一些新功能,比如之前的高级设置直接跳转Power apps的管理后台,被骂了一周改回来了。最终在应用的设置中找到了,把对应的的设置关闭,发布下应用,再打开应用,试用新外观的开关就没了。原创 2023-12-05 11:04:04 · 218 阅读 · 0 评论 -
Dynamics 365 QueryExpression生成工具
而QueryExpression也提供多表关联的查询LinkEntities,但一旦关联查询表多了,关联复杂一些容易出错,也一直在找寻这么一个工具类似与fetch builder,今天无意间看到Xrmtoolbox中的FetchXml Builder已支持QueryExpression,构建起来直观也不同意出错。原创 2023-10-17 17:14:19 · 274 阅读 · 0 评论 -
How to find region for your Dataverse environment
How to find region for your Dataverseenvironment转载 2023-10-08 12:46:12 · 94 阅读 · 0 评论 -
Opening a specific View directly from the SiteMap in Dynamics
Opening a specific View directly from the SiteMap in Dynamics – CRM Consultancy Blog转载 2023-08-30 11:34:26 · 95 阅读 · 0 评论 -
Monitor Data Import Jobs in Model-driven Apps
将数据导入结构显示在站点地图上。转载 2023-08-28 17:40:04 · 87 阅读 · 0 评论 -
Dynamics 365 DevOps CI/CD之Solution
3,然后是给我们的Soluion设置个版本,这里的BuildNumber的格式在Options里设置Build number format。CI/CD到了Soution就没太多可说的了,按部就班配置就行,我选择的工具是Power DevOps Tool。1,首先下载工具,然后设置连接字符串去连环境,连接字符串还是用ClientSecret的形式。2,当然导出前还是要发布下自定义的,确保所有的改动均已生效。4,最后就是导出解决方案了,这里导出的是Managed。5,发布Artifact, CI配置完成。原创 2023-05-17 11:02:43 · 256 阅读 · 0 评论 -
Dynamics 365 DevOps CI/CD之ConfigurationData
ConfigurationData如省市区,门店地址这种业务类型的数据,还有系统自定义过程中配置或开发涉及的参数,需要在系统间进行同步。此处CI用到了Power Platform Tool这个工具,这个也是可以在Azure DevOps的商店里下载到的。2,这里主要用到了SchemaFile,这个文件就是表明了你要同步哪些实体,哪些字段,这个文件可以通过官方的工具生成,1,这个工具连接环境用的是Service connection,按照页面的指示New一个即可。如上配置完保存就行了。原创 2023-05-17 11:02:43 · 268 阅读 · 0 评论 -
Dynamics 365 DevOps CI/CD之Plugin
1,首先还是编译Azure Repo上的最新代码,然后将生成的DLL拷贝到指定目录,我这里是POC dev环境所以Source Folder用的是debug目录下的,如果是非dev环境切换到release目录下。接上篇,继续讲解发布Plugin, 步骤相差不大,本篇主要介绍差异部分。2,照旧拷贝发布文件和配置文件,配置文件如何设置见spkl博文介绍。继续配置CD,步骤就最后的执行命令不同,其他都一样。3, 发布Artifact结束。原创 2023-05-17 11:01:32 · 233 阅读 · 0 评论 -
Dynamics 365 DevOps CI/CD之WebResource
3, 编译下项目,如果你的项目下只有纯WebResource没有其他,就不需要编译,但很多项目会使用TS写,这时候就需要编辑转化成JS文件,编译是需要Agent的,现在Azure提供了默认的Agent的,如果没有引用其他复杂的第三方组件(这里就需要你自己安装Azure VM来设置编译环境作为Agent了),普通的编译是足够的,2,接下来配置CD中的Task, Agent还是使用Azure内置的,因为我们的发布需要使用到spkl工具,而这个工具需从NuGet下载,所以我们首先需要下载NuGet Tool。原创 2023-05-17 11:00:26 · 627 阅读 · 0 评论 -
Dynamics 365 自动化发布工具Spkl介绍
spkl的包下载后会有个CrmPluginRegistrationAttribute的说明文件,可以看下里面的内容,定义了Plugin注册所用到的内容,只需要在我们的Plugin头上注明当前Plugin的注册信息即可。下一步就是去配置spkl.json,将文件映射到系统的解决方案下,这里贴出我的POC环境下的配置供参考, 关键的就是我注释的几个配置,登录后就会根据配置文件自动发布了, 批处理脚本会判断JS是否有更改,有更改才会发布,没更改就直接跳过了。地址,没听说过的可以去查看下,挺不错的工具。原创 2023-05-17 10:52:00 · 940 阅读 · 0 评论 -
Dynamics 365 The AAD application ‘0000007-0000-0000-c0000-0000000000000‘ has been disabled in tenant
查询了下,这个Application对应的是Common Data Service,也就是现在的Dataverse, 于是在客户的AAD里去查找这个Application,不管是UI还是powershell都查不到。4,正常如果Application存在的话,可以执行下述指令,将应用激活(因为根据截图中的报错,应用被disable了)客户的21V订阅下来了,在帮客户新建环境时报了如下的错,这个错是第一次见,从来没在建环境的时候碰到过。3, 可以先执行查询指令,看下。2, 执行如下两条指令。原创 2023-05-15 10:35:01 · 187 阅读 · 1 评论 -
Dynamics 365 开启 Modern advanced find后如何创建个人视图
D365 2022 Wav1后有了新的feature叫Modern advanced find,开启方式如下,进Power Platform的管理中心,找到你对应的环境,设置-产品-特性。本篇是自己在新的环境被新的高级查找晃的没找到如何创建个人视图而发。选择好实体后就直接到了工作区的实体列表界面,并弹出了编辑器浮层,可以在浮层界面编辑筛选条件。编辑完条件点击应用后,视图会显示你筛选后的数据,可以在视图的名称上看到一个星的标识。开启后的界面是这样的,和原来的弹出新窗口体验是不一样了。原创 2023-04-23 11:59:12 · 439 阅读 · 0 评论 -
Dynamics365WorkflowTools—Invalid CrmReferenceTarget
上述报错表明,解决方案依赖的实体不存在,因为当前是一个Dataverse的环境,没预装Sales或者Service等模块,所以缺少自带的一些实体。对于D365的实施来说,工具类的解决方案一直是提升实施效率的利器,Dynamics365WorkflowTools(但今天我在客户的一个环境中导入这个解决方案时报错了,下载日之后提示如下。)就是其中一个,这个解决方案中封装了很多的workflow工具,非常的好用。好在已有人移除了这些实体引用,并发布了新的解决方案(原创 2023-04-22 15:16:37 · 230 阅读 · 0 评论 -
Showing ribbon button based on the result of async operation
Showing ribbon button based on the result of async operation转载 2023-03-29 10:25:52 · 109 阅读 · 0 评论 -
Dynamics 365 讲清楚Security Role中的Append &AppendTo
比如本例中你选了一条项目父实体记录,但你拥有的安全角色对项目父实体记录只有user级别的appendto,而你选择了一条你有权限读但不是你own的记录,保存时系统就会报下述错误,提示你对你的父实体没有相关的权限。所以总结一下,append对应的是many2one中的子实体(本例中的开票支付信息实体),appendto对应的是many2one里的父实体(本例中的项目实体)。要想对父实体的lookup字段有编辑权限,账号拥有的安全角色必须对子实体有append权限,对父实体有appendto权限。原创 2023-02-20 16:53:43 · 562 阅读 · 0 评论 -
Microsoft Dynamics 365 CRM vs Salesforce: A deep-dive comparison
总结的非常不错。转载 2023-02-10 11:45:45 · 445 阅读 · 0 评论 -
How to Use Advanced Similarity Rules to view similar case suggestions
How to Use Advanced Similarity Rules to view similar case suggestions转载 2023-01-10 14:16:11 · 567 阅读 · 0 评论 -
Azure Integration with Dynamics 365 CE/ CRM using Service Bus, Queue, Plugin Registration Tool
去年写过一篇转载过两篇写WebHook怎么和D365 Plugin集成的,这篇博文介绍了Azure Service Bus 如何与D365 Plugin集成的,讲的非常详细。转载 2022-12-17 14:31:38 · 549 阅读 · 0 评论 -
Create Custom APIs in Dynamics 365 CRM | Power Platform
Custom API,系统间集成的新方法,本质上来说和之前的Custom Action区别不大,但从定义到注册整套更规范化,UI配置更明了了。转载 2022-12-17 14:33:23 · 715 阅读 · 6 评论 -
Creating an Audit Report for User Logins in Dynamics CRM
Creating an Audit Report for User Logins in Dynamics CRM转载 2022-12-13 10:03:34 · 709 阅读 · 0 评论 -
Dynamics 365Online 应用内消息通知(In-app notifications)
马上右上角的通知就显示了数字1,并且是页面浮层式的通知,也可以设置toasttype的值为200000001(Hidden),不浮窗只显示在通知里,具体的标题和内容样式可以参考官网,本篇就不细说了。应用内通知其实一直是个刚需,但D365一直缺乏这个功能,如果客户有需求,我们只有通过自定义的方式实现,好在V9以后顶部栏可以自定义了,可以自己加Icon,实现通知的样式。也可以在通知内容里加上超链接作为你通知的Action, 比如需要用户操作的审核啊之类的,可以用一个超链引导用户去到审批的页面。原创 2022-12-08 14:06:05 · 1634 阅读 · 0 评论 -
Dynamics 365Online 登录跳转报错页
客户系统上线,终端用户在登录时反馈报错,访问系统地址正常输入用户名密码后显示如下界面 正常是redirect到你的系统地址的,但上面的地址栏看着像一段环境刚创建时的org id, 也就是redirect失败了。 最后经过询问客户IT得知,他们在加地址白名单时,只是将生产的环境地址加入了,而不是以域名的形式加入,导致截图中的中转url被拦截,无法实现正常跳转。 网络白名单设置为域名(crm.dynamics.cn)后就解决问题了原创 2022-12-08 10:13:05 · 961 阅读 · 0 评论 -
Dynamics 365 Environment Variables(环境变量)的应用
环境变量这个功能很早就有了,但最近才关注到,是个不错的功能,所以写篇介绍下它的应用。 项目里都会有配置实体这么个东西,用于存储各种常量或者与其他系统集成时的各种配置参数,以往我们都是自定义一个实体用来存放,在系统部署和迁移的过程中这部分就需要作为主数据来进行迁移。 而环境变量的优势是可以跟着解决方案走,并且可配置查询读取权限 环境变量的创建需要在powerapps的管理中心里操作 我为了测试定义两种比较常用的类型,一个text一个json 定义好后,首先看下在J原创 2022-12-03 22:07:54 · 1043 阅读 · 2 评论 -
Dynamics 365 业务规则停用不起作用的原因
当前的项目使用的D365 Online9.2版本,在使用业务规则设置功能时偶然发现,业务规则停用了但规则里设置的功能还在继续运行,反复的激活后再停用,功能还是在执行,第一次碰到也没想那么多,删了业务规则重新建解决了问题。后续又复现了,于是同事上网搜了下,看到了这段文字,实际操作后确实是这样,单纯的在业务规则的列表页面停用完全不起作用,得要点开业务规则有个保存的动作,真的是吐了一口老血。话说该问题之前从没见过,不知道哪个版本里加进去的。原创 2022-12-02 13:25:29 · 861 阅读 · 0 评论 -
Dynamics 365 设置Postman environment For WebAPI
但同样的方式在21V配置后点击Postman中的Get New Access Token能弹出登录框,但输入用户名密码后就报错了,在Postman的Console里能看到如下的错误,提示的是error=unsupported_response_type&error_description=AADSTS700051:+response_type+'token'+is+not+enabled+for+the+application.结果是顺利获取到Token。原创 2022-12-01 15:46:05 · 1143 阅读 · 1 评论 -
Dynamics 365 无需频繁发布来开发和调试Javascript
基于罗勇博文介绍的方式,对于团队协作开发来说,在线开发的痛点就没了,各自在浏览器里F12 Override后,编辑本地的文件开发调试,单元测试没问题了,git中提交代码,最后由部署的人统一发布就完事了。本人经历过的协同开发方式有多种,有单人在自己的本地虚拟机里开发的,有在同一个环境里多人在一个文件里编辑互相冲突的,也有在一个实体窗体界面各自建独立的JS文件开发调试最后合并代码到一个主文件里的。原文的方式是提高单体开发者开发效率的极好方式,但换个角度从团队协作的开发方式上来看也可以说是一个突破。原创 2022-12-01 11:19:13 · 1301 阅读 · 2 评论 -
Dynamics 365 数据导入权限的设置
今天在测试时碰到用户看不到从Excel导入的按钮,看不到按钮那肯定就是权限没设置对,本篇分享个现阶段如何去trouble shooting这个问题的方法。我们找到隐藏从Excel导入按钮,找到Command properties中的Display Rules为假的这行。然后我们在URL的末尾追加ribbon debug的参数,就能看到命令检查器。拿下图的线索举例,在列表窗体上看不到导入的按钮。再去安全角色中对应的角色项,给上缺失的权限即可。原创 2022-11-27 21:57:17 · 525 阅读 · 0 评论 -
Hide Word Templates and Excel Templates buttons
Hide Word Templates and Excel Templates buttons转载 2022-11-07 18:28:51 · 602 阅读 · 0 评论 -
Debug Ribbon button customization using Command Checker in Dynamics 365 CE Unified Interface
https://转载 2022-09-08 20:27:07 · 244 阅读 · 0 评论