レコード新規作成時、ユニークなIDを取得したい

経費申請アプリ(サブテーブル:移動費、宿泊費)→経費集計アプリ(旅費交通費)という仕組みを作っています。(最初から一緒にできれば問題ないんですけど・・・)

アプリ間コピーについてはTIS様のプラグインで行っていますが、そのプラグイン内で「サブテーブル行の更新時にキーとなる文字列」の設定欄がありました。

修正が起こる内容なので、そのためのユニークIDを設定したいです。

・設定するアプリは経費申請側

・アプリIDとレコードIDを結合(ユニークID)→サブテーブルNo(別で書いてます)とサブテーブル内で結合(ユニークID+サブテーブルNo)

(ユニークIDだけだと行が拾えず、サブテーブルNoだけだと移動費と宿泊費で被る為、2つを結合しています)

 

動き自体は出来てるんですが、1回保存しただけだとユニークIDがエラーになり、もう1度開いて保存すると反映されます。

このもう1度開いて保存する作業がどうしても忘れる為、1回保存した際に同じ動きはできないのでしょうか?

今は私が最終チェックしてるので気づいて処理できますが、今後を考えると恐ろしいです・・・

何か方法があれば教えて頂きたいです。よろしくお願いします。

 

(function() {
"use strict";
kintone.events.on([
'app.record.detail.show',
'app.record.crate.show',
'app.record.edit.show',
'app.record.index.edit.show',

], function(event){
// アプリID取得
var appId = event.appId;
// レコード番号の取得
var recordId = event.recordId;

var record = event.record;

record['レコード'].value = appId.toString() + recordId.toString();
record['レコード'].disabled = true;

});
})();

app.record.create.showでは、event.recordIdがまだ無いからだと思われます。

レコードIDは、データ保存完了時に初めて採番されるため、

app.record.create.submit.successイベントで、セットしてあげる必要があります。

また、app.record.create.submit.successでは、return eventしても値は更新できないので、

kintone REST APIで更新してあげる必要があります。