ServiceNowQA20220105

Q1

How to use conditions in system property

システムプロパティでORのような条件を使用するにはどうすればよいですか?

カタログ項目名をOR条件でシステムプロパティに格納し、ビジネスルールでそれを呼び出したいのですが。しかし、それができない...?

Answer

システムプロパティは、"String "のような特定の型の変数に過ぎません。

つまり、そこにビジネス・ロジックを含めることはできないので、ビジネス・ルールで方法を見つける必要がある。

例えば、項目名をカンマ区切りのリストとして格納することができます。ビジネス・ルールでは、そのString値を配列に分割し、現在のカタログ項目名がその配列の一部であるかどうかをチェックすることができます

Q2

how to filter all active tickets from CI non - operational?

CI非運用チケットからすべてのアクティブなチケットをフィルタリングする方法は?

Answer

リファレンステーブルのレコードを開く。そして、非運用中のCiを除外する参照修飾子を追加する...

Q3

[SOLVED!] Reset / revert the banner logo to the stock default ServiceNow logo

カスタムロゴをアップロードした後、バナーロゴをリセットする方法
回答されている書き込みが多いので、自分に合った方法(キングストンで)を見つけ、説明を書きました。私がうまくいったように、あなたにもうまくいくといいのですが。

Answer

この解決策は、私の個人的な開発者用インスタンス(Build tag: glide-kingston-10-17-2017__patch6-05-16-2018)でも動作しました。

  1. フィルタナビゲータで "sys_properties.list" と入力します。
  2. glide.product.image.lightプロパティを探して開く
  3. 実際の添付ファイルではなく、「名前」フィールドの上にある「添付ファイルの管理」というテキストを選択します。
Note:各添付ファイルは、バナーロゴを変更する際にアップロードされたファイルです。
Hint: 今後の参考のために、添付画像のコピーをダウンロードしておくとよいでしょう。

  1. 各添付ファイルのチェックボックスを選択し、[削除]ボタンを押します。
  2. 添付ファイルダイアログボックスを閉じます。
  3. 値」フィールドの内容を削除し、レコードを「更新」します(またはコンテキストメニューから「保存」して、開いたままにしておきます)。
  4. ブラウザをリフレッシュして変更を確認する
 Important

これがうまくいかない場合、"glide.product.image" システムプロパティ("sys_properties" テーブル上)がデフォルト値を含んでいるかどうかを確認してください。glide.product.image "および "glide.product.image.light "プロパティのデフォルト値を確認するには、添付ファイルを参照してください。

Q4

Issue with Script Include to fetch display Value

私たちは、ユーザーがポータルを介して送信された古い値と新しい値を入力するためにruncriptから呼び出されるスクリプトをインクルードしています。

このスクリプトは、アプリケーションCIの機能クリティカルティを変更するために、ユーザが提案した新しい値を取得するものです。私は、古い値と新しい値の両方をRITMの説明フィールドにマッピングする必要があります。問題は、スクリプトからフェッチされた新しい値が、提案された新しいFunction Criticalityのバックエンド値を示しており、私は何とかそれを修正することができないでいます。

スクリプトは以下の通りです。

populateProposedChange: function(ritm, ci) {
this._sleepFor(2000);

var newValues = this._getNewAttributes(ritm);
var oldValues = this._getOldAttributes(ci);
var description = "";
var ciTaskFields = [];
var approvals = {};
for (var i = 0; i < newValues.length; i++) {
for (var j = 0; j < oldValues.length; j++) {

if (newValues[i].label === oldValues[j].label && oldValues[j].label != undefined) {
if (newValues[i].sysid.toLowerCase() != oldValues[j].sysid.toLowerCase()) {

var obj = {};
description += "Attribute name: " + oldValues[j].label + "\n" +
"Current Value: " + oldValues[j].value + "\n" +
"Proposed Value: " + newValues[i].value; + "\n\n";

 添付のスクリーンショットでは、機能の重要度の提案値(新)が「中」ではなく「非常に重要」になっています。

この表示値をRITMに取り込み、入力するためにはどのような修正が必要か、ご教示いただけないでしょうか。

Answer

RITMテーブルに対してGlideRecord APIを直接使用することで、表示値を取得することができます。

以下のコードをバックグラウンドスクリプトで実行し、最初の2行を更新するだけです。
ar myRITM = 'd4b8d1a21b5b30108cd03224cc4bcb8f'; //Replace with sys_id of RITM 
var myVariable = 'my_variable' //Replace with your variable name
var grScReqItem = new GlideRecord('sc_req_item');
if (grScReqItem.get(myRITM)) {
    gs.info('onb_company: ' + grScReqItem.variables[myVariable].getDisplayValue());
}

Q5

onChange TypeError in Major Incident Workbench

こんにちは、MIMワークベンチでとても不思議な問題に遭遇しました。

あるインシデントの状態を「解決済み」に切り替えようとしたところ、奇妙なエラーメッセージが表示されました。
image

通常のバックエンドフォームでは、エラーは出ていませんし、StateにリンクしているonChange Client Scriptsをすべてオフにしても解決しなかったので、原因はMIM workbenchのどこかにあるはずです(モーダルウィンドウはiFrame上で動いているはずなので、それ自体がおかしいのですが)。

何が原因なのか、また、次に何を調査すればよいのか、ご存知の方はいらっしゃいますか?

Answer

おそらく、フォームのカスタマイズか、OOTBフィールドの欠落が原因で、それに対処する必要があったのだと思います。
Next Post Previous Post
No Comment
Add Comment
comment url