2015-10-05 1 views
3

У нас есть определенное требование в CRM 2015, в котором нам необходимо ограничить движение назад в потоке бизнес-процессов для пользователей, не являющихся пользователями S/S. Я повторил с помощью Client API (включая скрипты для Upgrade 1), но я не нашел API для достижения какого-либо открытого метода. Итак, наконец, я написал специальный код для этого, захватив обратное движение потока бизнес-процессов и побуждая пользователя, что это ограниченный ход для пользователей администрирования Non-S/S. Однако это неподдерживаемое изменение, и я вижу, что это не будет проблемой, если идентификаторы DOM одинаковы (так как при быстром просмотре я обнаружил, что идентификаторы DOM одинаковы в 2013, 2015 и 2015 годах Rollup1 для BPF).Ограничение обратного перемещения в потоке бизнес-процессов (CRM 2015)!

function restrictBPFPreviousMove() { 

    var originalPreviousStageHandler = $("#stageBackActionContainer").data("events")["click"][0].handler; 

    $("#stageBackActionContainer").unbind("click"); 

    $("#stageBackActionContainer").click(function (e) { 

     alert("Restricted Back Move!"); 

    }); 

}

Тем не менее, мне было интересно, если есть какая-то альтернатива (поддерживается) к этому подходу?

ответ

4

CRM 2015 has events for stage selection and change that can be handled.

события управления потоком бизнес-процессов

Microsoft Dynamics CRM 2015 и Microsoft Dynamics CRM Online Update 2015 предоставляет два события для пользователя взаимодействия с контролем потока бизнес-процессов. OnStageChange Происходит при смене сцены. Дополнительная информация: событие OnStageChange. OnStageSelected Происходит при выборе этапа. Дополнительная информация: Событие OnStageSelected. Нет никакого пользовательского интерфейса для регистрации сценариев для этих событий . Используйте следующие методы в функциях, зарегистрированных в форме Событие OnLoad, чтобы зарегистрировать свои функции для этих событий.

Xrm.Page.data.process.addOnStageChange

Xrm.Page.data.process.addOnStageSelected

Xrm.Page.data.process.removeOnStageChange

Xrm.Page.data.process .removeOnStageSelected

Вы все еще должны проверить роль пользователя вручную (извлечения systemuser, получить role смешайте &)