<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[GhostHouse]]></title><description><![CDATA[爱生活，自然美]]></description><link>https://blog.csdn.net/ghostbear</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; ghostbear]]></copyright><item><title><![CDATA[D365 CE & Power Platform 编程系列 （9）：JS编程之客户端Read分页事件]]></title><link>https://blog.csdn.net/ghostbear/article/details/156364018</link><guid>https://blog.csdn.net/ghostbear/article/details/156364018</guid><author>ghostbear</author><pubDate>Sun, 28 Dec 2025 22:12:35 +0800</pubDate><description><![CDATA[今天我们来看看怎么使用分页查询记录，同时，今天使用的也是原生的Xrm.WebApi。1）在商机页面加载的时候，分页查询关联的my budget plan记录数量，并弹出具体的数值信息。]]></description><category></category></item><item><title><![CDATA[D365 CE & Power Platform 编程系列 （8）：JS编程之客户端实体]]></title><link>https://blog.csdn.net/ghostbear/article/details/156310919</link><guid>https://blog.csdn.net/ghostbear/article/details/156310919</guid><author>ghostbear</author><pubDate>Fri, 26 Dec 2025 17:20:30 +0800</pubDate><description><![CDATA[今天我们来看看怎么针对不同类型的字段构造Javascript对象，并在表单js里面对他们进行更新操作。]]></description><category></category></item><item><title><![CDATA[D365 CE & Power Platform 编程系列 （7）：JS脚本编程之实体的Delete事件]]></title><link>https://blog.csdn.net/ghostbear/article/details/156276392</link><guid>https://blog.csdn.net/ghostbear/article/details/156276392</guid><author>ghostbear</author><pubDate>Thu, 25 Dec 2025 18:33:02 +0800</pubDate><description><![CDATA[1）如果在budgetamount字段输入的值为0，那么在保存当前记录的时候，删除所有当前商机下的所选联系人下的所有my budget plan记录。第二步，将budget amount值设置为0，并保持，然后查看关联的my budget plan记录状态情况。第一步，修改表单的onsave函数。]]></description><category></category></item><item><title><![CDATA[D365 CE & Power Platform 编程系列 （6）：JS脚本编程之实体的Update事件]]></title><link>https://blog.csdn.net/ghostbear/article/details/156273866</link><guid>https://blog.csdn.net/ghostbear/article/details/156273866</guid><author>ghostbear</author><pubDate>Thu, 25 Dec 2025 16:43:46 +0800</pubDate><description><![CDATA[2) 如果该字段的值被设置为approved，那么该记录对应的商机记录的budget status也将设置为approval，并且更新商机记录的budget amount字段。1）在my budget plan记录上面添加字段budget approval status，并在上面添加onchange事件。第一步，在my budget plan实体上新建budget approval status字段并添加onchange事件。第二步，在商机实体上面添加字段budget status。]]></description><category></category></item><item><title><![CDATA[D365 CE & Power Platform 编程系列 （5）：JS脚本编程之实体的Create事件]]></title><link>https://blog.csdn.net/ghostbear/article/details/156166287</link><guid>https://blog.csdn.net/ghostbear/article/details/156166287</guid><author>ghostbear</author><pubDate>Wed, 24 Dec 2025 17:10:55 +0800</pubDate><description><![CDATA[在商机实体上面，我们有联系人记录，如果该记录有值，那么在保存的时候，系统会自动创建一条Budget Plan记录用来跟踪当前商机的预算情况。第二步，添加表单的onsave事件，添加创建my budget plan记录的JS代码。第一步，将My Budget Plan记录的子网格插入到表单中。第三步，选中联系人，并点击保存按钮触发创建实体记录的JS代码。第四步，创建后的my budget plan记录。]]></description><category></category></item><item><title><![CDATA[D365 CE & Power Platform 编程系列 （4）：JS脚本编程之实体的Read事件]]></title><link>https://blog.csdn.net/ghostbear/article/details/156158410</link><guid>https://blog.csdn.net/ghostbear/article/details/156158410</guid><author>ghostbear</author><pubDate>Tue, 23 Dec 2025 15:34:22 +0800</pubDate><description><![CDATA[同时，我们将使用系统原生的JS API去调用服务器webapi来实现相应的功能，这里就不使用自行封装的JS Helper库了。今天我们来看看如何使用JS在表单上面操作实体记录的读取和创建，这里的实体记录可以是当前表单实体，也可以是任意实体。这里我们使用了系统字段的Xrm.WebApi接口，替代了自定义的JS 帮助类库，实现过程简单快捷，大家可以试试。1）在选择商机客户的时候，将客户上的budget字段值，写入到商机的budget amount字段中。第一步，添加Account字段的onchange事件。]]></description><category></category></item><item><title><![CDATA[D365 CE & Power Platform 编程系列 （3）：JS脚本编程之onchange事件]]></title><link>https://blog.csdn.net/ghostbear/article/details/156148505</link><guid>https://blog.csdn.net/ghostbear/article/details/156148505</guid><author>ghostbear</author><pubDate>Mon, 22 Dec 2025 14:26:21 +0800</pubDate><description><![CDATA[今天我们做个小例子，就是在设置budget amount字段的时候，如果值大于10000，那么关联的字段forecast category会将值设置为best case，否则就清空该字段的值。今天我们来看看字段的onchange事件，它是在字段被修改后触发的，用来跟踪字段修改后所需要触发的业务规则事件。第三步，回到opportunity记录，尝试修改budget amount的值并观察系统的响应效果。它的主要使用场景为：字段的级联控制，控制关联字段的可读性以及关键字段的值设置。]]></description><category></category></item><item><title><![CDATA[D365 CE & Power Platform 编程系列 （2）：JS脚本编程之onsave事件]]></title><link>https://blog.csdn.net/ghostbear/article/details/156145589</link><guid>https://blog.csdn.net/ghostbear/article/details/156145589</guid><author>ghostbear</author><pubDate>Mon, 22 Dec 2025 12:06:58 +0800</pubDate><description><![CDATA[今天我们来看看表单的onsave事件，顾名思义，onsave就是在表单保存的时候触发的事件，主要使用场景为：根据现有的表单内容，审核当前提交的保存请求是否符合业务规则，符合就正常保存，不符合就禁止保存。保存的时候检查budgetAmount字段的值，是否大于10000，如果大于，正常保存，否则，弹出提示框说明输入的值不符合规则，并取消当前的保存操作。第一步，按照添加onload函数中的步骤，打开opportunity表单编辑器，并添加onsave函数。第三步，更新资源文件，并保存发布。]]></description><category></category></item><item><title><![CDATA[D365 CE & Power Platform 编程系列 （1）：JS脚本编程之onload事件]]></title><link>https://blog.csdn.net/ghostbear/article/details/156143644</link><guid>https://blog.csdn.net/ghostbear/article/details/156143644</guid><author>ghostbear</author><pubDate>Mon, 22 Dec 2025 10:49:33 +0800</pubDate><description><![CDATA[大家好，今天我们正式开启D365 & Power Platform编程系列的学习之旅。今天我们要讲的话题是，怎么添加表单的On Load事件。OnLoad事件在自定义开发中的作用比较重要，主要使用场景为：根据业务逻辑锁表单字段，控制表单的访问。第四步，找到Opportunity，并双击表单并编辑。第二步，进入到customization页面。第五步，添加form onload事件。第三步，创建web资源文件。第一步，进入到高级设置中。]]></description><category></category></item><item><title><![CDATA[D365 CRM & Power Platform 后端开发概览]]></title><link>https://blog.csdn.net/ghostbear/article/details/134649743</link><guid>https://blog.csdn.net/ghostbear/article/details/134649743</guid><author>ghostbear</author><pubDate>Mon, 27 Nov 2023 17:04:20 +0800</pubDate><description><![CDATA[Dynamics CRM 2011 编程系列(31):Ribbon的开发一（添加按钮，选项卡，Jewel）Dynamics CRM 2011 编程系列(18):插件中的Read操作。Dynamics CRM 2011 编程系列(24):在插件中使用早期绑定。Dynamics CRM 2011 编程系列(25):插件的依赖注入。Dynamics CRM 2011 编程系列(19):插件中的事务。Dynamics CRM 2011 编程系列(20):插件队列。]]></description><category></category></item><item><title><![CDATA[D365 CRM & Power Platform 前端开发概览]]></title><link>https://blog.csdn.net/ghostbear/article/details/129312924</link><guid>https://blog.csdn.net/ghostbear/article/details/129312924</guid><author>ghostbear</author><pubDate>Fri, 03 Mar 2023 08:54:09 +0800</pubDate><description><![CDATA[Power Platform是微软最近几年退出来的重量级产品，集低代码，BI，AI以及传统Dynamics CRM 底层功能框架的一个大平台。

