2013-12-18 50 views
0

我正在使用客户关系管理2013年内部,并在其中有一个选项集(不全球)具有文本和值作为“虚拟条目”“0”的属性。默认值是未分配的。客户关系管理2013动态选项集问题

我的代码是在这个选项集中添加一些选项和一些业务逻辑。所以我可以通过Javascript添加新的选项。

当我通过JavaScript将在它的选项,它并不让我改变的价值可以说

选项1 VAL1 选项2 VAL1加入则它不会让我选择这些值,每一次选择他们将恢复默认输入“ - ”,没有什么会改变。

但可以说我加 “选项1”,“0” “选项2”,“0”

文本和值,它们显示精细,并选择其中的任何文本更改为“虚拟记录”。

基本上,如果该值存在于选项列表中(它们是静态的并且不是通过JS添加的),它接受并选择它并显示文本。

如果静态选项列表中没有找到值,它没有任何选择,并显示默认的“ - ”

我希望我是清楚的,请让我知道在任何混乱的情况。下面的代码片段是工作在CRM 2011年,而不是2013年CRM

// testing function 
populateBundleLists: function() { 
    var bundleListControl = Xrm.Page.getControl("XXX_bundlelist"); 
    var bundleOptions = bundleListControl.getAttribute().getOptions(); 
    var bundleOption = bundleOptions[0]; 
    bundleListControl.clearOptions(); 

    // add some arbitrary values to control 
    for (var i = 1; i <= 7; i++) { 
     bundleOption.value = i; 
     bundleOption.text = 'Dummy bundle ' + i.toString(); 
     bundleListControl.addOption(bundleOption, i - 1); 

    } 
}, 
+0

如何处理这些已添加的选项集值,这些选项集实际上并不存储在CRM中? – Daryl

+0

我们正在捕获此选项集的onchange并捕获选定的值,然后我们通过API将选定的数据发送到其他系统。这些下拉数据也来自同一个系统。 –

+0

Ashish,您的话“通过API将选定的数据发送到我们的其他系统”意味着您正试图通过动态更新CRM表单中的控件来整合另一个系统,对吗? – Eccountable

回答

1

CRM店OptionSets工作在实体配置和需要了解的可能值的所有。您无法使用JS b/c添加新选项,因此当有人使用其他机制(获取XML,高级查找,过滤视图等)进行查询时,系统将无法解析您的值。

+0

它工作在我们的CRM 2011设置,虽然它不在CRM 2013中工作。我看到,返回的控件现在已经改变,它是InlineOptionSetControlView,早些时候它是OptionSetUIControlWrapper,它通过Xrm.Page.getControl方法返回。 –

相关问题