ユーザマニュアル


プリザンター大型オンラインイベントアーカイブ公開中 プリザンターの“推しポイント”募集中! レビューキャンペーン 最大2,000円分のAmazonギフトカードをプレゼント(先着順)

2025/05/13

MANUAL

開発者向け機能:サーバスクリプト:条件

## 概要 [サーバスクリプト](/ja/manual/table-management-server-script)はサーバサイドで実行する条件を制御する事が可能です。各条件について説明します。 ## 制限事項 1. [一括削除](/ja/manual/table-record-bulkdelete)時は「削除前」、「削除後」のどちらの条件でも実行しません。「一括削除前」、「一括削除後」をご使用ください。 2. 単一レコードの[削除](/ja/manual/table-record-delete)時は「一括削除前」、「一括削除後」のどちらの条件も実行しません。「削除前」、「削除後」をご使用ください。 ## 設定内容 |No|条件|説明| |:----|:----|:----| |1|サイト設定の読み込み時|[既定のビュー](/ja/manual/table-management-default-view)を変更する際に使用します。| |2|ビュー処理時|「JSONデータレイアウト:View」を使用し[フィルタ](/ja/manual/table-record-search)や[並び替え](/ja/manual/table-record-sort)を設定する際に使用します。| |3|「レコード」読み込み時|「レコード」読み込み後に項目の内容を変更する際に使用します。| |4|計算式の前|計算式の実行前に項目の内容を変更する際に使用します。| |5|計算式の後|計算式の実行後に項目の内容を変更する際に使用します。| |6|作成前|「レコード」が作成される前に実行します。| |7|作成後|「レコード」が作成された後に実行します。| |8|更新前|「レコード」が更新される前に実行します。| |9|更新後|「レコード」が更新された後に実行します。| |10|削除前|「レコード」が削除される前に実行します。[一括削除](/ja/manual/table-record-bulkdelete)では実行しません。| |11|削除後|「レコード」が削除された後に実行します。[一括削除](/ja/manual/table-record-bulkdelete)では実行しません。| |12|一括削除前|「レコード」が一括削除される前に実行します。単一レコードの[削除](/ja/manual/table-record-delete)では実行しません。| |13|一括削除後|「レコード」が一括削除された後に実行します。単一レコードの[削除](/ja/manual/table-record-delete)では実行しません。| |14|行表示の前|[一覧画面](/ja/manual/table-grid)で行やセルの[スタイル](/ja/manual/table-management-style)や表示内容を設定する際に使用します。編集画面のリンクテーブルを表示する際にも実行します。| |15|画面表示の前|画面の表示内容を変更する際に使用します。プロセスボタンによる一括操作後の場合にも実行します。| |16|共有|[コードの共有](/ja/manual/server-script-shared)として使用します。| ## [拡張サーバスクリプト](/ja/manual/extended-server-script)の条件 [拡張サーバスクリプト](/ja/manual/extended-server-script)では「共有」を除く条件について、[サーバスクリプト](/ja/manual/table-management-server-script)と同様に指定できます。 [拡張サーバスクリプト](/ja/manual/extended-server-script)で条件を指定する方法は[拡張サーバスクリプト](/ja/manual/extended-server-script)のマニュアルを参照してください。 ## Pleasanter Code Assistの拡張サーバスクリプトの条件 Pleasanter Code Assistの拡張サーバスクリプトでは「共有」を除く条件について、[サーバスクリプト](/ja/manual/table-management-server-script)と同様に指定できます。 Pleasanter Code Assistの拡張サーバスクリプトで条件を指定する方法は[Pleasanter Code Assistの拡張機能](/ja/manual/pleasanter-code-assist-how-to-use-extensions)のマニュアルを参照してください。 ## 「一括削除前」、「一括削除後」の補足事項 ### 使用例 一括削除したレコードIDを取得する方法 **・「一括削除前」のサーバスクリプト例** ``` javascript let ids = []; if (context.ApiRequestBody) { const apiJson = JSON.parse(context.ApiRequestBody); // APIやitems.BulkDeleteを使用しSelectedでIDを指定して一括削除する場合 if (apiJson.Selected) { ids = apiJson.Selected.map(Number); } else { let data = {}; // APIやitems.BulkDeleteを使用しAllで全レコードを一括削除する場合 if (apiJson.All) { const all = apiJson.All; data = { All: all }; } // APIやitems.BulkDeleteを使用しViewで条件を指定して一括削除する場合 else if (apiJson.View) { const view = apiJson.View; data = { View: view }; } const apiModels = items.Get(context.Id, JSON.stringify(data)); for (let apiModel of apiModels) { // 記録テーブルの場合はapiModel.ResultId を追加 // 期限付きテーブルの場合はapiModel.IssueId を追加 ids.push(apiModel.ResultId); } } } // 画面から一括削除する場合 else { for (let id of grid.SelectedIds()) { ids.push(id); } } if (ids && ids.length > 0) { // 一括削除後のサーバスクリプトにID一覧を連携 context.UserData.BulkDeleteIds = ids.join(','); } ``` **・「一括削除後」のサーバスクリプト例** ``` if (context.UserData.BulkDeleteIds && context.UserData.BulkDeleteIds != '') { // 一括削除前のサーバスクリプトから連携されたIDを取得 const idsStr = context.UserData.BulkDeleteIds; const ids = idsStr.split(',').map(Number); for (let id of ids) { // ブラウザの開発者ツールのコンソールログに、一括削除したレコードのIDを出力 context.Log(id); } } ``` ### [削除時に子レコードを同時に削除する](/ja/manual/table-management-delete-with-links)設定との関係 テーブルの分類項目の[選択肢一覧](/ja/manual/table-management-choices-text)に[削除時に子レコードを同時に削除する](/ja/manual/table-management-delete-with-links)設定を行っている場合、親レコードの削除と連動して子レコードが削除される際は、子レコードが登録されているテーブルに対して[一括削除](/ja/manual/table-record-bulkdelete)の処理が実行されます。したがって、子レコードが登録されているテーブルに、条件に「一括削除前」、「一括削除後」を指定したサーバスクリプトが登録されている場合、該当のサーバスクリプトが実行されます。 ## 対応バージョン |対応バージョン|内容| |:--|:--| |1.4.16.0 以降|サーバスクリプトの条件に「一括削除前」、「一括削除後」を追加。| ## 関連情報 <div id="ManualList"><ul><li><a href="/ja/manual/table-grid">テーブル機能:レコードの一覧画面</a><span>2025/01/16 up</span></li> <li><a href="/ja/manual/table-record-search">テーブル機能:レコードの検索(フィルタ)</a><span>2024/09/12 up</span></li> <li><a href="/ja/manual/table-record-sort">テーブル機能:レコードの並び替え(ソート)</a><span>2024/08/01 up</span></li> <li><a href="/ja/manual/table-record-delete">テーブル機能:レコードの削除</a><span>2024/06/07 up</span></li> <li><a href="/ja/manual/table-record-bulkdelete">テーブル機能:レコードの一括削除</a><span>2023/10/26 up</span></li></ul></article> <ul><li><a href="/ja/manual/table-management-choices-text">テーブルの管理:エディタ:項目の詳細設定:選択肢一覧</a><span>2023/10/12 up</span></li> <li><a href="/ja/manual/table-management-choices-text-depts">テーブルの管理:エディタ:項目の詳細設定:選択肢一覧:組織</a><span>2023/04/25 up</span></li> <li><a href="/ja/manual/table-management-choices-text-groups">テーブルの管理:エディタ:項目の詳細設定:選択肢一覧:グループ</a><span>2023/04/25 up</span></li> <li><a href="/ja/manual/table-management-choices-text-users">テーブルの管理:エディタ:項目の詳細設定:選択肢一覧:ユーザ</a><span>2023/04/25 up</span></li> <li><a href="/ja/manual/table-management-choice-json">テーブルの管理:エディタ:項目の詳細設定:選択肢一覧:フィルタ、ソート、表示フォーマット</a><span>2024/11/12 up</span></li> <li><a href="/ja/manual/table-management-delete-with-links">テーブルの管理:エディタ:項目の詳細設定:選択肢一覧:削除時に子レコードを同時に削除する</a><span>2025/05/13 up</span></li></ul></article> <ul><li><a href="/ja/manual/table-management-default-view">テーブルの管理:一覧画面:既定のビュー</a><span>2025/01/30 up</span></li></ul></article> <ul><li><a href="/ja/manual/table-management-filter">テーブルの管理:フィルタ</a><span>2023/05/12 up</span></li></ul></article> <ul><li><a href="/ja/manual/table-management-style">テーブルの管理:スタイル</a><span>2025/03/11 up</span></li> <li><a href="/ja/manual/table-management-server-script">テーブルの管理:サーバスクリプト</a><span>2025/05/13 up</span></li></ul></article> <ul><li><a href="/ja/manual/server-script">開発者向け機能:サーバスクリプト</a><span>2023/06/01 up</span></li> <li><a href="/ja/manual/server-script-shared">開発者向け機能:サーバスクリプト:コードの共有</a><span>2025/01/30 up</span></li></ul></article> <ul><li><a href="/ja/manual/style">開発者向け機能:スタイル</a><span>2025/01/10 up</span></li></ul></article> <ul><li><a href="/ja/manual/extended-server-script">開発者向け機能:拡張機能:拡張サーバスクリプト</a><span>2025/05/13 up</span></li></ul></article> <ul><li><a href="/ja/manual/advanced-operations-link">応用編:リンク</a><span>2024/07/08 up</span></li></ul></article> <ul><li><a href="/ja/manual/faq-server-script-log">FAQ:サーバスクリプトのエラーログを出力したい</a><span>2024/04/29 up</span></li></ul></article> <ul><li><a href="/ja/manual/pleasanter-code-assist-how-to-use-extensions">Pleasanter Code Assist:使い方:拡張機能</a><span>2025/05/13 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />
TOP
このページをシェアする
記載された商品名、各製品名は各社の登録商標または商標です。 © Implem Inc.