スマホ版のキントーンの自動採番について
C-0705-000
(アルファベット-日時-番号)
上記のように採番を設定したいと考えております。
(function () {
‘use strict’;
// 共通関数:今日の日付ベースの連番を生成
async function generateSerialNumber() {
const now = new Date();
const mm = String(now.getMonth() + 1).padStart(2, ‘0’);
const dd = String(now.getDate()).padStart(2, ‘0’);
const todayStr = mm + dd;
const prefix = ‘C-’ + todayStr + ‘-’;
const query = ‘serial_number like "’ + prefix + ‘" order by serial_number desc limit 1’;
try {
const resp = await kintone.api(kintone.api.url('/k/v1/records', true), 'GET', {
app: kintone.app.getId(),
query: query
});
let nextNumber = 1;
if (resp.records.length > 0) {
const lastSerial = resp.records[0].serial_number.value;
const lastNum = parseInt(lastSerial.split('-')[2], 10);
if (!isNaN(lastNum)) {
nextNumber = lastNum + 1;
}
}
const paddedNumber = String(nextNumber).padStart(3, '0');
return prefix + paddedNumber;
} catch (err) {
console.error('連番取得エラー:', err);
return '';
}
}
// 新規作成画面表示時:連番を表示&編集不可
kintone.events.on(‘app.record.create.show’, async function (event) {
const record = event.record;
const serial = await generateSerialNumber();
record.serial_number.value = serial;
record.serial_number.disabled = true;
return event;
});
// 保存前:念のため連番が未入力なら再セット
kintone.events.on(‘app.record.create.submit’, async function (event) {
const record = event.record;
if (!record.serial_number.value) {
const serial = await generateSerialNumber();
record.serial_number.value = serial;
}
return event;
});
// 編集画面でも編集不可にする
kintone.events.on(‘app.record.edit.show’, function (event) {
event.record.serial_number.disabled = true;
return event;
});
})();
上記のようにコードを設定したのですが、PC版だと作動するものの、
スマホ版だと作動しません。
ほぼド素人が作成したものになりますので、何か違う点などご教示いただけますと幸いです。