考虑到这两个产品的共性很强，所以在通用场景下，我就放在一起讨论了。后续这段时间，博主会根据最新的产品功能重写之前的技术文章，让之前的技术分享还能继续被大家沿用。]]></description><category></category></item><item><title><![CDATA[Dynamics 365 for Sales: 门户网页模板的制作]]></title><link>https://blog.csdn.net/ghostbear/article/details/54907338</link><guid>https://blog.csdn.net/ghostbear/article/details/54907338</guid><author>ghostbear</author><pubDate>Fri, 03 Mar 2017 15:54:45 +0800</pubDate><description><![CDATA[Dynamics 365 Portal - 网页模板的制作]]></description><category></category></item><item><title><![CDATA[Dynamics 365 for Sales: Email Engagement]]></title><link>https://blog.csdn.net/ghostbear/article/details/54907299</link><guid>https://blog.csdn.net/ghostbear/article/details/54907299</guid><author>ghostbear</author><pubDate>Fri, 03 Mar 2017 14:42:36 +0800</pubDate><description><![CDATA[Dynamics 365 Email Engagement]]></description><category></category></item><item><title><![CDATA[Dynamics 365 for Sales: Web API Client编程辅助类]]></title><link>https://blog.csdn.net/ghostbear/article/details/54907427</link><guid>https://blog.csdn.net/ghostbear/article/details/54907427</guid><author>ghostbear</author><pubDate>Fri, 17 Feb 2017 16:13:11 +0800</pubDate><description><![CDATA[最近博主写了一个Web API Client端的编程辅助类，我们可以用它在客户端层面调用Web API 完成CRUD操作。辅助类的Ajax请求是基于Jquery完成的，也就是说，大家在使用这个类的时候需要引用JQUERY，具体情况如下图所示：]]></description><category></category></item><item><title><![CDATA[Dynamics 365 for Sales: 门户的集成配置]]></title><link>https://blog.csdn.net/ghostbear/article/details/54907324</link><guid>https://blog.csdn.net/ghostbear/article/details/54907324</guid><author>ghostbear</author><pubDate>Wed, 08 Feb 2017 09:30:24 +0800</pubDate><description><![CDATA[博主在上篇文章中给大家对D365 Portal功能做了一个简单的概览，并且创建了一个客户自助服务站点。那么今天我讲给大家演示下，怎么通过简单的配置来完成Portal和CRM的集成。
在博主之前参与的项目中，如果我们想要在第三方站点集成CRM的数据，是需要调用CRM相应的API来实现的。开发和维护成本都很高，并且程序容易出现BUG。大家可以想象一下，如果我们仅仅需要维护保存在CRM中的配置信息，就能让第三方站点和CRM进行功能对接，那不是非常的酷吗？今天呢，博主给大家演示下怎么在Portal中发布一个Arti]]></description><category></category></item><item><title><![CDATA[Dynamics 365 for Sales:轻松搭建自己的企业门户]]></title><link>https://blog.csdn.net/ghostbear/article/details/54908732</link><guid>https://blog.csdn.net/ghostbear/article/details/54908732</guid><author>ghostbear</author><pubDate>Tue, 07 Feb 2017 13:25:30 +0800</pubDate><description><![CDATA[D365的portal总的来说是一个非常大的feature，它整合了很多企业都需要的portal技术，降低了企业实施portal的成本，并极大的降低了CRM和Portal的集成成本。D365的portal功能对国内的用户来说也是具有非常大的吸引力，因为每个企业都需要有自己的portal，特别是那些目前还没有自己portal的中小企业。目前Portal功能只能在D365 Online环境中使用，OP]]></description><category></category></item><item><title><![CDATA[Dynamics 365 APP -- 清晰定义你的系统职责范围]]></title><link>https://blog.csdn.net/ghostbear/article/details/53420461</link><guid>https://blog.csdn.net/ghostbear/article/details/53420461</guid><author>ghostbear</author><pubDate>Thu, 01 Dec 2016 15:33:27 +0800</pubDate><description><![CDATA[今天我们来看看Dynamics 365 的一个新feature -- APP。对的，没错是APP，各位小伙伴肯定很诧异，难道Dynamics 365又推出了新版本的APP吗？如果各位这么想的话就中了博主的招了，应为博主故意放了一个烟雾弹。今天要讲的APP其实是类似于Web APP这样的程序，而不是装在移动设备上的APP。那什么是Dynamics 365 APP呢？其实他就是一个可以根据自己的具体需]]></description><category></category></item><item><title><![CDATA[Dynamics 365 Business Process Flow -- 让你不再惧怕复杂的业务流程！]]></title><link>https://blog.csdn.net/ghostbear/article/details/53379111</link><guid>https://blog.csdn.net/ghostbear/article/details/53379111</guid><author>ghostbear</author><pubDate>Tue, 29 Nov 2016 12:57:36 +0800</pubDate><description><![CDATA[Business Process Flow 功能并不是新功能，它是在Dynamics CRM 2013中被发布的。刚推出的时候，用户体验和开发体验并不是非常的完善，随着版本的不断迭代，新功能也不断的被增加。特别是在最近发布的Dynamics  365版本中，BPF已经得到了质的改变，它给我们提供过了一个非常友好的设计界面，并且我们能将工作流放在BPF中了，最酷的就是我们能在不停用BPF的同时对它进]]></description><category></category></item><item><title><![CDATA[Dynamics 365 Web API 与Organization Services的区别及其功能深度分析]]></title><link>https://blog.csdn.net/ghostbear/article/details/53264557</link><guid>https://blog.csdn.net/ghostbear/article/details/53264557</guid><author>ghostbear</author><pubDate>Fri, 25 Nov 2016 15:55:17 +0800</pubDate><description><![CDATA[今天博主带小伙伴们来围观下Dynamics 365 Web API和Organization Service的区别，对于还不知道Dynamics 365是什么的小伙伴可以去思过崖面壁思过了。Dynamics 365是微软新一代的企业级应用平台，它把CRM和ERP进行了整合并作为一款统一的企业级平台软件为企业级客户提供服务，在上面我们不但能使用之前Dynamics CRM的功能，而且还能使用Dyna]]></description><category></category></item><item><title><![CDATA[Dynamics CRM 2015/2016/365 Web API：批处理任务]]></title><link>https://blog.csdn.net/ghostbear/article/details/53199635</link><guid>https://blog.csdn.net/ghostbear/article/details/53199635</guid><author>ghostbear</author><pubDate>Thu, 17 Nov 2016 14:45:42 +0800</pubDate><description><![CDATA[Web API为我们提供的批量任务执行功能，我们可以在一个请求中混合多个不相干的创建查询请求，并且其还提供了事务功能，如果在事务中如果有脚本出现了错误，则其提供回滚功能。如下是批处理的请求报文，在报文里面我们需要设置批处理任务的编号，因为我们需要用它来划分任务的开始和结束边界。另外，我们还可以通过changeset标记来划分事务，在同一个changeset中，如果有处理失败了，那么整个change]]></description><category></category></item></channel></rss>