Javascript CRM 2011以两种不同的形式将静态值设置为同一选项集

Javascript CRM 2011以两种不同的形式将静态值设置为同一选项集,javascript,xml,dynamics-crm-2011,crm,Javascript,Xml,Dynamics Crm 2011,Crm,我创建了两个潜在客户表单。一个用于办公家具生产线,另一个用于家庭家具生产线。现在,我将一个字段设置为选项类型,其值为Office Furniture和Home Furniture。当用户选择Home Furniture Lead表单时,该表单必须能够将Home Furniture设置为静态值和只读。类似地,如果是Office Furniture lead form,则必须将Office Furniture设置为只读的静态值。在某种程度上,我们希望从用户那里取消该字段的编辑功能。我在这里面临一个挑

我创建了两个潜在客户表单。一个用于办公家具生产线,另一个用于家庭家具生产线。现在,我将一个字段设置为选项类型,其值为Office Furniture和Home Furniture。当用户选择Home Furniture Lead表单时,该表单必须能够将Home Furniture设置为静态值和只读。类似地,如果是Office Furniture lead form,则必须将Office Furniture设置为只读的静态值。在某种程度上,我们希望从用户那里取消该字段的编辑功能。我在这里面临一个挑战,因为两个表单中引用了相同的字段。如果将“家庭家具”设置为默认值并将其设置为只读,则“办公家具引线”窗体也会显示相同的值。如果有人能帮我编写一个脚本,根据潜在客户表单的选择来分配两个不同的值,那将是一个很大的帮助

您需要检查您的表单并设置字段,您可以从以下示例开始:

var currentForm=Xrm.Page.ui.formSelector.getCurrentItem();
如果(currentForm!=null){
var formValue=null;
var currentFormLabel=currentForm.getLabel();
开关(currentFormLabel){
案例“办公家具”:
formValue=1;
打破
案例“家庭家具”:
formValue=2;
打破
}
if(formValue!=null){
Xrm.Page.getAttribute(“new_formtype”).setValue(formValue);
Xrm.Page.getAttribute(“new_formtype”).setSubmitMode(“always”);
Xrm.Page.getControl(“新表单类型”).setDisabled(true);
}   
}
当然,仅此代码是不够的,当用户更改表单(如果您希望保留此可能性)或使用navigate方法自动更改表单时,您需要小心

我建议这篇msdn文章将有助于:


我可以通过这个来显示结果。但是我为每个表单编写了两个不同的函数

function HomeFurniture() {
Xrm.Page.getAttribute("new_lineofbusiness").setValue(100000000);
}
在另一个窗体上,我插入了相同的函数

function OfficeFurniture() {
Xrm.Page.getAttribute("new_lineofbusiness").setValue(100000000);
}