ユーザマニュアル

【重要】年間サポートサービスプラン改定 プリザンター×MCPサーバ 「プリザンターをもっと活用するために」資料ダウンロード 「プリザンター入門」発売中!

2026/07/08

MANUAL

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

## 概要 [サーバスクリプト](/ja/manual/table-management-server-script)で「ナビゲーションメニュー」、「コマンドボタン」、[プロセス](/ja/manual/process)で追加したボタンの表示状態を制御します。 ## 制限事項 1. 画面上部の「ナビゲーションメニュー」、画面下部の「コマンドボタン」、[プロセス](/ja/manual/process)で追加したボタンに適用可能です。 1. 戻るボタンには適用できません。 1. ナビゲーションメニューに「2:無効」を設定することはできません。 1. サーバスクリプトの[条件](/ja/manual/server-script-conditions)が「画面表示の前」の場合に有効となります。 ## 構文 ``` elements.DisplayType(id, displayType); ``` ## パラメータ |パラメータ|型|必須|概要| |:----------|:----------|:---:|:---------------------------| |id|string|○|HTMLのID属性| |displayType|int|○|0:標準/1:無し/2:無効/3:非表示| ## 戻り値 戻り値はありません。 ## 使用例① 以下の例ではdisplayTypeに1を指定することで、ヘルプメニューのHTMLが出力されません。 ##### JavaScript ``` elements.DisplayType('HelpMenuContainer',1); ``` ## 使用例② 以下の例ではdisplayTypeに2を指定することで、削除ボタンが無効化されます。 ##### JavaScript ``` elements.DisplayType('DeleteCommand',2); ``` ## 使用例③ 以下の例ではdisplayTypeに3を指定することで、[プロセス](/ja/manual/process)で追加したボタン(ID:1)が非表示となります。 ##### JavaScript ``` elements.DisplayType('Process_1',3); ``` ## サンプルコード <details> <summary>1. 複合条件判定によるボタン表示制御</summary> 組織・グループの所属状況を複合判断し、ボタン表示を制御するサンプルコードです。 ##### 機能要件 1. 以下条件で、ボタンの表示を制御します。 <table border="1"> <thead> <tr> <th>部門(組織)</th> <th>役職(グループ)</th> <th>承認</th> <th>更新</th> </tr> </thead> <tbody> <tr> <td rowspan="3">営業部</td> <td>部長</td> <td>表示</td> <td>表示</td> </tr> <tr> <td>課長</td> <td>非表示</td> <td>表示</td> </tr> <tr> <td>一般社員</td> <td>非表示</td> <td>非表示</td> </tr> <tr> <td rowspan="3">開発部</td> <td>部長</td> <td>非表示</td> <td>表示</td> </tr> <tr> <td>課長</td> <td>非表示</td> <td>表示</td> </tr> <tr> <td>一般社員</td> <td>非表示</td> <td>非表示</td> </tr> </tbody> </table> 2. 部門、役職を以下のように定義します。 |種類|ID|組織/グループ| |---|---|:---:| |営業部|6|組織| |開発部|7|組織| |部長|3|グループ| |課長|2|グループ| ※一般社員は、グループ所属無しの想定 3. ボタン制御 - 承認:プロセスで設定 - 更新:標準の更新ボタン これらを、elements.DisplayType で制御します。 ##### JavaScript 条件:画面表示の前 ```javascript // ===== 設定 ===== const deptSales = 6; // 営業部 const deptDev = 7; // 開発部 const groupManager = 3; // 部長 const groupSecManager = 2; // 課長 // ボタンごとの表示条件: // 「depts のいずれか」かつ「groups のいずれか」に所属していれば表示。 // 配列を空 [] にすると、その軸は「問わない(全員可)」を意味する。 const buttonRules = [ { id: 'Process_1', depts: [deptSales], groups: [groupManager] }, // 承認:営業部 × 部長 { id: 'UpdateCommand', depts: [deptSales, deptDev], groups: [groupManager, groupSecManager], }, // 更新:営業/開発 × 部長/課長 ]; // ===== エンジン:基本は触らない ===== const SHOW = 0; // DisplayType 0:標準(表示) const HIDE = 1; // DisplayType 1:無し(非表示) function isUserInDept(deptId, userId) { const dept = depts.Get(deptId); if (!dept) return false; return Array.from(dept.GetMembers()).some(function (m) { return m.UserId === userId; }); } function isUserInGroup(groupId, userId) { const group = groups.Get(groupId); if (!group) return false; return group.ContainsUser(userId); } // 軸(部門 or 役職)の判定: 未指定(空配列)なら無条件 true、そうでなければいずれかに一致 function matchesAny(ids, isMemberOf) { return ids.length === 0 || ids.some(isMemberOf); } const userId = context.UserId; buttonRules.forEach(function (rule) { const visible = matchesAny(rule.depts, function (id) { return isUserInDept(id, userId); }) && matchesAny(rule.groups, function (id) { return isUserInGroup(id, userId); }); elements.DisplayType(rule.id, visible ? SHOW : HIDE); }); ``` </details> ## 関連情報 <div id="ManualList"><ul><li><a href="/ja/manual/process">テーブルの管理:プロセス</a><span>2026/02/10 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>2026/05/12 up</span></li> <li><a href="/ja/manual/server-script-conditions">開発者向け機能:サーバスクリプト:条件</a><span>2026/02/09 up</span></li></ul></article> <ul><li><a href="/ja/manual/advanced-operations-process">応用編:プロセスと状況による制御</a><span>2023/08/25 up</span></li></ul></article> <ul><li><a href="/ja/manual/faq-condition-mode-range">FAQ:プロセスなどの条件タブで数値や日付の条件を範囲指定したい</a><span>2024/05/29 up</span></li> <li><a href="/ja/manual/faq-process-comment-required">FAQ:更新時に必ずコメントを入力させたい</a><span>2024/07/12 up</span></li></ul></article> <ul><li><a href="/ja/manual/faq-process-workflow">FAQ:稟議申請などのワークフロー(承認プロセス)をプロセス機能で実現する</a><span>2024/07/12 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />
code VS Codeで開発作業をもっとスマートに

スクリプト開発の効率を高めたい方に、Code Assistをご用意しています。

Code Assistの詳細はこちら →
account_tree 複雑な構成も、すっきり視覚化

サイト構成やデータのつながりを可視化し、把握しやすくします。

Site Visualizerの詳細はこちら →
TOP