自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(60)
  • 资源 (2)
  • 收藏
  • 关注

原创 Dynamics 365: 从0到1了解如何创建Custom API(3) - Custom API的调试之插件调试

从0到1了解如何创建Custom API(3) - Custom API的调试之插件调试

2024-05-07 17:43:05 239

原创 Dynamics 365: 从0到1了解如何创建Custom API(2) - Custom API与插件关联

这次我们主要写一个插件,与我们之前创建的Custom API进行关联。

2024-05-05 16:23:55 344

原创 Dynamics 365: 从0到1了解如何创建Custom API(1) - 在Power Apps中创建

今天介绍一下如果创建Custom API,我们首先需要知道它和action有什么区别,什么时候使用Custom API或者Action?

2024-05-04 21:51:20 912

原创 Dynamics 365: 给D365设置一个黑色主题

在领英上看到一个好玩的东西,给D365可以设置暗黑的主题,但是这个目前我试了一下,仍然需要适配,很多地方显示的还是白色的,比如dashbaord里。1. 设置你的D365为New Look新外观。

2024-04-16 09:15:00 185

原创 如何下载Plugin Registration Tool

今天给大家演示一下如何使用Power Platform CLI来下载Plugin Registration Tool.

2024-04-15 20:56:05 369

原创 Dynamics 365: 详解插件的执行深度(PluginExecutionContext.Depth)

Depth这个属性会告诉你插件它在一个调用堆栈中有多深,是第几次被调用。1. 首先我们写一个Account实体插件并用到RetrieveMultiple事件,就是当我们每次点进Accont的一个视图的时候都会调用这个RetrieveMultiple事件,但里面只是记了一条log而已:2. 当我们每次点进Accont的一个视图的时候都会触发这个事件,我们通过Plug-in Trace Log可以看出,在这次的事务中它只执行了一次,因为Depth为1.3. 我们将代码进行如下修改,判断一下Depth的值,

2022-06-11 22:11:50 1087 1

原创 Dynamics 365: 查找哪些记录使用Access Team这种方式分享给了某一个User

当使用Access Team的方式分享给用户A了一些记录,那么我们如何去查找,都有哪些记录是使用这种方式分享给了用户A?如果是使用高级查找的方式去找,应该是这样的,我们以Account实体为例: 红框的部分是你需要替换的。以下是它的FetchXML:......

2022-06-07 12:52:11 406

原创 Dynamics 365: 如何解除实体只能创建2个Access Team Templates的限制

无论是Dynamics 365的on-premise还是online版本默认的都是每个实体只能创建两个 Access Team 模板,如果想要突破这个限制,对于On-premise的话我们可以直接修改数据库,如果是online版的我们可以提一个ticket给微软,让微软那边直接帮助我们增加额度的限制。接下来,我来说一下如果是On-premise的话,如何解除两个的限制。严格意义上来说,不算是解除限制,我们只是改变这个限制由两个到两个以上而已。注意:当我们更新完成后,如果想让数量限制生效,我们需要在Setti

2022-06-06 15:31:29 391

原创 Dynamics 365: 推荐几个XrmToolBox中创建ER(Entity Relationship)图的插件

有时我们可能会需要描述系统中实体之间的关系,那么我们可以使用工具来生成ER图。下面为大家介绍几个在XrmToolBox中可以用来生成ER图的插件:

2022-06-05 22:12:05 622

原创 Dynamics 365: Access Team Templates的用法

做D365开发这么长时间竟然没用过Access Team Templates, 前几天有人问我,直接就给我问懵了。之后赶紧去查阅了资料,做了一些练习并且总结了一下:对于实体级的控制我们可以用Security Role来限制,对于字段级有字段级安全的设置。那么对于Access Team Template我们就可以简单的理解为它是对记录级的一种权限控制;下面就来聊聊这个Access Team Templates的使用步骤以及它的注意事项:...

2022-06-05 12:23:40 387

原创 Azure Key Vault(3):Key和Secret的区别

