2015-04-20 74 views
0

我有两个字段:Cobertura和其他3(让我们称之为x,y,z)如果cobertura的值是150或160,我需要使其他3个字段是必需的,并且不允许在填充这些字段之前保存,使用java脚本在CRM 11. 使用设置所需的级别将适用于我?这个功能究竟做了什么?SetRequiredLevel它是如何工作的?

回答

4

是的,setRequiredLevel函数将适用于您的情况。该功能改变该领域的需求水平(可能的值是nonerecommendedrequired

你需要检查内部OnLoadOnChange事件的Cobertura值:

var cobertura = Xrm.Page.getAttribute("cobertura").getValue(); 
if (cobertura == 150 || cobertura == 160) { 
    Xrm.Page.getAttribute("x").setRequiredLevel("required"); 
    Xrm.Page.getAttribute("y").setRequiredLevel("required"); 
    Xrm.Page.getAttribute("z").setRequiredLevel("required"); 
} else { 
    Xrm.Page.getAttribute("x").setRequiredLevel("none"); 
    Xrm.Page.getAttribute("y").setRequiredLevel("none"); 
    Xrm.Page.getAttribute("z").setRequiredLevel("none"); 
} 
0

功能setRequiredLevel("required")使得数据属性要求。显示该属性的Web表单上的每个控件字段的标签都会在标签文本上添加一个星号(*)。只要属性保持空白,用户将无法将数据保存在表单上。

3

基本相同,圭多的只是重构

function coberturaSetRequired() 
    { 

     var cobertura = Xrm.Page.getAttribute("cobertura"); 
     var x = Xrm.Page.getAttribute("x"); 
     var y = Xrm.Page.getAttribute("y"); 
     var z = Xrm.Page.getAttribute("z"); 
     var isRequired = "none"; 

     if (!cobertura) return; 

      if (cobertura.getValue() == 150 || cobertura.getValue() == 160) 
      { 
      isRequired = "required"; 
      } 



     x.setRequiredLevel(isRequired); 
     y.setRequiredLevel(isRequired); 
     z.setRequiredLevel(isRequired); 

    } 
+0

复制别人的答案,并重构它是不够的,一个很好的答案。为什么你的答案比Guido好? – Peanut

+0

它不是更好,只是我会怎么写它,有更多的英语语言,所以可能会更容易理解,但会做同样的工作,我试着投票圭多的答案,但不能 – Jason

+0

你可以编辑我的答案的代码,而不是重构并将其发布为答案 –

相关问题