限制对Microsoft CRM中的Mark Complete的访问

时间:2017-01-30 20:04:27

标签: dynamics-crm-2015

逗人, 我们有代理使用Microsoft Dynamics CRM 2015我需要其中一些可以在任何活动中标记完成活动和编辑,并且剩余可以在任何活动中编辑但不能更改活动状态或使用标记完成按钮。 谢谢,

1 个答案:

答案 0 :(得分:3)

不可开箱即用。处理此特定方案的最佳方法是阻止Mark as Complete基于用户安全角色使用javascript。改变开箱即用按钮及其功能也绝不是一个好主意。

function onSave(executionContext) {
    var saveMode = executionContext.getEventArgs().getSaveMode();
    if (saveMode === 58) { //mark as complete
        var canMarkAsComplete = false;
        window.Xrm.Page.context.getUserRoles().forEach(function(role) {
            if (role === 'GUID of the security role allowed to mark as complete') {
                canMarkAsComplete = true;
                return;
            }
        });
        if (!canMarkAsComplete) {
            executionContext.getEventArgs().preventDefault();
            return false;
        }
    }
}