我之前在网上看到过一个非常形象的例子来说明Key和Secret的区别:Key是一种“加密密钥”,用于加密信息,而无需将私钥泄露给消费者。它就像一个黑盒,使用 RSA或者EC算法进行加密。我们以RSA算法为例:RSA 算法涉及到一个公钥和私钥。每个人都可以知道公钥,它用于加密消息。使用公钥加密的邮件只能用私钥解密。Secret提供一般秘密的安全存储,如令牌,密码和连接字符串等。Secret是以8位字节的形式存储和管理秘密,最大的大小为25kb。保存到Secret中的数据将被加密存储,如果您有权限可以随时检索数

2022-06-04 12:58:12 1194

原创 Azure Key Vault(2):创建Azure Key Vault

如果想要了解Key Vault是干什么的,可以看我的上一篇博文。这里我会说一下如何来创建Key Vault并使用它来保存一个D365连接字符串

2022-06-03 22:46:51 437

原创 Azure Key Vault(1)介绍

Azure Key Vault是一个可以安全的管理机密Secret(密码,令牌等),密钥Key和证书Certificate的服务。

2022-06-02 23:50:30 623

原创 Dynamics 365: 如何在Azure AD中创建用户并添加到Dynamics 365 Online中

我这里主要讲的是Dynamics 365 Online如何来添加用户。对于on-premise版本和online版本最大的区别就在于Online版本是在Azure Active Directory中添加,而OP版本是在你自己的AD中添加。

2022-05-31 22:53:23 906

原创 使用C#控制台程序读取Azure Service Bus队列中的消息

1. 创建一个.net framework的控制台程序2. 在Nuget管理中添加Azure.Messaging.ServiceBus的packageNote: WindowsAzure.ServiceBus也能够提供我们今天联系所需要的功能,但Azure.Messaging.ServiceBus是最新的库,根据描述里写的WindowsAzure.ServiceBus会继续进行关键补丁的修复,但Azure.Messaging.ServiceBus确是更新的包。如果你使用的是WindowsAz

2022-05-28 20:29:16 443

原创 Azure Service Bus与Dynamics 365 Service Endpoint的之间的应用

Dynamics 365能够通过创建Service Endpoint来传递消息给Azure的Service Bus,今天我们就来看看如何实现它们之间的联动。 登录Microsoft Azure,并找到Service Bus 2. 创建Service Bus的namespace填写必要信息后选择Review + Create验证后点击Create3. 创建成功后,我们回到Service Bus, 选择Queues创建一个新Queue这里面我们需要填写一..

2022-05-28 17:10:56 272

原创 Dynamics CRM: 使用setFilterXml来过滤需要在表单的Subgrid控件中进行展示的记录

我们通常在一个表单中插入subgrid用来显示另外一个实体的记录,而显示的内容我们是通过定义不同的视图来进行控制的。今天这篇博文我们使用另外一种方法来实现灵活的在subgrid上来显示自定义的记录,这就需要用到我们今天的主角setFilterXml。Note: 需要事先说明一下,这个setFilterXml并没有出现在微软的官方文档中,所以不确定有哪些版本支持,哪些版本不支持,我试过的是Dynamics 365 9.0 On-premises和Dynamcis 365 9.2 online这个两个版本。

2022-05-26 23:46:24 501

原创 Dynamics 365: 如何获取批量请求中ExecuteMultipleRequest的阈值

当我们执行ExecuteMultipleRequest 进行批量请求超过最大值时,会报如下的错:但是我们的代码不能通过部署 web 服务来直接查询批量阈值的大小,除非它在具有部署管理员角色的帐户下运行。但部署管理员正好通常不是干这个用的。幸运的是,还有一种方法可以使用:当ExecuteMultipleRequest 请求数量超过组织允许的最大值时,ExecuteMultipleRequest 将抛出一个异常。异常中会返回最大值的大小。你的代码可以检查该值,并将ExecuteMultipleR

2022-05-24 23:05:43 580

原创 Dynamics 365: 详解虚实体(Virtual Entity) 从0到1

