siteSettings
概要¶
サーバスクリプトで「サイト設定」の読み取り、変更を行うためのオブジェクトです。
制限事項¶
- 「サイト設定の読み取り時」の条件のみ使用できます。
プロパティ¶
| No | プロパティ名 | 変更 | 説明 |
|---|---|---|---|
| 1 | DefaultViewId | ○ | 既定のビューのID |
| 2 | Sections | ○ | Sectionオブジェクトの配列 |
メソッド¶
| No | Name | Description |
|---|---|---|
| 1 | SiteId | サイトのタイトルをキーに「サイトID」を取得 |
使用例①¶
以下の例では、ビューのIDが1のものを既定のビューとして設定します。
JavaScript¶
使用例②¶
以下の例では、セクションの情報を取得してセクションのIDとラベルテキストをログに出力します。
JavaScript¶
let sections = siteSettings.Sections;
for (let section of sections) {
context.Log(`${section.Id} ${section.LabelText}`);
}
使用例③¶
以下の例では、サイト名が 部署マスタ のサイトIDを取得してログに出力します。
JavaScript¶
サンプルコード¶
Note
コード内の【 ... 】は適宜修正してください。
1. 見る人の所属組織によって、テーブルを開いたときのビューを変える
案件管理のテーブルを開いたときに最初に表示するビューを、見る人の所属組織によって変えます。「サイト設定の読み込み時」に、context.DeptIdを「組織ID→ビューID」の対応表で引き、siteSettings.DefaultViewIdを書き換えます。対応表に無い組織の人には、テーブルに設定した既定のビューが表示されます。
実務での使いどころ¶
1つのテーブルを複数の部署で使うと、部署ごとに見たい切り口が違います。テーブルの既定のビューは1つで、組織ごとやユーザーごとには変えられません。このサンプルを使うと、たとえば営業部は「自分の担当」、管理部は「未完了のみ」で開くようにでき、毎回ビューを選び直す手間を減らせます。利用者が画面でビューを切り替えた場合は、ログインしている間はその選択が優先されます。
事前準備¶
1:「案件管理」テーブルで、部署ごとに開きたいビューを作成し、「テーブルの管理 > ビュー」でビューIDを確かめてください(例:1「全件」、2「未完了のみ」、3「自分の担当」)。既定のビューには、対応表に無い組織の人に表示するビュー(例:「全件」)を設定します。
2:スクリプトを登録します。
2-1:「テーブルの管理 > サーバスクリプト」タブで「新規作成」を選択する。
2-2:タイトル: 任意の名前(例:defaultViewByDept)
2-3:スクリプト: 下記サンプルコードを貼り付け、対応表の組織IDとビューIDを書き替える
2-4:条件: 「サイト設定の読み込み時」にチェック
JavaScript¶
// 組織ID → 最初に開くビューのID(ビューIDは「テーブルの管理 > ビュー」で確かめる)
const DEFAULT_VIEW_BY_DEPT = {
【営業部の組織ID】: 【「自分の担当」のビューID】,
【管理部の組織ID】: 【「未完了のみ」のビューID】,
};
// 見る人の所属組織に応じて、テーブルを開いたときのビューを変える。
// 対応表に無い組織の人は、テーブルに設定した既定のビューのまま
const viewId = DEFAULT_VIEW_BY_DEPT[context.DeptId];
if (viewId !== undefined) {
siteSettings.DefaultViewId = viewId;
}
注記¶
- 変わるのは、テーブルを開いたときに最初に表示するビューのみです。利用者が画面でビューを切り替えると、ログインしている間はその選択が優先されます。
- 対応表のビューIDは、存在するビューのIDを書いてください。
- グループやユーザーごとに変える場合は、
context.DeptIdの代わりにcontext.UserIdなどで対応表を引きます。
