form 和 field 的notification在开发当中会经常使用到 // Converting functions to Namespace Notation var Sdk = window.Sdk || {}; ( function () { this.formOnLoad = function (executionContext) { }; this.MailPhoneOnChange = function (executionContext) { var formContext…
这个系列是帮助大家了解dynamics CRM (customer engagement CE) 的client-side 开发. Client-side Events 1. Form OnLoad 2. Form OnSave 3. Attribute OnChange 4. Lookup PreSearch 5. Grid Events a. OnRecordSelect b. OnSave c. OnChange 6. Business Process Events etc. 首先我们先创…
上一节我们讨论到创建HTML Web Resource. 但是纯HTML的页面不能满足我们的需求, 所以今天我们来做在HTML Web Resource中获取form elements Please Note: CRM 9.X 之后微软推荐开发人员使用formContext 来获取attributes, 效率更高. HTML Web Resource还只能使用Xrm.Page 来获取attributes 首先, 我们做了一个简易的功能,获取account中name的值. 我们复制下面的代码到创建…
如果我们想用script来直接在form上做一些修改, 我们需要用到client api 来做交互. 我们可以用以下来理解: Form <---> Client API <---> Script Client API Objects Model 1. Execution Context 2. formContext formContext是获取form的权限. formContext 有两个object. 1. Data object (formContext.data.entit…
用户可以用以下代码来获取 form type 更多的信息可以查阅https://docs.microsoft.com/en-us/powerapps/developer/model-driven-apps/clientapi/reference/formcontext-ui/getformtype this.formOnLoad = function (executionContext) { var formContext = executionContext.getFormContext();…
Xrm.WebApi 是我们做前端开发不可不缺少的内容. Xrm.WebApi 分为online和offline online: 可以实现和服务器的CRUD交互 offline: 多用于mobile client 微软的Xrm.WebApi 官方资料:https://docs.microsoft.com/en-us/powerapps/developer/model-driven-apps/clientapi/reference/xrm-webapi Create: create来说其实很简单,…
HTML Web Resource是我们经常使用的一个功能. 第一步, 我们先创建好一个HTML. 接下来,我们要在web resource中创建新的html web resource. 我们在text editor中把我们的HTML 复制进去. 下一步我们要把做好的web resource 添加到form 当中.…
接下来就要开始进行CRM产品的安装了 首先要安装IIS,以及.NET FrameWork4.6及相关功能 打开服务器管理器,在添加角色功能向导中勾选IIS,点击添加功能 默认下一步 选择角色服务这里的安全性下面勾选:Windows 身份验证以及基本身份验证:常见HTTP功能勾上HTTP重定向 性能下面勾选:静态内容压缩和动态内容压缩然后点击下一步 勾上如果需要重启目标服务器,点安装 安装完成后再安装.NET Framework 3.5(因为原来的一个BUG,直接装.NET Framework的时…
Execution Context 在代码执行的时候定义了event  context. 当form或者grid发生event时候传递了execution context. 可以在event handler中使用execution context执行各种tasks. e.g. 确定formContext, gridContext或者save event. function DisplayHelloWorld(executionContext) { var formContext = execut…
我们在开发的时候会写很多functions. 但是这些functions 管理起来很麻烦. 微软内部建议我们使用namespace notation的形式管理我们的代码 // Converting functions to Namespace Notation var Sdk = window.Sdk || {}; ( function () { this.formOnLoad = function (executionContext) { var formContext = execution…
我们这次要使用account, 让我们首先重建一个JavaScript. 建议每个entity都创建专属的js // Converting functions to Namespace Notation var Sdk = window.Sdk || {}; ( function () { this.formOnLoad = function (executionContext) { }; this.MailPhoneOnChange = function (executionContext)…
代码管理是一个无法避免的问题. 前面我也建议了大家每一个entity都应该拥有自身的js. 但是如果我们有一些global的function, 我们应该怎样去部署到每一个entity中呢? 我这里使用了globalHelper.js 来置放全局使用的functions 我们只需要在entity的js当中call 这个globalHelper.js 就可以使用了. 记住globalHelper.js 也是需要添加到当前entity中. // JavaScript source code var H…
在我们的system setting里面, 我们可以设置打开/关闭 auto save的功能. 我们可以用js来控制auto-save this.formOnSave = function (executionContext) { var eventArgs = executionContext.getEventArgs(); if (eventArgs.getSaveMode() == 70 || eventArgs.getSaveMode() == 2) { eventArgs.preven…
大家可以用下面的方式来获取attribute的值 formContext.getAttribute("address1_shippingmethodcode").getText() 可以用setDisabled 来disable相关联的值 formContext.getControl("address1_freighttermscode").setDisabled(true); // Converting functions to Namespace Notatio…
我们用以下的代码可以获取到look up 的信息. 大家可以查看微软文档来查看更多关于 lookup object的信息 https://docs.microsoft.com/en-us/powerapps/developer/model-driven-apps/clientapi/reference/xrm-utility/lookupobjects 我们可以使用 下面代码来展示信息: formContext.ui.setFormNotification("Guid of the Accoun…
这里是作为开发贴的总结. 现在plugin和workflow系列已经终结. 希望这些教程能给想入坑的小伙伴一些帮忙. CRM中文教材不多, 我会不断努力为大家提供更优质的教程. Plugin 开发系列 创建一个dynamics 365 CRM online plugin (一) - Hello World Plugin 创建一个dynamics 365 CRM online plugin (二) - fields检查 创建一个dynamics 365 CRM online plugin (三)…
Workflow: Use this process to model and automate real world business processes. These processes can be configured to run in the background or in real time and can optionally require user input. Workflow processes can start automatically based on spec…
原创地址:http://www.cnblogs.com/jfzhu/p/4012833.html 转载请注明出处 前面演示过如何安装Dynamics CRM 2013,参见<Step by step Dynamics CRM 2013安装 >. 本文演示如何使用Microsoft Dynamics CRM Deployment Manager来创建一个新组织. 演示环境使用的是CRM 2013,服务器架构如下图所示,系统中已经有了一个组织Philips,其数据库在计算机Eindhoven-SQ…
昨天群里熊宸(Microfoft MVP)给大家分享了以“Dynamics CRM 客户端编程概况”为主题,在群里给大家做了一次精彩的分享. 一些朋友聊到了Ribbon按钮在Form上的显示问题,因为Ribbon Button默认是对所有的Form可见的,在实体多有多个Form的情况下,自然有不同Form显示不同的Ribbon Button的需求. 在这里打个广告,对CRM感兴趣的朋友可以加入我们的群: MSCRM商务技术交流群:149371424 群主伟峰会在经常会组织一些分享活动,上周和本周…
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面的微软最有价值专家(Microsoft MVP),欢迎关注我的微信公众号 MSFTDynamics365erLuoYong ,回复234或者20161105可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 以前没有注意到,Web API提供了深度创建的功能,这个功能我简单理解就…
在 Dynamics CRM 开发中,我们一般要利用 JS 来做一些数据验证的功能,我们也需要将验证结果显示出来,比起直接 alert 出信息来提示用户的方式,CRM 提供了更加美观和人性化的方式来通知用户是否存在错误输入. 一.为字段设置 Notification: 代码如下: var oStartDate = Xrm.Page.getAttribute("new_start_date").getValue(); var oEndDate = Xrm.Page.getAttribut…
在 Dynamics CRM 的开发中,我们时不时需要创建 Entity 对象,而对于如何创建 Entity 对象,在 C# plugin 和 JS 的写法存在些许差异. 一.C# Plugin 创建 Entity 对象: 在 C# plugin 中,只要 new 一个对应类型的 Entity 对象,就可以操作该对象的属性设置初值,在之前的博客中已经写了在 C# plugin 中各个类型的字段是怎样赋值的,在这里就不作具体的代码展示了. Account account = new Account…
Chapter 1. Microsoft Dynamics CRM 4.0 SDK Overview(SDK概述) You are probably reading this book because your organization recently purchased Microsoft Dynamics CRM or because your organization is evaluating it. As a developer, you want to know what this…
The Challenge Oftentimes in the world of Dynamics CRM, the need arises for non-CRM users to gain access to CRM data. A common solution is the implementation of a web portal which allows these users to perform certain actions on applicable CRM data. M…
原创地址:http://www.cnblogs.com/jfzhu/p/4018153.html 转载请注明出处 (一)检查Customizations 从2011升级到2013有一些legacy feature是不再支持的了: CRM 4.0 plugin-ins CRM 4.0 client-side scripting CRM 4.0 custom workflow activities 2007 web service endpoint ISV folder support for cu…
新版本CRM (2016 with update 0.1) 发布已有几个月了,总结一下新特性,从几个方面来看: 1. 针对整合功能的新特性 (1) 增加了CRM App for Outlook. 这个是一个轻量级的CRM Email app,目前并不能完全替代 Dynamics CRM for Outlook,但是我觉得只是个时间问题,目前的区别如下(April 2016) Feature Dynamics CRM App for Outlook Dynamics CRM for Outlook…
Dynamics CRM 客户端的插件调试 一直以来,Dynamics CRM插件在大家的印象中都是不便于调试的,根据官方文档(http://technet.microsoft.com/zh-cn/library/gg328574.aspx),调试插件分为两步: 注册插件 在要运行插件的 Microsoft Dynamics CRM 服务器上,将调试程序附加到进程 这步骤不仅繁琐,而且在调试出错需要修改代码,还必须在修改代码后重新注册插件,然后继续第二个步骤,这样不仅繁琐低效,而且因为调试占用进…
摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复267或者20180311可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me . 在Dynamics CRM中快速查找功能是个让人喜欢的功能,在每个实体的列表界面的右上角有个搜索记录的功能,输入搜索关键字回车后就会执行搜索. 还有Dynamics 365的全局搜索功能也是对指定实体(系统管理员配置)执行快速查找并显示结果. 用户很喜欢快速查找功能,而且在实施项目过程…
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复233或者20161104可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me . 不是在Web资源中调用Web API怎么进行认证呢?如果不认证就会返回 HTTP/1.1 401 Unauthorized ,反正我的IFD环境是这样.有时候真的想用Fiddler等工具来模拟调用看看效果,然后再写代码?怎么办?我这里提供一个不是很聪明的办法,那就是通过OAuth认证后拿到…
摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复271或者20180602可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me . Dynamics CRM的组织服务(Organization Service) 将会逐渐的退出历史舞台,取而代之的是Web API. 很多时候会有需求,特别是集成或者开发App,通过代码连接到Dynamics CRM的Web API,不要弹出窗口要求用户输入用户名和密码. 如何做,本文…