作成したレコードのIDを取得したい
回答¶
スクリプトを利用してください。
概要¶
親テーブルにレコードを新規作成したと同時にリンクしたレコードを子テーブルに新規作成したい場合などで、新規作成したレコードのIDを取得したい場合はスクリプトの実装が必要です。
顧客テーブル(親)でレコードを作成したタイミングで、作成したレコードとリンクしたレコードをチェックリストテーブル(子)に作成するサンプルになります。
事前準備¶
本FAQでは以下のような親子関係のテーブルをもとに進めます。

チェックリストテーブル(子)でリンクに使用する項目は分類A(ClassA)になります。 リンクの設定方法については以下ページを参照ください。
テーブルの管理:エディタ:項目の詳細設定:選択肢一覧:リンク | Pleasanter
操作手順¶
- 下記スクリプトを顧客テーブル(親)のテーブルの管理にあるスクリプトに登録します。実行タイミングは「新規作成」です。
- 顧客テーブルでレコードを新規作成します。
- チェックリストテーブルに移動します。
- 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を確認することができます。
