Risk Assesmentについて

Fagi
Tera Contributor

Change Risk Assessmentに定義されている、同カテゴリの[Metric Category]質問[Metric]で特定の選択肢が選ばれた時に、同カテゴリの別の質問[Metric]を必須またはリードオンリーにしたりする事は可能でしょうか?
どんな些細な事でなにかご存知であれば、ご教授頂けると幸いです。
宜しくお願い致します。

1 ACCEPTED SOLUTION

iwai
Giga Sage

標準機能としてはなさそうです。UI Policyや Catalog Client Scriptのような機能は提供されていないです。

唯一動的に制御できるのがDependency で、例えば選択肢の1番を選んだ時だけ表示するような制御ができます。この仕組みで読み取り専用項目を、特定の選択肢が選ばれた時だけ表示することは出来ます。

もし、本格的にScriptを改造してでも、対応したいのであれば、UI Action の 「Risk Assessment」でRisk Assessment を表示した後、Client Scriptを実行させる個所があります。「$j("iframe[src...」の個所です。こうすることで追加の制御を入れることが可能です。「dialogWindow.on("beforeclose"...」もイベントによるスクリプト実行です。

//UI Action の Risk Assessment の一部抜粋
	handleAsmt: function(asmtInstanceSysId, changeRiskAsmtSysId, changeRequestSysId, riskAsmtName) {
//------省略------
		var dialogWindow = new GlideModal("change_risk_asmt_" + asmtInstanceSysId, false, "modal-lg");
		dialogWindow.setTitle(riskAsmtName + "");
		dialogWindow.setAutoFullHeight(true);
		dialogWindow.setPreference("sysId", changeRequestSysId);
		dialogWindow.setPreference("focusTrap", true);
		dialogWindow.on("beforeclose", this.deleteAsmt.bind(this, asmtInstanceSysId));
		dialogWindow.renderIframe(url, function() {
			$j("iframe[src*='" + asmtUiPage + ".do']").contents().find("td[class='spacerCellSmall']").each(
				function(i,e) {
					e.remove();
				}
			);
		});

そこより、根本のUI Pageを変更するのであれば UI Page「assessment_take2」 がそのPageになります。

 

 

View solution in original post

1 REPLY 1

iwai
Giga Sage

標準機能としてはなさそうです。UI Policyや Catalog Client Scriptのような機能は提供されていないです。

唯一動的に制御できるのがDependency で、例えば選択肢の1番を選んだ時だけ表示するような制御ができます。この仕組みで読み取り専用項目を、特定の選択肢が選ばれた時だけ表示することは出来ます。

もし、本格的にScriptを改造してでも、対応したいのであれば、UI Action の 「Risk Assessment」でRisk Assessment を表示した後、Client Scriptを実行させる個所があります。「$j("iframe[src...」の個所です。こうすることで追加の制御を入れることが可能です。「dialogWindow.on("beforeclose"...」もイベントによるスクリプト実行です。

//UI Action の Risk Assessment の一部抜粋
	handleAsmt: function(asmtInstanceSysId, changeRiskAsmtSysId, changeRequestSysId, riskAsmtName) {
//------省略------
		var dialogWindow = new GlideModal("change_risk_asmt_" + asmtInstanceSysId, false, "modal-lg");
		dialogWindow.setTitle(riskAsmtName + "");
		dialogWindow.setAutoFullHeight(true);
		dialogWindow.setPreference("sysId", changeRequestSysId);
		dialogWindow.setPreference("focusTrap", true);
		dialogWindow.on("beforeclose", this.deleteAsmt.bind(this, asmtInstanceSysId));
		dialogWindow.renderIframe(url, function() {
			$j("iframe[src*='" + asmtUiPage + ".do']").contents().find("td[class='spacerCellSmall']").each(
				function(i,e) {
					e.remove();
				}
			);
		});

そこより、根本のUI Pageを変更するのであれば UI Page「assessment_take2」 がそのPageになります。