今天我们再来看看Bound/Unbound Custom Action吧,什么是Custom Action?不知道的小伙伴们就out了,Dynamics CRM 2013就有了这个功能啦.和WhoAmI这类消息一样,我们都能够通过代码去调用它们.仅仅只是呢,今天我要给大家讲讲怎么用Web API的方式去调用它们. Custom Action也被划分为Bound和Unbound两种类型了,它们的详细含义和之前讲的Function和Action没有差别.唯一的差别就是,这里的Custom Actio…
今天我们来看看Dynamics CRM Web API Function 吧, 这是一个新概念,刚接触的时候我也是比較的迷糊.这种命名确实是和之前的那套基于SOAP协议的API全然联系不上.好了,不说闲话了.这里的Function呢,就我来看,更像是一些被封装好的原生函数和老API中的Request几乎相同的意思,仅仅是API的架构方式变了,所以名称也就跟着变了. 我们之前要查看当前登录用户的信息.须要调用WhoAmIRequest,那如今呢?我们须要调用WhoAmI Function. 这里的…
上篇文章介绍了Bound/Unbound Function.今天我们来看看Action吧.像我之前说的:Function和Action之前的差别能够简单理解为.Function不改动数据,可是Action却会改动数据. 今天呢,我们也分别看看Bound Action和Unbound Action,事实上它们的调用方式和Function是一样的,仅仅是这里的请求提交方式很多其它的是採用Post的方式.我们先来看两个样例吧: 公共变量 static string clientId = "580c20…
各位小伙伴们,今天是博主2016年发的第一篇文章.首先祝大家新年快乐.工资Double,哈哈.今天我们来看一个比較重要的Feature--使用Web API运行FetchXML查询! 对的,各位.你们没有听错,使用Web API运行FetchXML查询.在过去我们做这种事情但是要花九牛二虎之力哟,拼接大量的SOAP消息体并且还easy出错. 如今好了,我们自己能够在URL里面加上我们想要运行的FetchXML就可以,系统则会乖乖的把我们想要的数据返回回来.是不是非常美好呢! 言归正传,Web A…
今天我们来看看Web API的数据查询功能,尽管之前介绍CRUD的文章里面提到过怎么去Read数据,可是并没有详细的去深究那些细节,今天我们就来详细看看吧.事实上呢,Web API的数据查询接口也是基于OData协议的,所以之前的OData Url Query的构造规则没有非常大的变化.比如:$top, $select, $filter, $expand, $order的功能还是在的,只是也加入了一些新东西,比如 $count  -- 返回记录的总数 Paging Mechanism(分页机制)…
微软动态CRM专家罗勇 ,回复331或者20190505可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 我之前的文章 控制台程序(C#)不弹出认证窗口连接到Dynamics CRM Online的Web API 发现不好用了,我在stackoverflow上找到了类似的答案,由 IntegerWolf 提供的问题 Using ADAL C# as Confidential User /Daemon Server /Server-to-Server - 401 Un…
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复215或者20160328可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me. 从Dynamics CRM 2015 UR1 开始,新增了乐观并发(Optimistic concurrency)处理.以前Dynamics CRM更新记录我称之为裸奔,它是不管你获取这条记录以后,别人是否做了更改,是直接Update这条记录,没有乐观并发一说.其实利用实体的RowVersi…
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复216或者20160329可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me. 从Dynamics CRM 2015 UR1 开始,新增了ExecuteTransactionRequest,主要是用来处理以前面临的窘境:执行多个消息,有些消息成功,有些消息失败,系统是让成功的成功,让失败的失败.当然从Dynamics CRM 2013起也不是无计可施,我的博文:Dyna…
摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复271或者20180602可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me . Dynamics CRM的组织服务(Organization Service) 将会逐渐的退出历史舞台,取而代之的是Web API. 很多时候会有需求,特别是集成或者开发App,通过代码连接到Dynamics CRM的Web API,不要弹出窗口要求用户输入用户名和密码. 如何做,本文…
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复217或者20160330可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me. 还记得以前调试插件或者自定义工作流代码吗?如果是调试本机的代码还好,插件调试可以查考我这两篇博文:Dynamics CRM插件开发教程之:插件的调试 和 Dynamics 365 Customer Engagement中插件的调试 ,如果是调试非本机代码,需要使用远程调试,更麻烦.现在好多了…
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复190或者20160216可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 从CRM 2015 UR1开始,在 设置 > 模板 那里新增了 文档模板.   系统默认提供了4个Microsoft Excel模板和5个Microsoft Word模板,这些模板是公共模板,还有私有模板,若不做设置的话,就是所有的人都可以用.   我这里打开 客户摘要 这个模板去看看如下:   还是来看看怎么用,打开一个客户,在…
基本步骤: 使用SSRS建立报表,以下的例子是以记录的GUID作为报表的参数 获取ReportSession 和 ControlId来调用报表 以PDF的形式预览报表 一.根据报表的名称获取报表的GUID //use sdk.soap java script library to fetch record. getReportGuidByName:function(reportName) { var fetchXml = "<fetch version='1.0' output-forma…
摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复270或者20180424可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me . Dynamics CRM 2016开始推出推荐使用Web API,我也有系列博客文章做了介绍,主要文章如下: Dynamics CRM 2015/2016新特性之二十:Web API介绍及使用它创建记录 Dynamics CRM 2015/2016新特性之二十二:使用Web API更新…
摘要: 本人微信公众号:微软动态CRM专家罗勇 ,回复285或者20181126可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM 2016 Performance and Scalability Documentation,这个是微软官方公开文档,下载网址是 https://www.microsoft.com/en…
Dynamics CRM 2015 为开发者加入了一些新的Service Request以及一个帮助类库XrmTooling,它支持连接各种环境下的CRM,比方:Online,O365,On Premise等等,并且也支持记录的CRUD操作.很的给力. 我将会在后面对其做具体介绍,我们先来看看新系统中更新的Services吧: Organization Web Services 这些新APIs大多数和新Feature有关.比方PublishProductHierarchyRequest. Dep…
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复157或者20151005可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 前面的 插件系列博客教程 讲述了新增记录(Create).删除记录(Delete) .更新记录(Update)和更改记录状态(SetState)插件的实例,也提到了系统标准实体会有一些特殊的消息,本博文以案例实体为例讲解一些特殊的消息.为了便于讲述,我这里模拟一个场景,就是解决案例的时候记载下解决案例的人和解决案例的时间,如果案例…
 首先截图一下我要升级的Dynamics CRM 2013版本如下图,可以看到是打了SP1后的CRM 2013.         运行CRM 2015简体中文版的安装文件CRM2015-Server-CHS-amd64.exe,解压后提示如下:   囧,看了下没有这个名叫Microsoft Dynamics CRM Connector for SQL Server Reporting Services的程序啊,我猜应该是Dynamics CRM Reporting Extensions,果然下载…
背景 在On-premises部署的Dynamics CRM中实现通过网页拨通客户电话的功能 要点 3CX 提供了开箱即用的Dynamics CRM Solution,只需要在Microsoft Dynamics CRM 2015(On-Premises)中导入3CX提供的Solution压缩包即可 成功实现本文所述安装步骤前需要先满足以下前置条件: 已在企业环境安装3CX Phone System v14 PRO版 在客户端安装3CXPhone for Windows 已在企业环境安装Micr…
听说出  Dynamics CRM 2015 Online  Update1了,立马跑去申请了个30天试用版简单的看了下,UI上的变化还是让人耳目一新的,也可能是被CRM2013的UI蹂躏太久了没脾气后,看到稍微有那么点改进后的欣喜若狂吧,下面我们来看下哪些变化. 原来的Home按钮那个小房子图标改了,现在点击图标是下拉一级导航,而原来是下拉一级导航功能是在Microsoft Dynamics CRM那几个字上.但现在点击那几个字是返回首页面,所以我们看到两个按钮之间的功能做了调换,在这版中…
Microsoft Dynamics CRM 2015 的追踪是一个很有用的function,它能为我们的CRM调试,评估 提供有价值的信息:我们可以用window的性能监控工具来了解CRM的性能状态,不过也可以用任务管理器哟,很实用的工具了. 1. 启用部署级追踪 · 通过run-> powershell打开powershell · 引用CRM command: Add-PSSnapin Microsoft.Crm.PowerShell · 先查看当前追踪状态: Get-CrmSetting …
Function Name Description CalculateTotalTimeIncident Function Calculates the total time, in minutes, that you used while you worked on an incident (case). CheckPromoteEmail Function Contains the data that is needed to check whether the incoming email…
Alternate Keys. 还是和系统集成相关的一个重量级Feature.使用该Feature能极大的提高开发数据集成接口的时间成本以及接口的执行效率. 在之前的Dynamics CRM 版本号中.我们仅仅能通过Entity的主键去推断记录的唯一性,如今我们能够通过使用Alternate Keys来推断记录的唯一性.更有趣的则是.我们能够自己去配置实体的Alternate Keys. 眼下Alternate Key仅仅支持文本和数字类型的字段,而且每一个实体最多仅仅能配置5个Key.只是这已…
大家应该都知道.Dynamics CRM能集成SSRS Report,而且我也在之前的博文中讨论过怎样制作一个简单的SSRS Report并部署到Dynamics CRM中.今天我们来看看一些比較有用的功能.比方:怎样让报表显示在Form Level下的Run on current record选择中,以及怎样支持Run on selected records功能. 假设我们想制作支持例如以下功能的报表.我们应该从何入手呢? 1. Run on selected records 2. Run o…
今天我们来看看API的变化.新系统中,去掉了一些经常使用的数据处理API,比如:SetStateRequest, SetBusinessUnitRequest, SetParentBusinessUnitRequest等. 如今我们做这类型的操作不须要单独的调用这类API了,我们能够直接构造我们期望的Entity对象.并将其推送到服务端.系统将会安装其内容做对应的处理. 俗话说,外行看热闹.内行看门道. 尽管不过简单的去掉了几个API,可是对于新系统的内部架构应该是发生了翻天覆地的重构. 对于我…
CRM更新2015后,在设置里找不到公告配置了 在原来的位置上你会东西一个叫活动源配置的东西,点开看后就是原来的公告配置.…
关键检索元数据我在之前的一篇博文中稍有提及,当时是为了取实体的picklist字段的属性,但当时的版本只支持通过metadataid检索,而在365中又增加了名称的检索,方便了很多. 本篇依旧用之前博文中的例子来查询accout的实体的picklist元数据,下图是365online的查询结果,直接通过localname='account'进行查询picklist元数据,而不需要再去先抓取metadataid了. 下面对比下365online和2016通过名称查询的结果 365查询结果正常 而2…
如果我们想用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…
主要步骤如下: 生成一条邮件记录 生成一条ActivityParty记录 生成PDF文件,并以Base64添加到ActivityMimeAttachment 中去 打开发送邮件窗口,以便编辑及发送邮件 第一,生成邮件记录 CreateEmail: function () { var email = new Object(); email.Subject = "Quotation"; SDK.REST.createRecord(email, "Email", Emai…
本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复261或者20170724可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me . Web API在Dynamics CRM中的功能越来越强大,Dynamics 365 (Dynamics CRM V8.2) 又增加了一些通过通过Web API可以执行的操作(Action) ,比如 ExecuteWorkflow这个Action,具体Web API可以执行哪些操作呢?可以参考…
本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复261或者20170724可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me . Web API在Dynamics CRM中的功能越来越强大,Dynamics 365 (Dynamics CRM V8.2) 又增加了一些通过通过Web API可以执行的操作(Action) ,比如 ExecuteWorkflow这个Action,具体Web API可以执行哪些操作呢?可以参考…