从Dynamics 365 for Customer Engagement 9.0开始,虚实体通过在Dynamics 365 Customer Engagement中无缝地将数据表示为实体,实现了外部系统中的数据集成。它无需数据复制,通常也无需自定义编码。虚实体有如下的限制,但除了下面的这些限制外,它和其它的那些自定义实体没有区别:数据是只读的。虚实体特性不支持在 Dynamics 365中 CE所做的更改在推回到外部系统 只支持实体的组织级权限。不支持字段级安全 对于外部数据,需要抽象建模.

2022-05-23 15:34:36 1647

原创 Dynamics 365: 如何从Azure中获取连接到D365 Online所需要的认证信息

上篇博客中我们需要用到OAuth认证需要的信息来获取token,然后再使用token去获取我们想要的记录。下面来说一下,如何获取client_id,client_secret,resource,username,passwordresourceresource就是我们D365的地址username,passwordusername就是我们创建的application user. 对于如何创建Application User,我们可以直接在Power Platform admin ...

2022-05-23 15:32:50 962

原创 Dynamics CRM: [问题已解决]Cannot open Sql Encryption Symmetric Key because Symmetric Key password...

CannotopenSqlEncryptionSymmetricKeybecauseSymmetricKeypassworddoesnotexistinConfigDB.上面这个报错是我在对user实体数据进行更新时出现的。这是一个Dynamics CRM/365 On-premise在版本升级或者重新部署之后可能会遇到的问题,是由于encryption key没有从原始系统拷贝过来并激活造成的。Data Encryption在一个新环境部署时是默认被激活的,所...

2022-05-18 11:23:30 417

原创 Error 1053: The service did not respond to the start or control request in a timely fashion.问题排查

Error 1053: The service did not respond to the start or control request in a timely fashion.问题排查

2022-05-17 21:50:25 4052

原创 Dynamics CRM: 为用户和团队共享记录

在C#中,为用户和团队共享记录可能会用到下面这三个类:GrantAccessRequest 共享一条记录为之前没有share过这条记录的用户或团队 ModifyAccessRequest 修改共享权限,为之前已经share给用户或团队的记录 RevokeAccessRequest 取消用户或团队对一条记录的共享权限 GrantAccessRequest 变量accountRef为需要共享的记录变量teamRef为要共享的团队...

2022-05-08 22:21:26 1017 2

原创 Dynamics CRM: 邮箱配置(三) - 配置Email Server Profiles和Mailboxes

介绍Email Server Profiles是配置邮箱的第一步,我们需要先配置邮箱的服务器,然后才能去指定邮箱接收邮件。这可能和我们平时在手机端使用outlook或者gmail这种APP不同,在outlook,gmail这种App中我们一般输入常用的邮箱域名(@qq,@163,@hotmail, @gmail,@outlook)它会自动的将你的邮箱服务器,端口这些信息默认填入。而我们在Dynamics CRM中需要先配置邮箱服务器信息,也就是Email Server Profiles..

2022-05-05 20:49:58 3159

原创 Dynamics CRM: XrmToolBox插件推荐

XrmToolBox我们可以把它理解为是Dynamics CRM的一个工具集, 里面有着各种各样的插件可以供我们安装使用,如果你是Dynamics CRM/365的developer,但是你还不知道这个工具的话,赶紧下载吧~!XrmToolBox的官网:Home · XrmToolBoxhttps://www.xrmtoolbox.com/下面我跟大家推荐一些我平时使用的插件,其实除了我下面列出的这些以外还有很多插件也都是很好用的,但需要大家自己慢慢去发掘了~Auto Number Man...

2022-05-04 11:54:58 1829 2

原创 Dynamics CRM: 如何设置Form的顺序

我们知道Dynamics CRM的实体有多种form类型,Main Form, Quick Create Form, Quick View Form, Card Form等,不同的form有不同的用处。如果我们的一个实体有多个Main Form, 如下图我们可以设置他们在表单记录中选择器中的显示顺序,具体步骤如下:如果是Power Apps的界面,我们可以在solution中添加相应的实体,并在它的上方找到Form settings选择Form order, 然后选择Form的类.

2022-05-03 23:21:57 397

原创 Dynamics CRM: 如何通过高级查找来搜索用Connection关联起来的实体记录

