随笔分类 - Javascript
摘要:页面上有一个Lookup field,当选择一个记录时,同时要把这个记录的其他值也带到本页面来,其中有好多是Lookup来的。开始我用LinkEntity来取得它们的名字值,但是后来发现LinkEntity有数量限制,每条查询语句只能有10个LinkEntity,超过就报错,Advanced Find里也是一样的。所以,用LinkEntity并不是一个好办法,而且我只是要取得一个名字的值而已,直觉告诉我不用那么麻烦的。研究了一下,其实Fetchxml取的Lookup的值,不仅有GUID,名字的值也取到了,只不过名字值要经过一定的步骤转化才能拿到。下面是具体方法:首先,我们从返回的xml对象中取
阅读全文
摘要:需求:页面上有一个字段是Account类型的Lookup,另一个字段是Contact类型的Lookup。要求打开Contact lookup时只显示Account的Primary Contact的过滤视图。分析:要做到这个功能,首先要重写(增加)Contact lookup的“显示查找视图”的事件;然后,在页面加载的时候就要把这个事件添加到Contact lookup上,在Account的值发生变化时也要做相应的改变,比如Account的值被清空的情况下,我们的自定义过滤视图就应该显示全部的Contact,所以这时要再次改写“显示查找视图”的事件。步骤:(1)创建一个Javascript文件,
阅读全文
摘要:function UserHasRole(roleName){ var serverUrl = Xrm.Page.context.getServerUrl(); var oDataEndpointUrl = serverUrl + "/XRMServices/2011/OrganizationData.svc/"; oDataEndpointUrl += "RoleSet?$top=1&$filter=Name eq '" + roleName + "'"; var service = GetRequestOb
阅读全文
摘要:很拗口的标题 -_-|||需求:页面上有两个同样的Field——accountnumber,想Disable其中一个,究竟为什么有这么傻叉的需求就不讨论了,只关注于如何实现。看似简单的问题,实际做的时候却遇到问题,一开始,当然是用“Xrm.Page.getControl("accountnumber").setDisabled(true);”,结果发现不行,只有排在前面的那个Field被Disable了,另一个还是enable的。为什么另一个不行呢?我用了曲折的方法debugging得到结论:function disablenumber() { debugger; //先取
阅读全文
摘要:CRM2011有一个新特性: field sercurity, 可以做到隐藏密码的目的,但是——对管理员无效。一般来说,如果是密码,不管是谁,输入的时候,应该只看到“*****”这样的。在CRM2011里似乎没有办法可以达到这个目的。于是乎我用了一个比较曲折的方法来实现。在Form onload事件中加入并调用“HidePassword()”;在Form onSave时间中调用“SetNewPassword()”。 1 var pwd; 2 function HidePassword() 3 { 4 crmForm.all.arw_password.style.display = "
阅读全文


浙公网安备 33010602011771号