Добро пожаловать в мой блог! Изначально он не задумывался как блог CRM разработчика, но жизнь сама внесла нужные коррективы. Тут я публикою все свои наблюдения относительно обозначенных в заголовке систем. Если Вы найдете в нем что-то интересное для Вас, как для заказчика, то буду рад сотрудничать с Вами! В моей компетенции 100% задач по MS CRM 3.0/4.0/2011:
MVP 2010, 2011
- Консалтинг
- Проектирование
- Разработка
- Обучение
MVP 2010, 2011
Предоставление доступа к Задачам
Запись от Артем Enot Грунин размещена 19.10.2010 в 15:20
Теги activity, dom, java script, task, unsupport
Как вы знаете, схема командной работы в системе не блещет своей гибкостью. Наибольшие сложности вызывает попытка организовать совместную работу пользователей из различных структурных подразделений, где мы сталкивается с существенными ограничениями системы безопасности. Одним из основных инструментов преодоления этой проблемы, является функция предоставления общего доступа к объектам. По странной воле разработчиков, этой опции нет на формах и списках некоторых объектов. Например, ее нет у Действий. Интересно что через интерфейс системы можно выдавать права на эту операцию, нужные методы есть в SDK, однако в меню "Другие действия" списка, или формы Задачи вы не увидите пункта "Предоставить доступ". Покопавшись я выяснил, что механизм работает универсально для всех объектов, нужно лишь добавить нужные пункты меню.
На форме используется системная функция:
А в списке:
Данный код мы можем добавить в меню "Другие действия" списков посредством ISV.Config, однако для формы этот способ, к сожалению, не подходит. Поэтому воспользуется JS DOM:
Данный код универсален, и будет работать с любым объектом с пользовательским типом собственности.
На форме используется системная функция:
Код:
onActionMenuClick("share", ObjectTypeCode);
Код:
doAction('crmGrid', ObjectTypeCode, 'share');
Код:
var oMenu = document.getElementById("mnuaction"); if (oMenu == null) return; // нет меню "действия" var oAction = 'action="onActionMenuClick(\'share\', ' + crmForm.ObjectTypeCode + ');"'; var oId = '_MIonActionMenuClickshare' + crmForm.ObjectTypeCode; var oMenuItemHtml = '<LI class="ms-crm-MenuItem-Label" id="' + oId + '" ' + oAction + '></LI>'; var oItem = oMenu.appendChild(document.createElement(oMenuItemHtml)); var oMenuItemText = "Предоставить доступ"; oItem.innerHTML = '<SPAN class="ms-crm-MenuItem-Label">' + '<A class="ms-crm-MenuLink" onclick="return false;" href="javascript:onclick();" target="_self">' + '<SPAN class="ms-crm-MenuItem-Icon"></SPAN>' + '<SPAN class="ms-crm-MenuItem-Text">' + oMenuItemText + '</SPAN>' + '</A>' + '</SPAN>';
Всего комментариев 0