MSCRM 4如何使用“已设置查找值”来触发OnLoad / OnChange的操作

时间:2014-04-14 20:44:29

标签: javascript dynamics-crm crm dynamics-crm-4

今天我被问到是否可以预设付款条件 在我们的合作伙伴到发票字段中选择“公司X”时 我尝试了几种使用“Var xml”查找并将其从systemuser更改为accountid的方法 有人这样做了吗?

if(crmForm.all.<lookupfield>.DataValue == "Company X"){
//insert code here to do something here
}

由于它是一个查找字段,我知道没有一种简单的方法可以进行比较。

我知道 Value 我希望比较该值但不确定如何将其拉出来进行比较。

1 个答案:

答案 0 :(得分:0)

我已经弄明白我刚引用

http://msdn.microsoft.com/en-us/library/cc189833.aspx

使用“var”

制作了我自己的代码版本
if(crmForm.all.<lookupfield>.DataValue != null){

var partnername = crmForm.all.<lookupfield>.DataValue[0].id;
// alert(partnername);  // used to find out the LookUp ID number
// Exampled Result: "{AEB4E2EF-C2E9-DE11-B076-000E0F0000E0}"

if(partnername == "{AEB4E2EF-C2E9-DE11-B076-000E0F0000E0}"){
crmForm.all.new_paymentterms.DataValue = 60; 
crmForm.all.new_paymentterms.Disabled = true; // used 
// alert("This Account has a default payment terms of 60 days.")
}
}
else{crmForm.all.<lookupfield>.DataValue == null
crmForm.all.new_paymentterms.Disabled = false;
}

或者如果您想使用查找字段的实际文本进行比较

if(crmForm.all.<lookupfield>.DataValue != null){

var partnername = crmForm.all.<lookupfield>.DataValue[0].name;
// alert(partnername);  // used to find out the LookUp ID number
// Exampled Result: "Company X"

if(partnername == "Company X"){
crmForm.all.<lookupfield>.DataValue = 60; 
crmForm.all.<lookupfield>.Disabled = true; // used 
// alert("This Account " +  partnername 
+ '\n' + '\n' +  " has a default payment terms of 60 days.")
}
}
else{crmForm.all.<lookupfield>.DataValue == null
crmForm.all.new_paymentterms.Disabled = false;
}

清理:以下代码

try{
    if(crmForm.all.<lookupfield>.DataValue != null){
    var partnername = crmForm.all.<lookupfield>.DataValue[0].name;
    if(partnername == "Company X"){
            // Insert your code here
            }
            }
            else{
            //Optional Code here if you want the nothing then insert nothing here
            }
        }
catch(err){alert("Error in pulling the Lookup Field Name")}