私は2つのフォームを含むエンティティを持っています.2つのオプションフィールドの値に基づいてこれら2つのフォームの間のナビゲートを防止したいと思います。言い換えれば、必要な予備検査の価値が「はい」の場合、ナビゲーションは不可能で逆の場合はどうしたらよいですか?フォームの頭にフォームタブを隠すcrm dynamics 365
リストを非表示にすることはできますか?
おかげで、
私は2つのフォームを含むエンティティを持っています.2つのオプションフィールドの値に基づいてこれら2つのフォームの間のナビゲートを防止したいと思います。言い換えれば、必要な予備検査の価値が「はい」の場合、ナビゲーションは不可能で逆の場合はどうしたらよいですか?フォームの頭にフォームタブを隠すcrm dynamics 365
リストを非表示にすることはできますか?
おかげで、
はありません、あなたは動的にユーザーが選択できるフォームを変更することはできません。これはセキュリティロールに基づいて静的にしか実行できません。
代わりに、処理が必要なフィールドの値に基づいて、該当するフィールド/セクション/タブを非表示にして表示する単一のフォームを使用することをおすすめします。
Diligenceをクリックすると、ユーザーは常にpre-scoringという形式にリダイレクトできますか? @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;
}
}
}
ユーザは自分が変わるまで、彼は右のフォームにリダイレクトされますフォームを変更しようとすると、私は、ブール値がtrueでの名前かどうかを確認することである別のソリューションを使用する、サポートされているいないとしてブール値
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);
});
},
私の答えは見ましたか?フォームで利用可能なフィールド値を取得するためにもう1回サービスコールをしていますか? –
私は値onloadを取得する必要があり、時にはエラーを生成するnullです。このフィールドは@ArunVinothの形式で非表示にする必要があります – Marwan
フォームはデータではなくセキュリティロールに依存するため、そうではありません。要件を修正する必要があります。 – Alex
このリストを非表示にすることもできません。 @Alex – Marwan
いいえ、サポートされている方法ではできません。 –