Иногда пользователям могут просто мешать лишние кнопки или лишние пункты меню в области переходов(NavBar).  Очень простым кодом можно их либо скрыть, либо переименовать, чтобы пользователи не путались.

В CRM 3.0 и в CRM 4.0  есть отличие в реализации данной задачи, поэтому я расскажу отдельно и про тройку,и про четверку. Начнем с CRM 4.0. У меня сейчас стоит англ интерфейс в CRM, так что названия кнопок и менюшек будет английское :)   Изменять будем вот что: в сущности Коммерческое предложение (Quote) на панели переходов переименуем пункт «Exisitng Products» в «CHANGED», а пункты «Write-in Products» и «Other Contacts»  вовсе уберем.

hide1

рис. 1 До и после

Теперь уберем из  верхнего меню две кнопки «Recalculate» и «Look up Address»

hide2

рис. 2 До и после

Позаботимся также и о выпадающей менюшке.  Из нее уберем пункт «Recalculate» и переименуем пункт «Look up Address» в «CHANGED(Look up Address)»

hide3

рис. 3 До и после

Осталось одно возможное нам действие – переименовать пункт верхнего меню. Я сделала Компред активным и переименовала кнопку «Create Order» в «CHANGED».

hide4

рис. 4 До и после

Делается это все очень даже просто, но если вы с этим никогда не сталкивались, то можете сразу и не сообразить. Итак, приведу код, который творит все эти махинации

OnLoad сущности Quote:

var lis = document.getElementsByTagName(‘LI’);
var i = 0;

//идем по всем элементам
while (i < lis.length) {

//скрываем п.м. «Recalculate» (рис.3)
if (lis[i].getAttribute(‘id’) == ‘_MIcrmFormSubmitCrmForm1truetruefalse‘)  lis[i].outerHTML=’<SPAN></SPAN>’;

//переименовываем пункт меню «Look up Address«(рис.3)
if (lis[i].getAttribute(‘id’)==’_MILookupAddress‘) lis[i].outerHTML=’<LI tabIndex=»-1″ action=»LookupAddress();» id=»_MILookupAddress» class=»ms-crm-MenuItem-Label»><SPAN class=»ms-crm-MenuItem-Label»><A class=»ms-crm-MenuLink» onclick=»return false;» href=»javascript:onclick();» tabIndex=»-1″ target=»_self»><SPAN class=»ms-crm-MenuItem-Icon»></SPAN><SPAN tabIndex=»0″ class=»ms-crm-MenuItem-Text»>CHANGED(Look up Address)</SPAN></A></SPAN></LI>‘;
//Скрываем кнопку «Recalculate»(рис.2)

if (lis[i].getAttribute(‘id’)==’_MBcrmFormSubmitCrmForm1truetruefalse‘) lis[i].outerHTML=’<SPAN></SPAN>’;

//Скрываем кнопку «Look up Address»(рис.2)

if (lis[i].getAttribute(‘id’)==’_MBLookupAddress‘) lis[i].outerHTML=’<SPAN></SPAN>’;

//Переименовываем кнопку «Create Order»(рис.4)
if (lis[i].getAttribute(‘id’)==’_MBAcceptQuote‘)
lis[i].outerHTML=’<LI tabIndex=»-1″ class=»ms-crm-Menu» title=»CHANGED» action=»AcceptQuote();» onclick=»window.execScript(action)» id=»_MBAcceptQuote»><SPAN class=»ms-crm-Menu-Label»><A onclick=»return false;» href=»javascript:onclick();» target=»_self» tabIndex=»-1″ class=»ms-crm-Menu-Label»><IMG  src=»&#47;_imgs&#47;ico&#47;16_convert.gif» alt=»CHANGED» tabIndex=»-1″ class=»ms-crm-Menu-ButtonFirst»><SPAN tabIndex=»0″ class=»ms-crm-MenuItem-TextRTL»>CHANGED</SPAN></A></SPAN></LI>’;

i = i + 1;
}
//в области переходов(рис.1)
document.all.navExistingProducts.getElementsByTagName(«nobr»)[0].innerHTML = «CHANGED»;
document.getElementById(«navWriteInProducts»).style.display = «none»;
document.getElementById(«navContacts»).style.display = «none»;

Наверно главный возникший вопрос – откуда берутся _MBAcceptQuote, _MIcrmFormSubmitCrmForm1truetruefalse и остальное?

hide-find

рис. 5 View->Source

Открываете запись Компреда, жмете в IE View->Source и в блокноте открывается страница, содержащая все, что вам пригодится. Жмем CTRL+F и в поиске вбиваем  название кнопки/пункта меню с которым  нужно поработать. Ищем обрамление тегом <LI></LI>. Внутри этого тега есть id, вот он-то нам и нужен. Например, у кнопки «Look up Address» id=_MBLookupAddress, а у пункта меню «Look up Address» id=_MILookupAddress.