いつもお世話になっております。
を参考に、ラジオボタンの選択肢によって、計算結果の表示を変えたいのですが
下記コードで試したところ、
①計算が反映されず0になってしまう。
②申請付与 / ラジオボタン (申請/付与)で付与を選択すると保存前にエラーが発生する(フィールドにNaNと表示され、数字でなければなりません。と出る)
・そもそも、設置するフィールドが数値ではないのでしょうか?
・計算フィールドの場合、表示形式で時間を選択できるので、表示形式を何か指定すればいいのでしょうか?
・計算式自体がおかしいのか?
質問内容が長々と分かりづらくて申し訳ありませんが、どなたかご教授頂けると幸いです。
宜しくお願い致します。
【設置フィールド】
申請付与 / ラジオボタン (申請/付与)
種類 / ラジオボタン (有給休暇/夏季休暇/冬期休暇)
出勤時間 / 時刻
退勤時間 / 時刻
休憩時間 / 数値
付与日数 / 数値
取得時間有給 / 数値
取得時間夏休 / 数値
取得時間冬休 / 数値
付与時間有給 / 数値
付与時間夏休 / 数値
付与時間冬休 / 数値
(function() {
"use strict";
var events1 = [
'app.record.create.submit',
'app.record.edit.submit',
'app.record.create.show',
'app.record.edit.show'];
kintone.events.on(events1, function(event) {
var record = event.record;
var attendance = record.出勤時間.value;
var officeWork = record.退勤時間.value;
var breakTime = record.休憩時間.value;
var grantedDays = record.付与日数.value;
//休暇時間の休暇時間の算出
var acquisitionTime = officeWork - attendance - (60 * 60 * breakTime);
var grantTime = (officeWork - attendance - (60 * 60 * breakTime)) * grantedDays;
//申請付与で「申請」が選択されていた時
if(record.申請付与.value === "申請"){
//種類で「有給休暇」が選択されていた時
if(record.種類.value ==="有給休暇"){
record.取得時間有給.value = grantedDays,
record.取得時間夏休.value = 0,
record.取得時間冬休.value = 0,
record.付与時間有給.value = 0,
record.付与時間夏休.value = 0,
record.付与時間冬休.value = 0;
//種類で「夏季休暇」が選択されていた時
}else if(record.種類.value === "夏季休暇"){
record.取得時間有給.value = 0,
record.取得時間夏休.value = grantedDays,
record.取得時間冬休.value = 0,
record.付与時間有給.value = 0,
record.付与時間夏休.value = 0,
record.付与時間冬休.value = 0;
//種類で「冬季休暇」が選択されていた時
}else{
record.取得時間有給.value = 0,
record.取得時間夏休.value = 0,
record.取得時間冬休.value = grantedDays,
record.付与時間有給.value = 0,
record.付与時間夏休.value = 0,
record.付与時間冬休.value = 0;
}
//申請付与で「付与」が選択されていた時
}else if(record.申請付与.value === "付与"){
//種類で「有給休暇」が選択されていた時
if(record.種類.value ==="有給休暇"){
record.取得時間有給.value = 0,
record.取得時間夏休.value = 0,
record.取得時間冬休.value = 0,
record.付与時間有給.value = grantTime,
record.付与時間夏休.value = 0,
record.付与時間冬休.value = 0;
//種類で「夏季休暇」が選択されていた時
}else if(record.種類.value === "夏季休暇"){
record.取得時間有給.value = 0,
record.取得時間夏休.value = 0,
record.取得時間冬休.value = 0,
record.付与時間有給.value = 0,
record.付与時間夏休.value = grantTime,
record.付与時間冬休.value = 0;
//種類で「冬季休暇」が選択されていた時
}else{
record.取得時間有給.value = 0,
record.取得時間夏休.value = 0,
record.取得時間冬休.value = 0,
record.付与時間有給.value = 0,
record.付与時間夏休.value = 0,
record.付与時間冬休.value = grantTime;
}
}
return event;
});
})();