AXForum  
Вернуться   AXForum > Блоги > CRM, SharePoint и Черная Магия
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

Добро пожаловать в мой блог! Изначально он не задумывался как блог CRM разработчика, но жизнь сама внесла нужные коррективы. Тут я публикою все свои наблюдения относительно обозначенных в заголовке систем. Если Вы найдете в нем что-то интересное для Вас, как для заказчика, то буду рад сотрудничать с Вами! В моей компетенции 100% задач по MS CRM 3.0/4.0/2011:
  • Консалтинг
  • Проектирование
  • Разработка
  • Обучение


MVP 2010, 2011
Оценить эту запись

Предоставление доступа к Задачам

Запись от Артем Enot Грунин размещена 19.10.2010 в 15:20

Как вы знаете, схема командной работы в системе не блещет своей гибкостью. Наибольшие сложности вызывает попытка организовать совместную работу пользователей из различных структурных подразделений, где мы сталкивается с существенными ограничениями системы безопасности. Одним из основных инструментов преодоления этой проблемы, является функция предоставления общего доступа к объектам. По странной воле разработчиков, этой опции нет на формах и списках некоторых объектов. Например, ее нет у Действий. Интересно что через интерфейс системы можно выдавать права на эту операцию, нужные методы есть в SDK, однако в меню "Другие действия" списка, или формы Задачи вы не увидите пункта "Предоставить доступ". Покопавшись я выяснил, что механизм работает универсально для всех объектов, нужно лишь добавить нужные пункты меню.
На форме используется системная функция:
Код:
onActionMenuClick("share", ObjectTypeCode);
А в списке:
Код:
doAction('crmGrid', ObjectTypeCode, 'share');
Данный код мы можем добавить в меню "Другие действия" списков посредством ISV.Config, однако для формы этот способ, к сожалению, не подходит. Поэтому воспользуется JS DOM:
Код:
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>';
Данный код универсален, и будет работать с любым объектом с пользовательским типом собственности.
Размещено в CRM
Просмотров 32118 Комментарии 0
Всего комментариев 0

Комментарии

 


Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:26.