我对 Typescript 很陌生。下面我正在为 Dynamics CRM 365 创建一个函数。当用户角色等于或具有
Business Advisor
角色时,我想实现以下解锁字段的功能
或者如果他们是更简单的方法,请指出我正确的方向,也许执行 foreach 循环可能不是一个好主意。请看下面的逻辑
let formContext: Xrm.FormContext = null; 让 isBusinessAdvisorRole = null;
export function checkBusinessAdvisorRole() {
var businessAdvisorRole = "Business Advisor role";
isBusinessAdvisorRole = false;
//Store Security Roles
var userRoles = Xrm.Utility.getGlobalContext().userSettings.roles;
var hasRole = false;
//I want to do a foreach here over user roles
//Then do
//if user role = "Business Advisor role"
//formContext.getControl<Xrm.Controls.StringControl>("fsdyn_name").setDisabled(false);}
脚本可能如下所示:
export function checkBusinessAdvisorRole(executionContext: Xrm.Events.EventContext) {
const formContext = executionContext.getFormContext();
const businessAdvisorRole = "Business Advisor role";
//Store Security Roles
const userRoles = Xrm.Utility.getGlobalContext().userSettings.roles;
const hasRole = userRoles.get().some(r => r.name === businessAdvisorRole);
formContext.getControl<Xrm.Controls.StringControl>("fsdyn_name").setDisabled(!hasRole);
}