-1
誰でも知っている、どのように1つのフィールドにセキュリティロールに基づいて編集オプションを与えるcrm2011のjavascriptコードを書くことができますか?JavaScriptのコード内のcrm2011のロールに基づいてフィールドを編集
誰でも知っている、どのように1つのフィールドにセキュリティロールに基づいて編集オプションを与えるcrm2011のjavascriptコードを書くことができますか?JavaScriptのコード内のcrm2011のロールに基づいてフィールドを編集
フォームロード時にユーザーロールを確認するには、&フィールドを有効にします。既定では、フィールドを読み取り専用にします。
注:このスクリプトライブラリの前にロードされるjsonスクリプト&を使用する依存関係があります。
//Check login User has 'case title edit' role
function CheckUserRole() {
var currentUserRoles = Xrm.Page.context.getUserRoles();
for (var i = 0; i < currentUserRoles.length; i++) {
var userRoleId = currentUserRoles[i];
var userRoleName = GetRoleName(userRoleId);
if (userRoleName == "case title edit") {
//make the field editable here...
Xrm.Page.getControl("fieldname").setDisabled(false);
return true;
}
}
return false;
}
//Get Rolename based on RoleId
function GetRoleName(roleId) {
//var serverUrl = Xrm.Page.context.getServerUrl();
var serverUrl = location.protocol + "//" + location.host + "/" + Xrm.Page.context.getOrgUniqueName();
var odataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc" + "/" + "RoleSet?$filter=RoleId eq guid'" + roleId + "'";
var roleName = null;
$.ajax(
{
type: "GET",
async: false,
contentType: "application/json; charset=utf-8",
datatype: "json",
url: odataSelect,
beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("Accept", "application/json"); },
success: function (data, textStatus, XmlHttpRequest) {
roleName = data.d.results[0].Name;
},
error: function (XmlHttpRequest, textStatus, errorThrown) { alert('OData Select Failed: ' + textStatus + errorThrown + odataSelect); }
}
);
return roleName;
}
私のフィールド名がケースのタイトルであり、また、この分野でいくつかのドロップダウンオプションを持って、そして私の役割名はケース・タイトル編集 –
であるあなたは、フィールドレベルのセキュリティを使用することはできますか? https://community.dynamics.com/crm/b/dynamics101trainingcentercrm/archive/2013/09/03/how-to-configure-field-level-security-in-microsoft-dynamics-crm-2011 –