お世話になっております。
タイトルの件について、過去記事を参考に設定したのですが、どうもうまくいかず質問をさせていただきました。
現在、フィールドでラジオボタン(フィールド名:区分)と文字列1行(フィールド名:No)があり、
Noに区分+数字5桁の数字を+1ずつ順番に登録しようと思っています。
下記コードで設定しているのですが、区分を変更すると数字の部分が同じ番号が登録されることがあります。
(function() {
"use strict";
kintone.events.on(["app.record.create.show","app.record.index.edit.show","app.record.edit.show"],
function(e) {
var record = e.record;
record['No']['disabled'] = true;
return e;
});
kintone.events.on('app.record.create.submit', function(e) {
var recNo = 1;
var record = e.record;
var appUrl = kintone.api.url('/k/v1/records', true) + '?app=' + kintone.app.getId() + '&query=' + encodeURI('order by No desc limit 1 offset 0');
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", appUrl, false);
xmlHttp.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xmlHttp.send(null);
if (xmlHttp.status === 200) {
if (window.JSON) {
var obj = JSON.parse(xmlHttp.responseText);
console.log(obj.records.length);
if (obj.records.length > 0) {
try {
var recNoText = obj.records[0]['No'].value;
recNo = parseInt(('00000' + recNoText).slice(-5), 10) + 1;
} catch(e) { e.error = 'Noが取得できません。'; }
}
var kubun = {'区分1':'S','区分2':'K'}
var autoEstNo = kubun[record.区分.value] + ('00000' + recNo).slice(-5);
alert("No " + autoEstNo + " を登録します");
record['No']['value'] = autoEstNo;
} else { e.error = xmlHttp.statusText; }
} else { record['No'].error = 'Noが取得できません。'; }
return e;
});
})();
お手数でございますが、ご教授いただければ幸いです。