Alterar dinamicamente os valores do conjunto de opções no CRM
Estou usando o CRM Online 2013.
Eu estou tentando remover 3 valores de um optionset sob uma determinada condição. O optionset tem seis opções por padrão: elas estão listadas no topo do meu código JS abaixo.
Quando eu executo meu código, a quantidade correta de opções aparece; mas todos eles dizem indefinido.
Aqui está o que eu tenho no momento:
var customer = 100000000;
var partner = 100000001;
var partnerCustomer = 100000002;
var customerAndBeta = 100000003;
var partnerAndBeta = 100000004;
var partnerCustomerAndBeta = 100000005;
function populateBetaOptionSet(beta) {
var options = Xrm.Page.getAttribute("intip_websiteaccess").getOptions();
var pickListField = Xrm.Page.getControl("intip_websiteaccess");
for(i = 0; i < options.length; i++)
{
pickListField.removeOption(options[i].value);
}
if (beta == false) {
pickListField.addOption(customer);
pickListField.addOption(partner);
pickListField.addOption(partnerCustomer);
}
pickListField.addOption(customerAndBeta);
pickListField.addOption(partnerAndBeta);
pickListField.addOption(partnerCustomerAndBeta);
}
Isso está sendo chamado de outra função que está conectada a um evento onchange de um campo separado. Tenho certeza de que isso está funcionando corretamente, já que estou obtendo o valor beta correto quando ele é chamado.
Estou removendo todas as opções antes de adicioná-las novamente para evitar duplicatas.
Alguma idéia do que estou fazendo errado aqui / ou sabe de uma maneira melhor de fazer isso?