我有一個實體包含2個窗體,我想防止這兩個窗體之間根據兩個選項字段的值導航。換句話說,如果需要prescoring的值是yes導航是不可能的,反過來,我該怎麼做?隱藏形式標籤在一個窗體頭crm動態365
是否可以簡單地隱藏列表?
感謝,
我有一個實體包含2個窗體,我想防止這兩個窗體之間根據兩個選項字段的值導航。換句話說,如果需要prescoring的值是yes導航是不可能的,反過來,我該怎麼做?隱藏形式標籤在一個窗體頭crm動態365
是否可以簡單地隱藏列表?
感謝,
不,你不能動態地改變用戶可以選擇的形式。這隻能根據安全角色靜態完成。
相反,我建議使用單個表單,根據您的需要處理字段的值來隱藏和顯示相關字段/部分/選項卡。
如果他點擊Diligence,我是否可以將用戶始終重定向到預先評分的表格? @Henrik H – Marwan
您可以通過編程方式更改表單。我會建議反對它。只需使用單個窗體顯示/隱藏東西,我個人發現這些東西更容易維護(以這種方式,您可以輕鬆地在各種用例中重複使用元素) –
您可以根據項目的複雜程度來決定表單控件/選項卡/部分的數量。我們做了這樣的事情來保持&基於表單控制值的強制導航。
var taskFormOptionSet = {
Form1: 1,
Form2: 2,
};
var FormNames = {
Form1: "Form1",
Form2: "Form2",
};
var myform = Xrm.Page.getAttribute("need_Prescoring").getValue();
var currentform = Xrm.Page.ui.formSelector.getCurrentItem();
if (currentform != null) {
var formId = currentform.getId();
var formLabel = currentform.getLabel();
}
if (myform == taskFormOptionSet.Form1 && formLabel != FormNames.Form1) {
var items = Xrm.Page.ui.formSelector.items.get();
for (var i in items) {
var form = items[i];
var formId = form.getId();
var formLabel = form.getLabel();
if (formLabel == FormNames.Form1) {
form.navigate();
return;
}
}
}
因爲它不支持我使用的另一種解決方案是檢查布爾是真實的名字,如果用戶試圖改變他將被重定向到正確的表格形式,直到他改變布爾值。
DiligenceSwitch: function(){
if (Xrm.Page.ui.formSelector.getCurrentItem() != null) {
var currentform = Xrm.Page.ui.formSelector.getCurrentItem();
}
if (currentform != null) {
var formId = currentform.getId();
var formLabel = currentform.getLabel();
}
var kycId = Xrm.Page.data.entity.getId();
SDK.REST.retrieveRecord(kycId, "kyc_Kycdiligence", "kyc_Needprescoring", null, //field for searching the targeted field, entity, targeted field, ...
function (kyc) {
if (kyc != null || kyc.kyc_Needprescoring != null) {
if (formLabel != "Pre-Scoring" && kyc.kyc_Needprescoring == true) {
var windowOptions = { openInNewWindow: false };
var parameters = {};
parameters["formid"] = "4B0C88A9-720C-4BFA-8F59-7C1D5DD84F02";
Xrm.Utility.openEntityForm("kyc_kycdiligence", kycId, parameters, windowOptions);
alert("Vous devez faire le pre-scoring");
}
}
},
function (error) {
Xrm.Utility.alertDialog(error.message);
});
},
您是否看到我的答案?爲什麼你要再做一次服務調用來檢索可用的表單字段值? –
因爲我應該得到onload的值,有時它是空的,會產生錯誤,並且這個字段應該以@ArunVinoth的形式隱藏 – Marwan
這不是,因爲表單取決於安全角色,而不取決於數據。您需要修改要求。 – Alex
隱藏這個列表也不是可能嗎? @Alex – Marwan
不,這不可能以支持的方式進行。 –