オープンソースのローコード開発ツールのプリザンター(pleasanter)ブログ

オープンソースのローコード開発ツールのプリザンター(pleasanter)のブログとサービス情報サイトです

カテゴリ : お知らせプリザンターとは?使い方スクリプト・スタイル環境構築事例動画

【わかりやすく解説】一覧画面で役に立つサーバスクリプトをまとめてみました。

こんにちは。
リーデックス野田です。

久しぶりのブログ執筆です。最近は家でアニメばかり見ていました。今更ながら「ジョジョの奇妙な冒険」の魅力に気づいてしまいました。個人的には4部がお気に入りです。

さて今回は、一覧画面でサーバスクリプトを使う時に役に立ちそうなことをまとめてみようと思います。基本的な知識が多めです。初めての方にも理解していただけるよう、わかりやすく解説していきたいと思いますので、ぜひご覧ください。

 

 

記述したサーバスクリプトを1レコード単位で実行する

一覧画面で1レコード毎にサーバスクリプトを実行する場合、スクリプトの実行条件は「行表示の前」を設定しましょう。

動作確認として記述するスクリプトは、分類Aに値をセットするシンプルなスクリプトです。

    model.ClassA = "1行毎に値をセットする。";

f:id:nodakoshiro:20220225151154p:plain

 

こちらのスクリプトを保存して一覧画面を表示すると、1レコード単位でサーバスクリプトが実行されて、各レコードの分類Aに値がセットされていることが確認できます。

f:id:nodakoshiro:20220225152844p:plain

一覧画面に存在しない項目をサーバスクリプトで取得する

続けて、ですが、まず、一覧画面に存在しない項目はサーバスクリプトでは取得することができません。

例えば、分類Bが一覧画面の表示項目に設定されていない場合、下記のスクリプトを記載しても、分類Bの値が取得できず、分類Aは[undefined]と表示されてしまいます。

    model.ClassA = model.ClassB;

f:id:nodakoshiro:20220225160819p:plain

 

一覧画面への表示は不要だが、値を取得してと動的な一覧画面を実現したい場合は、「view.AlwaysGetColumns.Add」の関数を使用します。

開発者向け機能:サーバスクリプト:view.AlwaysGetColumns

 

上記のケースで分類Bの値を取得するには、下記のスクリプトを新たに追加します。サーバスクリプトの実行条件は、「ビュー処理時」を設定します。

    view.AlwaysGetColumns.Add('ClassB');

f:id:nodakoshiro:20220225164101p:plain

 

こちらのスクリプトを保存して一覧画面を表示すると、最初に記載したスクリプトの動作が変わったことが確認できます。各レコードの分類Bの値が取得され、分類Aに値がセットされていることが確認できます。

f:id:nodakoshiro:20220225165116p:plain

 

まとめ

一覧画面でサーバスクリプトを使う時に役に立ちそうなことをまとめてみました。すぐには使わないかもしれませんが、頭の片隅にあるとどこかで役に立つ思います。

弊社では、スクリプトやスタイルを利用したカスタマイズについてご支援させていただいております。スクリプトについて相談したい、業務を改善のために実現したい機能がある、や、本記事や過去の記事のスクリプトを応用したい、などありましたら、お気軽にお問合せください。

それでは、今回はこの辺で。
最後までご覧いただき、ありがとうございました。