我们想要找出test1里和EntityA这个实体关联的记录都有哪些最后搜索的结果是这四条可能有人会问为什么搜出来的不是六条呢?因为有一条虽然它的Connection Role是EntityA,但是Connected To字段是空的,也就是说并没有和任何EntityA实体中的记录进行关联 如最上面的图,789这个记录有两条,为什么搜索出来是一条?是因为你搜的是EntityA这个实体里的记

2022-05-03 22:35:58 431

原创 Dynamics CRM: 与多对多关系很像的Connection

什么是Connection?Connection是Dynamics 365提供的一种开箱即用的来连接多条记录,而无需为两个实体创建自定义关系。Connection可以被用在相同实体的记录中,也可以用在不同实体的记录中。Connection的用途?它可以允许我们连接多种不同的实体类型,而不需要添加Lookup字段来绑定两个实体间的关系,比如我有一个活动的实体,我需要为这场活动添加主办人,添加参与人,还有其他的这场活动需要场地,费用等。很显然场地,费用这些是属于不同的实体,如果使用lookup字段的

2022-05-03 20:31:36 459

原创 Dynamics CRM: 关系Relationships(2) - N:N 多对多

实现N:N,也就是多对多有两种方式,一种是OOB开箱即用的方式,一种是需要创建一个中间实体对两边的实体进行映射的方法:使用系统自带的开箱即用的方式首先我们创建两个实体,一个EntityA, 一个EntityB,然后“New Many-to-Many Relationship”创建一个与EntityB多对多的关系:创建完成后我们在EntityA和EntityB中的‘N:N Relationships’中都可以看到:然后我们对这两个实体的Main form做一些修改:我们在Eni.

2022-05-03 00:45:31 559

原创 Dynamics CRM: 关系Relationships(1) - 1:N, N:1

1:N和N:1可以理解为一种正反的关系,而实现这种关系最快捷的方式就就是为实体创建一个lookup字段(如下图),目标记录类型(Target Record Type)是要lookup的那个的实体。在下面的这个例子中,Account实体扮演的是N,而Guest Profile也就是contact实体扮演的就是1;所以你在account实体的N:1 Relationships中可以找到这个关系而在Guest Profile(Contact)实体中,它就是存在于 1:N Relationships

2022-05-02 21:39:55 567

原创 Dynamics CRM: 如何为实体创建一个自动编号属性

微软为Dynamics CRM v9.0后的版本提供了一个新的功能来支持任意实体添加自动编号属性, 它可以实现对实体里的记录添加一个我们自定义的编号,比如IR-Email-10001这种。但是目前,只可以通过编程或者我下面介绍的工具这两种方式来添加该属性,没有用于添加此类型属性的用户界面。这里介绍一个工具Auto Number Manager可以实现这个功能, 从XrmToolBox可以得到。Note:如果有一条已经被编号的记录(例如:IR-Email-10001)被删除了,那么创建

2022-04-13 22:43:57 625

原创 Dynamics CRM: 在Form的导航中添加Process Sessions以便于查看workflow的运行历史

首先需要说明的就是,我用的是Dynamics 365 9.0 OP版本, 所以接下来的设置只对经典页面起作用, 对UCI页面是不起作用的, 有兴趣的小伙伴可以在更高版本试下, 看看9.1版本是否在UCI页面已经支持了.我们想要的是下面这种,能够显示出Process Sessions但可能你点进去一个记录看到却是这样的, 在实体名称的后面并没有显示出这条记录的名称下面我们就来说一下如何来设置:1. Settings -> Customizations -> Cus..

2022-02-08 16:48:31 756

原创 Dynamics CRM: Form中的Non-Event Dependencies的作用

在我们的Dynamics CRM表单中,我们可以使用一些办法来确保JavaScript脚本使用的字段不会从表单中删除, 这里就可以用到Non-Event Dependencies.比如我们有一个函数用来显示某一个字段的值并打印出来, 像下面这样:function displayWebsite(){ alert("The website entered is: " + Xrm.Page.getAttribute("websiteurl").getValue());}我们把它添加到表单的

2022-02-08 01:57:08 456

原创 Dynamics CRM: 如何监控和管理Workflow process,并查看它们的运行历史

