スマートフォン用となります。
テーブル(作業実績_0)の中に
作業開始(日付)、作業終了(日付)、作業実績(ドロップダウン)、備考欄(文字列)
を作成しています。
作業終了ボタンをクリック後に、テーブル内の作業開始と同日の行の作業終了に
現在時刻を入力。
作業開始と同日が存在しない場合は、Alertを表示させていのですが動作しません。
どこが間違っているのでしょうか?
(function() {
“use strict”;
// mobile.app.record.create.showとmobile.app.record.edit.showイベントに対するハンドラを設定
kintone.events.on(
[“mobile.app.record.create.show”, “mobile.app.record.edit.show”],
function(event) {
// 作業開始日付フィールドコード
var startDateFieldCode = “作業開始”;
// テーブルフィールドコード
var tableFieldCode = “作業実績_0”;
// 作業終了フィールドコード
var endWorkFieldCode = “作業終了”;
// 作業終了ボタンを作成
var endWorkButton = document.createElement(“button”);
endWorkButton.id = “end_work_button”;
endWorkButton.innerHTML = “作業終了”;
endWorkButton.onclick = function() {
var record = kintone.mobile.app.record.get();
var table = record.record[tableFieldCode].value;
// 現在の日付を取得
var currentDate = moment().format(“YYYY-MM-DD”);
// 現在時刻を取得
var currentTime = moment().format(“YYYY-MM-DDTHH:mm”);
// テーブルの行をループして作業開始日付と同じ日付の行に作業終了日付を入力
var foundMatch = false;
for (var i = 0; i < table.length; i++) {
var row = table[i].value;
var startDate = row[startDateFieldCode].value;
// 作業開始日付と同じ日付の場合、作業終了日付に現在時刻を入力
if (startDate && startDate.substr(0, 10) === currentDate) {
row[endWorkFieldCode].value = currentTime;
foundMatch = true;
}
}
// レコードを更新
kintone.mobile.app.record.set(record);
if (foundMatch) {
alert(“作業終了!保存を押してください!”);
} else {
alert(“作業開始ボタンを押してください”);
}
};
// 作業終了ボタンをスペースフィールドに追加
kintone.mobile.app.record
.getSpaceElement(“my_space_field”)
.appendChild(endWorkButton);
}
);
})();