- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
08-21-2023 02:26 AM
In the form, I made the UI policy to allow only two choices.
But in the list, all choices are displayed. I want to control this so that only one can be selected.
Please tell me how to do it.
I'm Japanese, so I used a translation app to create the sentences. Sorry for the poor writing.
解決済! 解決策の投稿を見る。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
08-27-2023 03:45 PM
例えばインシデント[incident]テーブルのStateフィールドの選択を絞りたい場合、
ここではClosed,Canceledを非表示にしたい場合、
client script(sys_script_client)で以下のように設定すると非表示になります。
Name:適当
Table:incident
Type:onload
function onLoad() {
// Stateフィールドの選択肢を取得
var stateField = g_form.getControl('state');
var options = stateField.options;
// "Closed"と"Canceled"を非表示にする
for (var i = options.length - 1; i >= 0; i--) {
var option = options[i];
if (option.value == '7' || option.value == '8') {
stateField.remove(i);
}
}
}
最終的な結果は以下
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
08-27-2023 03:45 PM
例えばインシデント[incident]テーブルのStateフィールドの選択を絞りたい場合、
ここではClosed,Canceledを非表示にしたい場合、
client script(sys_script_client)で以下のように設定すると非表示になります。
Name:適当
Table:incident
Type:onload
function onLoad() {
// Stateフィールドの選択肢を取得
var stateField = g_form.getControl('state');
var options = stateField.options;
// "Closed"と"Canceled"を非表示にする
for (var i = options.length - 1; i >= 0; i--) {
var option = options[i];
if (option.value == '7' || option.value == '8') {
stateField.remove(i);
}
}
}
最終的な結果は以下
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
08-29-2023 05:58 PM
大変参考になりました。ありがとうございます。
別途質問になってしまうのですが、お答えいただけますと幸いです。
ServiceNowのUIアクションのスクリプトを作成しています。
該当のレコードを☑で選択肢「選択行のステータスを登録完了へ変更」ボタン押下で、
ステータスカラムが「登録中」から「登録完了」へ変更する処理です。
そこで、☑で複数行選択した場合に、ポップアップメッセージを表示させ、
ステータスの更新処理を行ってよい場合は「OK」ボタンを、キャンセルする場合は「キャンセル」ボタンを、
とし、「OK」が押された場合はステータスの更新処理を行うようにしたいです。
1レコードのみ選択の場合は、特にメッセージは表示させません。
以上のことを、UIアクションのスクリプトで実現できますでしょうか。
以下は、イメージ図と、現在のスクリプトになります。
function registWorkingFromList() {
// 選択したsysid
var selSysIds = g_list.getChecked();
var number = current.u_number;
if (selSysIds == '') {
alert(getMessage('No records selected'));
return false;
}else if(selSysIds!= ''){
// 登録完了ステータス変更
var ajaxHelper = new GlideAjax('dpjcdAjaxUtil');
ajaxHelper.addParam('sysparm_name', 'updateToRegistrationCompleted');
ajaxHelper.addParam('sysparm_sysids', selSysIds);
ajaxHelper.getXMLAnswer(updateToRegistrationCompleted);
}
}
function updateToRegistrationCompleted() {
alert('PJCDステータスを「登録完了」に変更しました。');
var fixedQuery = g_list.getFixedQuery();
var selSysIds = g_list.getChecked();
var urlregist = "x_623840_ddreams_pjcd_test_list.do?sysparm_view=dpjcdRegist&sysparm_fixed_query=" + fixedQuery;/* + "^NQu_pjcd_status=3"+ "^sys_idIN"+ selSysIds;*/
location.href = urlregist;
}