Скрипт:
X++:
function optionSetChanged() {
var _collection = getCollection();
var _selectedCategory = null;
var _categoryOptionset = Xrm.Page.ui.controls.get("new_category");
if (_categoryOptionset != null)
_selectedCategory = _categoryOptionset.getAttribute().getValue();
var _categoryOptions = _categoryOptionset.getAttribute().getOptions();
var _selectedCampaign = Xrm.Page.getAttribute("new_typecampaign").getText();
if (_selectedCampaign == "") {
_categoryOptionset.clearOptions();
}
else {
for (var i = 0; i < _collection.length; i++) {
if (_selectedCampaign.toLowerCase() == _collection[i].Campaign.toLowerCase()) {
_categoryOptionset.clearOptions();
for (var j = 0; j < _collection[i].Categories.length; j++) {
for (var k = 0; k < _categoryOptions.length; k++) {
if (_collection[i].Categories[j].toLowerCase() == _categoryOptions[k].text.toLowerCase()) {
_categoryOptionset.addOption(_categoryOptions[k]);
break;
}
}
}
break;
}
}
if (_categoryOptionset != null && _selectedCategory != null)
_categoryOptionset.getAttribute().setValue(_selectedCategory);
}
}
function getCollection() {
var _collection = new Array();
var Kholod_Categories = new Array("Интерес", "Отложенный Интерес", "Информация отправлена", "ЛК зарегистрирован", "Вебинар интересен", "Мероприятия приглашать", "Отказ", "Отказ. Не профильный", "Перезвонить", "Уточнить контакты", "Недозвон");
var Kholod_obj = { Campaign: "Холодный Обзвон", Categories: Kholod_Categories };
_collection.push(Kholod_obj);
var Marketing_Categories = new Array("Интерес", "Отложенный Интерес", "Приглашение отправлено", "Зарегистрирован", "Пришел", "Не пришел", "Отказ", "Отказ. Не профильный", "Перезвонить", "Уточнить контакты", "Недозвон", "Рассматривают приглашение", "Заинтересован участвовать", "Напомнили о регистрации");
var Marketing_obj = { Campaign: "Маркетинговый Обзвон", Categories: Marketing_Categories };
_collection.push(Marketing_obj);
var Information_Categories = new Array("Информация отправлена", "Требуется консультация", "Проинформирован", "Отказ", "Перезвонить", "Уточнить контакты", "Недозвон", "Интерес");
var Information_obj = { Campaign: "Информационный Обзвон", Categories: Information_Categories };
_collection.push(Information_obj);
return _collection;
}
Самое интересное - то что на пустой форме - все отображается, нулится само поле лишь только в том случае когда запись эту открываем в представлении отличной от последней

давольно забано получается:
вот ссылка на видео, где все показано:
ВИДЕО
удобнее скачать к себе на комп и посмотреть в полноэкранном режиме