通过 TypeScript 解锁基于 CRM Dynamics 中安全角色的字段?

问题描述 投票:0回答:1

我对 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);}
javascript typescript dynamics-crm
1个回答
0
投票

脚本可能如下所示:

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);
}
© www.soinside.com 2019 - 2024. All rights reserved.