テーブルの管理:サーバスクリプト
## 概要
[サーバスクリプト](/ja/manual/server-script)機能を使うことで、クライアントサイドで実行される従来の[スクリプト](/ja/manual/table-management-script)機能では実現出来なかった条件分岐や複雑な計算をシンプルなコードで実現できます。また、クライアントサイドで実行される[スクリプト](/ja/manual/table-management-script)機能とは異なり、[サーバスクリプト](/ja/manual/server-script)機能はインポートでのレコード追加・更新やAPIによる操作のタイミングでも実行されます。
## 操作手順
![image](https://pleasanter.org/binaries/e9a77c92eba74648a5238d048e098e99)
該当のテーブルを開いた状態でナビゲーションメニューより「管理」-[テーブルの管理](/ja/manual/table-management)をクリックしてください。
※サイトの管理権限が無いユーザには表示されません。
![image](https://pleasanter.org/binaries/c659d38b74984c9c97a112e68793fdb1)
テーブルの管理からサーバスクリプトタブをクリックして開き、新規作成をクリックします。
![image](https://pleasanter.org/binaries/066459f25f5e4f03b7eda0b9bee92009)
|項目名|説明|設定方法|
|:---|:---|:---|
|タイトル|サーバスクリプトのタイトル|任意のタイトルを入力|
|名称|サーバスクリプトの名称|任意の名称を入力|
|スクリプト|サーバスクリプトの内容|任意のサーバスクリプトを入力|
|無効|サーバスクリプトを無効にしたい場合チェック|チェックボックスで設定|
|タイムアウト|サーバスクリプトのタイムアウト時間|タイムアウト時間(ミリ秒)を入力(※)|
|[関数化](/ja/manual/server-script-functionalize)|無名関数として実行させたい場合にチェック|チェックボックスで設定|
|[TryCatch](/ja/manual/server-script-try-catch)|自動的にtry-catch文として変換して実行させたい場合にチェック|チェックボックスで設定|
|[条件](/ja/manual/server-script-conditions)|実行する条件を選択|チェックボックスで設定|
※[Script.json](/ja/manual/script-json)のServerScriptTimeOutChangeableを有効化(true)することで画面上に項目が表示されます。
## サンプルコード
ここでは単純にそれぞれの項目に値を挿入します。
```Javascript
model.ClassA = 'テスト';
model.DescriptionA = 'テスト';
model.NumA = 123;
model.CheckA = true;
```
## 実行結果
タイトルのみ入力してレコードを作成ボタンをクリック。
![image](https://pleasanter.org/binaries/dd726fa74f5541b9986d82a8ff9d8e2f)
サーバスクリプトの実行条件として作成前を指定したスクリプトが実行され、それぞれの項目に指定した値が挿入されたうえで、レコードが作成されます。
![image](https://pleasanter.org/binaries/84f76ce579ff44c5a3925d2967162649)
## コードエディタの使用
第2世代[ユーザインターフェースのテーマ](/ja/manual/user-management-theme)の場合は、ハイライトやコードヒント・タブキーでのインデント入力などをサポートする便利なコードエディタ機能がご利用いただけます。
※[General.json](/ja/manual/general.json)の"EnableCodeEditor"を有効化することで利用可能です。
![image](https://pleasanter.org/binaries/7cbf9f15306b419a90521de3cd50ef90)
|対応バージョン|内容|
|:--|:--|
|1.4.12.0 以降|無効機能追加<br>[関数化](/ja/manual/server-script-functionalize)機能追加<br>[TryCatch](/ja/manual/server-script-try-catch)機能追加|
## 関連情報
<div id="ManualList"><ul><li><a href="/ja/manual/general.json">パラメータ設定:General.json</a><span>2025/01/14 up</span></li>
<li><a href="/ja/manual/script-json">パラメータ設定:Script.json</a><span>2025/01/14 up</span></li></ul></article>
<ul><li><a href="/ja/manual/table-management">テーブルの管理</a><span>2024/05/24 up</span></li></ul></article>
<ul><li><a href="/ja/manual/table-management-script">テーブルの管理:スクリプト</a><span>2025/01/10 up</span></li></ul></article>
<ul><li><a href="/ja/manual/user-management-theme">ユーザ管理機能:ユーザインターフェースのテーマをカスタマイズ</a><span>2025/01/30 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-functionalize">開発者向け機能:サーバスクリプト:関数化</a><span>2025/01/14 up</span></li>
<li><a href="/ja/manual/server-script-try-catch">開発者向け機能:サーバスクリプト:TryCatch</a><span>2025/01/14 up</span></li>
<li><a href="/ja/manual/server-script-conditions">開発者向け機能:サーバスクリプト:条件</a><span>2023/06/01 up</span></li></ul></article>
<ul><li><a href="/ja/manual/faq-condition-mode-range">FAQ:プロセスなどの条件タブで数値や日付の条件を範囲指定したい</a><span>2024/05/29 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></div><input id="SearchTextHidden" type="hidden" value="" />