###課題
kintoneでシステムを作っていると、項目をまとめてテーブル化することがよくあります。
このとき、テーブルの各行に1行目から順に連番をつけたいということはよくあると思います。
kintoneの標準の機能ではこれはできないため、JavaScriptでのカスタマイズが必要です。
###JavaScriptカスタマイズ
フィールドコード「receipts」というテーブルの中にフィールドコード「no」というフィールドがあるとします。
このフィールドに対して保存のタイミングで連番を付与します。
まず、作成時の編集時のイベントを取得するために、kintone.events.on()
でイベントハンドラを登録します。
イベントハンドラの中では、event
に含まれるrecord
オブジェクトを取得し、そこに含まれるreceipts
テーブルのvalue
の数を数えておきます。これが行数になります。
あとは、ループを回しながら各行のno
のvalue
に連番を設定していきます。
コードは以下のようになります。
(function() {
"use strict";
var events = [
'app.record.create.submit',
'app.record.edit.submit'
];
kintone.events.on(events, function(event) {
var record = event.record;
// receiptsテーブルのno欄を自動採番する
var count = record.receipts.value.length;
for( var i = 0; i < count; i++ ){
record.receipts.value[i].value.no.value = i + 1;
}
return event;
});
})();
簡単ですね。