Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

パラメータで指定しているビューと異なるビューに遷移する

miyu
Tera Guru

Database view[u_facility_hyouji_for_application]のRequest task[request_task]ビューリスト画面に遷移するContent Itemを作成しました。
URLのパラメータ[syparm_view]でビューを指定しています。
ですが、URLは正しいにも関わらずSelf Use Training[self_use_training]ビューに遷移しているユーザがいることが判明しました。

以下、トランザクションログです。

NG log.png

 

ほとんどのユーザは以下の通り、正常にRequest task[request_task]ビューに遷移しています。

OK log.png

 


また、ビューのレコードは以下の通り正しく登録されています。

sys_ui_view.png

 

なぜこのような現象が起こっているのでしょうか?

原因をご存知の方がいらっしゃいましたら、ご教示いただきたいです。

よろしくお願いいたします。

3件の返信3

iwai
Giga Sage

ユーザーが自分でビューを選択したのではないかと推測しました。Viewの動きについて以下のページに記載があります。

ビュー管理 (servicenow.com)

この説明を引用して、ふたつの疑問にChatGPTに回答してもらいました。

  • 疑問1:ユーザーが選択したビューとURLで指定したビューはどちらが優先されるのか。
    • 答え:通常の状況では、ユーザーが選択し保存したビューが優先されます。つまり、ユーザーが一度ビューを選択すると、それがユーザーのデフォルトのビューとなり、その後URLで異なるビューを指定しても、ユーザーが選択したビューでフォームが開きます。
  • 疑問2:URLのビューを強制したい場合はどうしたらよいのか。
    • 答え:URLのビューを強制するためには、sysparm_view_forcedパラメータをtrueに設定します。これにより、ユーザーの保存済みのビュー設定を無視して、URLで指定したビューが表示されます。
==説明ページから引用==
ユーザーがビューを切り替えると、選択したビューはユーザーの設定として保存され、フォームを開いたときにデフォルトで同じビューが表示されます。ユーザーがビューを設定して保存している場合、別のビューを指定したURLでレコードを開くと、ユーザー設定のビューでフォームが表示され、URLの指定は無視されます。例えば、ユーザーがインシデントレコードでモバイルビューを選択し、次にビジュアルタスクボードビューを指定した以下のリンクを開こうとしても、フォームは引き続きモバイルビューで開きます。

https://{instance}/nav_to.do?uri=incident.do?sys_id={sys_ID}sysparm_view=vtb

sysparm_viewパラメータは、リストまたはフォームで使用するビューを指定しますが、ユーザーのビューに対する保存済みの設定によって上書きすることができます。この振る舞いを上書きするには、sysparm_view_forcedパラメータをtrueに設定します。

 

ご返信ありがとうございます。大変助かります。

ユーザーが自分でビューを選択したのではないかと推測しました。

こちら、ユーザにヒアリングしたところビューは変更していないみたいでした、、

ちなみに、adminユーザで対象のDtabase viewでTry Itしたところ、

DefaultビューでなくSelf Use Trainigビュー(URLで指定していないのに表示されていたビュー)になっていたのですが、

こちらの設定も関係しているのかご存知でしょうか?

 

sysparm_view_forcedというパラメータがあるのですね、知りませんでした、、

ユーザにビューは選択させない仕様としているので、こちらをパラメータに追加するようにしてみます!

 

誰かが意図せず何かしてビューが設定されている可能性があります。ユーザー設定がされているかどうかを確認してみてください。

ユーザーが手動で設定した値は、User Preferences[sys_user_preference]に保存されています。
u_facility_hyouji_for_application Tableなら 「u_facility_hyouji_for_application.view」「u_facility_hyouji_for_application_list.view」このようなNameで、どのユーザーが選択しているか把握できます。またSystem設定にしていると全ユーザーのデフォルト値にもなります。


別の機能ではビューの切り替え制御は、ViewRulesの設定によっても自動的に変わります。