随笔分类 - CRM
摘要:上次介绍了《Dynamic CRM 2013学习笔记(十九)自定义审批流1 - 效果演示》 以及如何配置自定义审批流的按钮:《Dynamic CRM 2013学习笔记(二十一)自定义审批流2 - 配置按钮》,这次接着介绍如何配置审批流的节点及节点关系。 一、 模板头: 二、流程节点: 一共有三种节点:开始节点,中间节点,结束节点: 1. 开始节点: ...
阅读全文
摘要:有一个实体的子表数据量太大,于是客户想用execel来导入实体数据。首先想到的是用系统自带的Import Data,客户嫌太麻烦,比如lookup字段要做map等。下面是具体的实现步骤:一、定义excel数据模板1. 利用系统自带的Download Template For Import下载系统自带...
阅读全文
摘要:插入子表时,没设置主表的id
阅读全文
摘要:在CRM中使用linq时,有时会报这个错误:A proxy type with the name account has been defined by another assembly.Current type: Account, MyAssembly, Version=1.0.0.4, Cult...
阅读全文
摘要:在报表开发过程中,经常会遇到各种各样的问题,比如The report cannot be displayed. (rsProcessingAborted),一点有意义的提示都没有;再就是分页问题,经常我们想把一条记录放在一页,下一条记录另起一页,而不是紧连在上一条记录的后面;有时我们还会出现上传报表...
阅读全文
摘要:我们知道通过界面设置字段的change事件,是否是必填,是否可见非常容易。但有时我们需要动态地根据某些条件来设置,这时有需要通过js来动态地控制了。 下面分别介绍如何用js来动态设置。 一、动态设置字段的change事件 // form on load event function onLoad() { init(); ...
阅读全文
摘要:前面介绍过二种复制/克隆方法:《Dynamic CRM 2013学习笔记(十四)复制/克隆记录》 和《Dynamic CRM 2013学习笔记(二十五)JS调用web service 实现多条记录复制(克隆)功能》。 第一种方法,是复制单个同类型实体;第二种方法是在list界面,复制多条记录到另一个实体;这二种方法都要coding。 下面介绍一种复制方法,无需代码,就可以在创建时,把另一实体的...
阅读全文
摘要:如图所示,设置PageName即可: 这样导出excel时,sheet的名就有了:
阅读全文
摘要:解决方法: 1. 依次打开Settings->Data management –> Data Encryption 然后在上面红框里填上任意一个key即可。
阅读全文
摘要:上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门、开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的;参数可以多选或全选;动态地显示列,列不是固定的;根据某一字段的值来动态地显示整行字体的颜色。下面介绍详细...
阅读全文
摘要:前面介绍过如何克隆一条当前的记录: Dynamic CRM 2013学习笔记(十四)复制/克隆记录 , 主要是通过界面上加一个字段,单击form上的clone 按钮时,改变这个字段的值以触发插件来实现的。 那么,如果要在list (homepage)界面实现多条记录的克隆,这时就不方便加字段以触发插件了。这时我们可以用js调用web service的方式来实现。下面介绍详细的步骤: 1....
阅读全文
摘要:我们有时要验证下页面上的一些逻辑,比如开始时间不能晚于结束时间,不对时不让保存。我们可以在相关的字段事件上处理,但这如果要判断的字段比较多时,就比较麻烦了。 这时候我们就可以利用Form的OnSave事件,下面介绍下具体的做法:1. Form的OnSave事件2. JS方法function form...
阅读全文
摘要:我们知道在CRM的js文件里引用XrmPageTemplate.js后,就可以实现智能提示,但每个js文件都引用太麻烦了,其实可以利用vs的功能让每个js文件自动实现智能提示CRM的js;另外,我们调试js,发布js文件也是比较繁琐的事情,最好的办法是全部调好,再发布上去,本文介绍用firefox ...
阅读全文
摘要:1. 添加service: 2.调用WCF BasicHttpBinding myBinding = new BasicHttpBinding(); myBinding.Name = "BasicHttpBinding_IAuthService"; myBinding.Security.Mode = BasicHttpSecurit...
阅读全文
摘要:上次介绍了 Dynamic CRM 2013学习笔记(十九)自定义审批流1 - 效果演示现在开始介绍如何配置审批流,首先在form上添加三个按钮,Submit, Agree, Reject:1. submit 按钮$webresource:crm_PNG_approvaltemplate_16$we...
阅读全文
摘要:CRM里有二种方式实现字段change事件,一种是在form里,一种完全通过js来实现。本文介绍下二者的用途及区别。1. Form里用法这种方式估计其实也是添加一个js的function。这种方式功能最强大,无论是前台还是后台只要这个字段有变化就会触发这里的事件。2. 纯jsXrm.Page.get...
阅读全文
摘要:CRM的项目,审批流是一个必须品。为了更方便灵活地使用、配置审批流,我们自定义了一整套审批流。首先来看下它的效果: 1. 审批模板 这是一个最简单的审批流,首先指定审批实体,及相关字段,再配置流程节点,这里只有5个节点,而且没有规则节点(后面会介绍): 接着就是对上面的流程节点配置关系,这里就指定流程节点的走向: 运行一段时间后,可以查看审批的实例: ...
阅读全文
摘要:有时要根据主表的审批状态来控制子表上的按钮要不要显示,比如我们有一个需求审批通过后就不能再上传文件了。 首先打开Visual Ribbon Editor, 如下图,我们可以利用Enable Rules –> CustomRule 用js来控制按钮是否显示: js function: 首先用odata取出主表的状态,然后根据主表的状态来判断是否显示: var approvalS...
阅读全文
摘要:1. 查询角色、用户SELECT DISTINCT DomainName, u.FullName , u.FirstName, u.InternalEMailAddress, r.Name, r.BusinessUnitIdName FROM SystemUse...
阅读全文
摘要:我们经常要对表单里各种类型的字段进行读取或赋值,下面列出各种类型的读写方法及注意事项: 1. lookup 类型 清空值var state = Xrm.Page.getAttribute("new_state");
if (state != null)
{
Xrm.Page.getAttribute("new_state").setValue(null);
} 读取值var state...
阅读全文