09.10.2012, 14:48 | #1 |
Участник
|
Скрывать и показывать вкладки в зависимости от значения в поле
Доброго времени суток!
С недавнего времени начал изучать Dynamic CRM. Сейчас обкатываем различные сценарии работы с этой системой. И есть такая необходимость: Есть пиклист с двумя значениями: "Прямые продажи" и "Тендер". А так же имеются две вкладки: "tab 8" и "tab 9". Необходимо чтобы при выборе одного из значений в пиклисте у нас скрывалась одна из вкладок. Я знаю, что необходимо повесить скрипт на событие OnChange. Но я не совсем понимаю как это сделать. Прошу помощи, с JS работаю ещё недавно. |
|
09.10.2012, 15:01 | #2 |
Чайный пьяница
|
Для того, чтобы спрятать таб используйте следующий код:
Код: Xrm.Page.ui.tabs.get("yourtabname").setVisible(false); Код: Xrm.Page.ui.tabs.get("yourtabname").setVisible(true);
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: Sashk0 (1). |
10.10.2012, 06:43 | #3 |
Участник
|
Хорошо, спасибо!
Допустим, я создаю новый ресурс типа Скрипт с именем new_testJS. В нем пишу: Код: function ChangeField() { Xrm.Page.ui.tabs.get("tab_8").setVisible(false); } |
|
10.10.2012, 06:48 | #4 |
Участник
|
Мне необходимо сделать тоже самое http://ms-dynamics-crm.com.ua/2009/0...ction-crmform/ , только не при загрузке страницы, а при изменении пиклиста.
|
|
10.10.2012, 08:11 | #5 |
MCT
|
Самый наверное доступный метод проверить - ошибка скрипта или неправильно подключили функцию - вставить alert("OK");. Если при отработке появится сообщение, то разбираетесь дальше.
__________________
Axapta book for developer |
|
|
За это сообщение автора поблагодарили: Sashk0 (1). |
10.10.2012, 09:01 | #6 |
Участник
|
Цитата:
Но меня интересует вопрос, правильно ли я использую скрипт, или где-то я неправильно что-то делаю? |
|
10.10.2012, 10:41 | #7 |
Чайный пьяница
|
Всё расписано правильно. Попробуйте опубликовать сущность или использовать Предварительный просмотр.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
11.10.2012, 06:48 | #8 |
Участник
|
Действительно, работает!!!
Оказывается, я непарвильно указал имя вкладки, вместо tab_8, я написал имя без нижнего подчеркивания. Сейчас всё работает! Спасибо! Сейчас мне при загрузке формы необходимо смотреть соответствующее поле на наличия там определенного значения и исходя из этого скрывать не нужны мне вкладки, если же поле пустое, то отображать обе вкладки. |
|
11.10.2012, 11:04 | #9 |
Чайный пьяница
|
Цитата:
Код: if (Xrm.Page.getAttribute("Field Scheme Name").getValue() == Ваше значение) { //показать Таб } else { //спрятать Таб }
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
11.10.2012, 14:57 | #10 |
Участник
|
Работает! Сделал вот как:
Цитата:
function ChangeField()
{ if (Xrm.Page.getAttribute("new_typesdelki").getValue() == 1) { Xrm.Page.ui.tabs.get("tab_8").setVisible(false); Xrm.Page.ui.tabs.get("tab_9").setVisible(true); alert(Xrm.Page.getAttribute("new_typesdelki").getValue()); } if (Xrm.Page.getAttribute("new_typesdelki").getValue() == 2) { Xrm.Page.ui.tabs.get("tab_8").setVisible(true); Xrm.Page.ui.tabs.get("tab_9").setVisible(false); alert(Xrm.Page.getAttribute("new_typesdelki").getValue()); } } |
|
|
|