ユーザマニュアル

プリザンター10周年記念イベントアーカイブ公開中 プリザンター×MCPサーバ 「プリザンターをもっと活用するために」資料ダウンロード 「プリザンター入門」発売中!

2026/03/17

MANUAL

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

## 概要 [サーバスクリプト](/ja/manual/table-management-server-script)で、設定されているフィルター条件をクリアします。WebUIで設定されているフィルターを、サーバスクリプトで無効化する場合などに利用できます。 view.ClearFilters()の呼び出し時点ですでに設定されていたフィルター条件は削除されます。view.ClearFilters()の呼び出し後に新たにサーバスクリプトで設定された[view.Filters](/ja/manual/server-script-view-filters)の内容は有効となります。 ## 注意事項 1. 「ビュー処理時」の条件のみ使用できます。 ## 構文 ``` view.ClearFilters(); ``` ## パラメータ パラメータはありません。 ## 戻り値 戻り値はありません。 ## 使用例 下記の例では、画面からのフィルタ操作をすべて無効化しその後[view.Filters](/ja/manual/server-script-view-filters)に[内容項目](/ja/manual/table-management-body)内に "ソフトウェア" の文字列を含むレコードを抽出する条件を追加しています。 ##### JavaScript ``` view.ClearFilters(); // 画面からのフィルタ操作をすべて無効化 view.Filters.Body = 'ソフトウェア'; // Bodyに'ソフトウエア' 文字列が含まれるものを抽出。 ``` ## サンプルコード <details> <summary>1. ユーザロールごとにフィルタ条件を制御する</summary> 以下のようなフィルタ条件を制御します。 |ロール|権限| |:--|:--| |特権ユーザ|すべてのレコードを参照可| |管理職|所属組織のレコードを参照可| |一般社員|自分担当のレコードのみ参照可| 制御のため、以下のようにグループを用意し、ユーザを所属させます。 |ロール|特権ユーザグループ|管理職グループ| |:--|:--:|:--:| |特権ユーザ|所属|| |管理職||所属| |一般社員||| なお、本サンプルコードでは、**特権ユーザグループ:GroupId=5**、**管理職グループ:GroupId=4**として定義しています。 また、所属組織の担当レコードであることを判別するため、ClassAに組織を選択できるように設定しておきます。 その上で、以下のように制御します。 ・管理職:自分の組織ID=ClassAを対象 ・一般社員:自分のユーザID=Ownerを対象 ##### JavaScript ```javascript // グループIDを定義 const ADMIN_GROUP_ID = 5; const MANAGE_GROUP_ID = 4; // ユーザが特定のグループに所属しているか判定 function isUserInGroup(userId, groupId) { const group = groups.Get(groupId); if (!group) return false; for (const member of group.GetMembers()) { if (member.UserId === userId) return true; } return false; } // フィルタ適用ルールを定義 const rules = [ { name: '特権ユーザグループ', when: () => isUserInGroup(context.UserId, ADMIN_GROUP_ID), apply: () => view.ClearFilters(), }, { name: '管理職グループ', when: () => isUserInGroup(context.UserId, MANAGE_GROUP_ID), apply: () => { const user = users.Get(context.UserId); view.Filters.ClassA = `["${user.DeptId}"]`; }, }, { name: '一般社員', when: () => true, apply: () => { view.Filters.Owner = `["${context.UserId}"]`; }, }, ]; // ルールを順番に評価し、最初に該当したルールを適用 for (const rule of rules) { if (rule.when()) { logs.LogInfo(rule.name); rule.apply(); break; } } ``` </details> ## 対応バージョン |対応バージョン|内容| |:--|:--| |1.3.13.0 以降|機能追加| ## 関連情報 <div id="ManualList"><ul><li><a href="/ja/manual/table-management-body">テーブルの管理:項目:内容</a><span>2025/12/09 up</span></li></ul></article> <ul><li><a href="/ja/manual/table-management-server-script">テーブルの管理:サーバスクリプト</a><span>2026/02/10 up</span></li></ul></article> <ul><li><a href="/ja/manual/server-script">開発者向け機能:サーバスクリプト</a><span>2025/11/27 up</span></li> <li><a href="/ja/manual/server-script-view-filters">開発者向け機能:サーバスクリプト:view.Filters</a><span>2026/03/05 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />
TOP