AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
CRM
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.10.2012, 14:48   #1  
Sashk0 is offline
Sashk0
Участник
 
6 / 10 (1) +
Регистрация: 09.10.2012
Записей в блоге: 1
Скрывать и показывать вкладки в зависимости от значения в поле
Доброго времени суток!

С недавнего времени начал изучать Dynamic CRM. Сейчас обкатываем различные сценарии работы с этой системой.
И есть такая необходимость:

Есть пиклист с двумя значениями: "Прямые продажи" и "Тендер".
А так же имеются две вкладки: "tab 8" и "tab 9".

Необходимо чтобы при выборе одного из значений в пиклисте у нас скрывалась одна из вкладок.

Я знаю, что необходимо повесить скрипт на событие OnChange. Но я не совсем понимаю как это сделать. Прошу помощи, с JS работаю ещё недавно.
Старый 09.10.2012, 15:01   #2  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Для того, чтобы спрятать таб используйте следующий код:

Код:
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  
Sashk0 is offline
Sashk0
Участник
 
6 / 10 (1) +
Регистрация: 09.10.2012
Записей в блоге: 1
Хорошо, спасибо!

Допустим, я создаю новый ресурс типа Скрипт с именем new_testJS.
В нем пишу:
Код:
function ChangeField()
{
     Xrm.Page.ui.tabs.get("tab_8").setVisible(false);
}
Далее иду в свойства поля пиклиста, в событиях добавляю из библиотеки new_testJS. В обработчике событий выбираю добавленный new_testJS, в поле "Функция", я так понимаю необходимо написать ChangeField, т.е. вызов функции, или я что-то не так понимаю? Если я делаю так, но у меня ничего не просиходит.
Миниатюры
Нажмите на изображение для увеличения
Название: Clipboard01.jpg
Просмотров: 300
Размер:	90.7 Кб
ID:	7918   Нажмите на изображение для увеличения
Название: Clipboard02.jpg
Просмотров: 269
Размер:	148.6 Кб
ID:	7919  

Старый 10.10.2012, 06:48   #4  
Sashk0 is offline
Sashk0
Участник
 
6 / 10 (1) +
Регистрация: 09.10.2012
Записей в блоге: 1
Мне необходимо сделать тоже самое http://ms-dynamics-crm.com.ua/2009/0...ction-crmform/ , только не при загрузке страницы, а при изменении пиклиста.
Старый 10.10.2012, 08:11   #5  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Самый наверное доступный метод проверить - ошибка скрипта или неправильно подключили функцию - вставить alert("OK");. Если при отработке появится сообщение, то разбираетесь дальше.
__________________
Axapta book for developer
За это сообщение автора поблагодарили: Sashk0 (1).
Старый 10.10.2012, 09:01   #6  
Sashk0 is offline
Sashk0
Участник
 
6 / 10 (1) +
Регистрация: 09.10.2012
Записей в блоге: 1
Цитата:
Сообщение от MikeR Посмотреть сообщение
Самый наверное доступный метод проверить - ошибка скрипта или неправильно подключили функцию - вставить alert("OK");. Если при отработке появится сообщение, то разбираетесь дальше.
Спасибо, я так и хочу сделать!
Но меня интересует вопрос, правильно ли я использую скрипт, или где-то я неправильно что-то делаю?
Старый 10.10.2012, 10:41   #7  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Всё расписано правильно. Попробуйте опубликовать сущность или использовать Предварительный просмотр.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 11.10.2012, 06:48   #8  
Sashk0 is offline
Sashk0
Участник
 
6 / 10 (1) +
Регистрация: 09.10.2012
Записей в блоге: 1
Действительно, работает!!!
Оказывается, я непарвильно указал имя вкладки, вместо tab_8, я написал имя без нижнего подчеркивания. Сейчас всё работает!

Спасибо!

Сейчас мне при загрузке формы необходимо смотреть соответствующее поле на наличия там определенного значения и исходя из этого скрывать не нужны мне вкладки, если же поле пустое, то отображать обе вкладки.
Старый 11.10.2012, 11:04   #9  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Sashk0 Посмотреть сообщение
Сейчас мне при загрузке формы необходимо смотреть соответствующее поле на наличия там определенного значения и исходя из этого скрывать не нужны мне вкладки, если же поле пустое, то отображать обе вкладки.
Попробуйте использовать следующий код:

Код:
if (Xrm.Page.getAttribute("Field Scheme Name").getValue() == Ваше значение)
{
//показать Таб
}
else
{
//спрятать Таб
}
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 11.10.2012, 14:57   #10  
Sashk0 is offline
Sashk0
Участник
 
6 / 10 (1) +
Регистрация: 09.10.2012
Записей в блоге: 1
Работает! Сделал вот как:

Цитата:
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());
}
}
Алерты для себя сделал, для проверки.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вопросы по кастомизации - вызов иной формы в зависимости от значения поля и прочее alou Dynamics CRM: Разработка 1 11.07.2012 14:20
CRM 4.0. Зависимость пиклиста от значения самого себя - так бывает? X-Lady Dynamics CRM: Функционал 12 20.04.2012 17:18
Проверка значения при закрытии Возможной сделки User Dynamics CRM: Функционал 1 02.09.2011 13:49
Как удалить время при вставке динамического значения поля datetime в поле другой сущьности при настройке бизнес процесса? guenberg Dynamics CRM: Разработка 4 17.06.2010 21:58
Запись значения в поле даты tatra Dynamics CRM: Разработка 3 01.11.2007 15:47

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:30.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.