次の日付変換ソースコードについて、[‘EOP_年’]、[‘EOP_月’].のフィールドコードが設定されている項目に入力無しでレコードを追加した場合に、Invalid date と自動入力されてしまいます。Invalid date 無しの空白表示にさせたいのですが、Java におけるif else の条件分岐のやり方について、知識不足で困っています。
(function() {
“use strict”;
kintone.events.on([‘app.record.create.submit’,‘app.record.edit.submit’], function (event) {
var record = event[‘record’];
record[‘EOP’].value = moment({
years:record[‘EOP_年’].value, months:Number(record[‘EOP_月’].value) - 1, days:‘01’
}).add(1, ‘month’).startOf(‘month’).subtract(1, ‘days’).format(‘YYYY-MM-DD’);
return event;
}
);
})();
ao1962 様
やりたいことは
(1)入力された年・月の月末をEOPフィールドに入れる。
(2)年or月が未入力ならEOPフィールドを空白にする。
ということでよろしいでしょうか?それであれば、以下のようなソースでいかがでしょうか。
(function() {
“use strict”;
kintone.events.on([‘app.record.create.submit’,‘app.record.edit.submit’], function (event) {
var record = event[‘record’];
var EOP_year = record[‘EOP_年’].value;
var EOP_month = record[‘EOP_月’].value;
if (EOP_year !== undefined && EOP_month !== undefined) {
record[‘EOP’].value = moment().year(Number(EOP_year)).month(Number(EOP_month)-1).endOf(‘month’).format(‘YYYY-MM-DD’);
} else {
record[‘EOP’].value = undefined;
}
return event;
});
})();
ちなみに、月初の日付も必要なら
record[‘月初’].value = moment().year(Number(EOP_year)).month(Number(EOP_month)-1).startOf(‘month’).format(‘YYYY-MM-DD’);
とすればできますよ。