Workflow分为两种: background workflow(异步工作流), real-time workflow(同步工作流).这两种工作流在状态跟踪以及log的查看方式上是有区别的: Background workflow 通过Setting -> System Jobs通过进入workflow本身,选择Process Sessions通过打开一条需要查看执行的workflow状态的记录中, 点击记录名称旁边的向下箭头, Process Sessions -&g

2022-02-07 18:06:47 658

原创 Dynamics CRM: 查询字符串参数(Query String Parameters)的使用方法

查询字符串参数(Query String Parameters)通常被用来传递自定义参数给表单上下文, 使用这些参数来设置某些字段的值, 或者试做一些判断的用处, 下面我就来说下它的用法:1. 创建Query String Parametersa. Settings -> Customizations -> Customize the Systemb. Entities -> <实体名> -> Forms -> <表单名>...

2022-01-19 21:54:06 2461

原创 Dynamics CRM: 深度解析本地部署(On-premise)服务器中Sandbox, Asynchronous服务对插件Plug-in和工作流Workflow的影响

其实我自己平时调试插件很少使用远程调试的这种方式, 因为他会把整个服务都占上, 如果此系统只有你一个人使用还好, 如果还有其他人的话,可能导致其他人使用系统直接卡死的情况发生.但我们如果真的选择远程调试的这种方式, 有些时候我们需要附加Microsoft.Crm.Sandbox.WorkerProcess.exe这个进程, 而这个进程又和我之前说的Sandbox服务的Microsoft.Crm.Sandbox.HostService.exe很像, 所以我就突然有一种想法, 想看看这个Sandbox服务对

2022-01-15 13:48:56 969

原创 Dynamics CRM: 本地部署的服务器中, Sandbox, Unzip, VSS, Asynchronous还有Monitor服务的作用

本地部署的Dynamics 365(OP)的服务器中都会有下面的这六个服务:Dynamics 365 Sandbox ProcMicrosoft.Crm.VSSWriterService.exeessing Service Dynamics 365 Unzip Service Dynamics 365 VSS Writer Microsoft Dynamics 365 Asynchronous Processing Service Microsoft Dynamics 365 Asynchron

2022-01-14 22:42:44 680 1

原创 Dynamics CRM: 批量导入数据来更新记录的注意事项

关于批量更新数据, 我们可以自己写程序来批量更新记录, 也可以通过导入数据文件来进行批量更新.批量导入数据不仅仅可以更新数据也可以创建数据,但他们之间还是有一些区别的, 今天来说一说在数据导入时的注意事项:无论是创建还是更新数据, 我们都会导出一个模板, 然后在里面添加数据来创建,或者修改数据来更新, 其中导出的文档里面都会有三列隐藏的列:(Do Not Modify) <实体名> (Do Not Modify) Row Checksum (Do Not Modify) Modi

2022-01-08 23:48:32 1085

原创 Dynamics CRM: 遇到“The plug-in execution failed because no Sandbox Hosts are currently available.“

如果我们在操作一个动作, 这个动作触发插件时遇到下面的错误信息:The plug-in execution failed because no Sandbox Hosts are currently available. Please check that you have a Sandbox server configured and that it is running. System.ServiceModel.EndpointNotFoundException: There was no end

2022-01-06 12:15:59 1048

原创 Dynamics CRM: 表单(Form)中的显示字段变成只读的几种情况

有的时候,当我们打开一条记录, 我们会发现这条记录或者记录中的某个字段变成了不可编辑的状态, 但让表单中显示的字段变成只读的情况有很多, 你可以使用JS代码中的setDisabled, 也可以使用系统的配置来完成, 接下来我就来总结一下都有哪几种情况可以让字段变成只读:在表单中的字段属性里有一个字段行为的设置, 我们以Account实体为例设置完成后, 打开一条记录, 该字段的旁边会显示一个小锁头的图标, 并且该字段变成不可编辑在JS代码中使用setDisabled方法设置了该字段Di

2022-01-05 23:04:30 1144

Dynamics 365 Plan and Deploy.pdf

Dynamics 365 Plan and Deploy.pdf

2021-12-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除