FAQ:作成したレコードのIDを取得したい
## 回答
[スクリプト](/ja/manual/table-management-script)を利用してください。
---
## 概要
親テーブルにレコードを新規作成したと同時にリンクしたレコードを子テーブルに新規作成したい場合などで、新規作成したレコードのIDを取得したい場合は[スクリプト](/ja/manual/table-management-script)の実装が必要です。
顧客テーブル(親)でレコードを作成したタイミングで、作成したレコードとリンクしたレコードをチェックリストテーブル(子)に作成するサンプルになります。
## 事前準備
本FAQでは以下のような親子関係のテーブルをもとに進めます。
![image](https://pleasanter.org/binaries/b9c694ba5d2d4f6eb3e2f109d22f0082)
チェックリストテーブル(子)でリンクに使用する項目は分類A(ClassA)になります。 リンクの設定方法については以下ページを参照ください。
[テーブルの管理:エディタ:項目の詳細設定:選択肢一覧:リンク \| Pleasanter](https://pleasanter.org/manual/table-management-choices-text-link)
## 操作手順
1. 下記スクリプトを顧客テーブル(親)のテーブルの管理にあるスクリプトに登録します。実行タイミングは「新規作成」です。
1. 顧客テーブルでレコードを新規作成します。
1. チェックリストテーブルに移動します。
1. 2.で作成したレコードにリンクしているレコードが作成されていることを確認します。
## サンプルコード
##### JavaScript
```
$p.events.before_set_Create = function (args) {
console.log(args.json);
craeteCheckListRecored(args.json[0].Value);
}
function craeteCheckListRecored(recordId) {
$p.apiCreate({
id: 242196,
data: {
Offset: 0,
Title: '顧客テーブルでレコードを作成したタイミングで、このレコードは作成されました。',
ClassA: recordId
},
done: (data) => {
console.log('Success!');
console.log(data);
},
fail: (data) => {
console.log(data);
}
})
}
```
### 補足説明
上記スクリプトでレコードを作成したタイミングでレコードIDを取得する部分は下記の部分になります。
##### JavaScript
```
$p.events.before_set_Create = function (args) {
console.log(args.json);
craeteCheckListRecored(args.json[0].Value);
}
```
「$p.events.before_set_Create」のイベントが実行されたタイミングのレスポンス(args)に作成したレコード情報が格納されております。
「args.json[0].Value」でレコードIDを確認することができます。
## 関連情報
<div id="ManualList"><ul><li><a href="/ja/manual/table-management-script">テーブルの管理:スクリプト</a><span>2024/10/08 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />