![](/img/trans.png)
[英]CRM Dynamics , How to pass values from one form and set the values in a new Entity(form) using Xrm.Utility.openEntityForm();
[英]Set form read only using Xrm Object on Dynamics 365 CRM
我在Microsoft文檔上閱讀有關Xrm對象的 信息,但是找不到具體的東西。
我需要限制創建或編輯門戶網站注釋 ( 活動類型)的某些角色。 因此,我不能只是簡單地修改安全角色 。
我在編輯門戶網站注釋表單時看到,有一個JavaScript腳本可以在頁面加載時執行:
編輯此對象時,它會Xrm
大量Xrm
對象。
用偽代碼我應該做
if(ActiveUser.hasRoles(["Some role", "Some other role"]) {
Page.setReadOnly(true);
}
我已經有一個腳本(作為網絡資源)來檢查這樣的角色,但是我不知道如何將表單設置為“只讀”或僅使用Xrm進行設置。 任何線索如何在這里實現?
編輯1:
我可以通過使用以下代碼來做到這一點:
// Ribbon "Save" button
document.querySelector('#crmRibbonManager').style.display = "none";
// Status "Save" button
document.querySelector('#savefooter_statuscontrol').style.display = "none";
Xrm.Page.ui.controls.get().forEach(function (control) {
if(!control.getDisabled()) {
control.setDisabled(true);
}
});
當然,由於文檔尚未加載,我會收到頁面加載錯誤 。 但是我很確定我可以使用一些Xrm
技術來禁用這些屬性,我必須研究一下。
補充阿倫的答案;
這種類型的東西不受支持; document.querySelector('#crmRibbonManager')
Microsoft Dynamics 365和保持支持的重要性
必須使用Xrm.Page和Xrm.Utility命名空間中定義的功能來執行應用程序頁面內的所有JavaScript交互,即,不要直接與頁面DOM交互。
如果要控制功能區行為,則應該自定義命令和功能區 ,您將需要添加啟用/顯示規則。 絲帶工作台是一個很好的工具。
最后,僅控制客戶端驗證毫無用處。 如果您想要用戶無法避免的服務器端規則,則應考慮實施插件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.