代码管理是一个无法避免的问题. 前面我也建议了大家每一个entity都应该拥有自身的js. 但是如果我们有一些global的function, 我们应该怎样去部署到每一个entity中呢? 我这里使用了globalHelper.js 来置放全局使用的functions 我们只需要在entity的js当中call 这个globalHelper.js 就可以使用了. 记住globalHelper.js 也是需要添加到当前entity中. // JavaScript source code var H…
这个系列是帮助大家了解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. 首先我们先创…
如果我们想用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…
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的页面不能满足我们的需求, 所以今天我们来做在HTML Web Resource中获取form elements Please Note: CRM 9.X 之后微软推荐开发人员使用formContext 来获取attributes, 效率更高. HTML Web Resource还只能使用Xrm.Page 来获取attributes 首先, 我们做了一个简易的功能,获取account中name的值. 我们复制下面的代码到创建…
我们在开发的时候会写很多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)…
form 和 field 的notification在开发当中会经常使用到 // Converting functions to Namespace Notation var Sdk = window.Sdk || {}; ( function () { this.formOnLoad = function (executionContext) { }; this.MailPhoneOnChange = function (executionContext) { var formContext…
HTML Web Resource是我们经常使用的一个功能. 第一步, 我们先创建好一个HTML. 接下来,我们要在web resource中创建新的html web resource. 我们在text editor中把我们的HTML 复制进去. 下一步我们要把做好的web resource 添加到form 当中.…
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…
在我们的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…
用户可以用以下代码来获取 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();…
这里是作为开发贴的总结. 现在plugin和workflow系列已经终结. 希望这些教程能给想入坑的小伙伴一些帮忙. CRM中文教材不多, 我会不断努力为大家提供更优质的教程. Plugin 开发系列 创建一个dynamics 365 CRM online plugin (一) - Hello World Plugin 创建一个dynamics 365 CRM online plugin (二) - fields检查 创建一个dynamics 365 CRM online plugin (三)…
我们在将比较大的solution导入CRM的时候,经常会遇到超时的问题,这是因为CRM的本身的优化限制导致的,那么如何解决呢? 官方已经有了解决方案了. 在浏览完两种解决方法之后,我们要知道的是: 1. 这两种修改都只是临时的,Solution部署成功之后,需要修改回去: 2. 在第二种解决方案中,修改了web.config,这个需要重启iis才能生效. 这里我们再说说超大Solution会遇到的另一个问题:在CRM Solution界面点击Import,然后Browse选择Solution,点…
Dynamics CRM有一种特殊的关联关系叫Associate,一般常见于为用户分配角色.给团队添加用户.团队添加角色.队列添加用户等等.在一些特定场景下我们不可能把所有的操作都通过手动来完成尤其是用户量极大的客户这种手动操作不仅会工作量很大,而且数量一多也容易出错.所以建立一个规则用代码来实现这些操作会比手动操作安全方便的多. 但是这些操作又不能使用传统的给Guid赋值来完成,因为你会发现他们几个实体之间是不存在关联字段的.这个时候就需要使用Associate来进行关联. 上代码(以团队添加…
原创地址: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…
http://www.cnblogs.com/LeoTang/p/3344265.html Dynamics CRM 2011 权限管理 CRM系统基于角色的权限主要通过部门.角色.用户.团队来 进行控制.每一个实体记录的所有者(Owner)必然是某一个用户或团队.一个用户或团队必然归属于一个且只归属于一个部门,但团队的成员即用户可以来自 不同的部门.用户和团队可以有多个不同的角色,并且用户或团队所被赋与的角色和它所在部门有关联,这种关联体现在对单个操作权限的五种层级选择,以商机的 读取为例:…
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复138或者20141229可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me!        前面文章发表后,不少朋友想了解下,这个怎么样管理联系人,订单和积分,能以图形最快的展示下效果,所以这篇博文趁着我补录数据的时候向大家展示下吧. 因为之前 联系人,订单和积分位置靠后,要滚动才行,操作麻烦,为了方便,我这里使用 Toolbox for Dynamics CRM 2011/2013  工具移动下他们的位置…
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…
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面的微软最有价值专家(Microsoft MVP),欢迎关注我的微信公众号 MSFTDynamics365erLuoYong ,回复234或者20161105可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 以前没有注意到,Web API提供了深度创建的功能,这个功能我简单理解就…
在 Dynamics CRM 的开发中,我们时不时需要创建 Entity 对象,而对于如何创建 Entity 对象,在 C# plugin 和 JS 的写法存在些许差异. 一.C# Plugin 创建 Entity 对象: 在 C# plugin 中,只要 new 一个对应类型的 Entity 对象,就可以操作该对象的属性设置初值,在之前的博客中已经写了在 C# plugin 中各个类型的字段是怎样赋值的,在这里就不作具体的代码展示了. Account account = new Account…
摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复271或者20180602可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me . Dynamics CRM的组织服务(Organization Service) 将会逐渐的退出历史舞台,取而代之的是Web API. 很多时候会有需求,特别是集成或者开发App,通过代码连接到Dynamics CRM的Web API,不要弹出窗口要求用户输入用户名和密码. 如何做,本文…
应公司需求,最近在学微软的Dynamics CRM.在搭建环境的过程中也遇到了一些雷坑,在这里分享一下安装部署过程当中所遇到的一些问题, 安装Microsoft Dynamics CRM 2016的几个必要条件: ①.系统版本:Windows Server 2012 r2   (安装教程及安装包:点我 ) ②.SQL版本:SQLServer2014   链接:https://pan.baidu.com/s/1M747Evrb49DtRzHSDViATA    提取码:6vu2 ③Dynamics…
安装Dynamics CRM 2016环境配置要求: 系统版本:Windows Server 2012 R2(必须) SQL 版本: SQLServer2014SP1-FullSlipstream-x64-ENU(必须) Dynamics CRM 版本:CRM2016-Server-ENU-amd64(必须) 安装步骤: 1.在虚拟机安装windows server 2012 r2,安装完后把机器名改成简单好认的(比如SQL2014,CRMServer等),后面安装CRM会用到. 2.在服务管理…
啊~~~~七夕 ▼ 你比巴西少一xi 你比山西多四xi 对有情人来说今天就是情人节,对单身汪来说,今天就是个星期四. but,软件也是要秀恩爱的! ♥ 晒晒我家亲爱的CRM,它的全名叫Microsoft Dynamics CRM,我们相识在过去的某一天,我们俩的缘分绝对是杠杠的…… Microsoft Dynamics CRM提供了一个绝佳的客户关系管理平台,使您能够创建各种以客户为中心的解决方案.更重要的是,通过将K2的企业业务流程功能与Microsoft Dynamics CRM相结合,构建…
Microsoft Dynamics CRM提供了一个绝佳的客户关系管理平台,使您能够创建各种以客户为中心的解决方案.然而,通过将K2的企业业务流程功能与Microsoft Dynamics CRM相结合,您有机会构建为企业量身定制的业务应用程序.以下仅列举K2与Microsoft Dynamics CRM结合可为您带来的五大优势. 一.企业流程 Microsoft Dynamics CRM包含了一些流程功能,这些功能对于短暂的(几秒钟)实体操作流程来说至关重要,比如发布新信息时创建电话跟进流程…
1: 安装windows server 2008 R2 中文版 (过程略) 安装完成后设置机器名和IP地址, 本过程机器名 crm5dev,192.168.0.110 dns: 192.168.0.110(本机) Administrator/neu@crm123 2: 通过服务器管理器添加域服务,配置域服务器域名为crm5.lab. 注意:使用高级模式安装. 说明:服务器是windows server 2003 那么就选windows server 2003 服务器是windows server…
CRM开发手册 本手册介绍在Visual Studio 2015 + Dynamics CRM Developer Extensions模板开发环境下,插件和JS脚本的开发.部署与调试过程. 手册中提到的插件和JS脚本调试方式,可以在代码修改后,直接调试本地插件和JS脚本.避免频繁的发布和部署,以及与其他同事开发工作的冲突. 插件开发 开发工具 开发工具使用Visual Studio 2015 CRM开发模板使用Dynamics CRM Developer Extensions 1.1   开发…