みなさま
以下のようなスクリプトを作成したのですが、
期待した動きができず困っております。
■実現したいこと
各日付の状態によってステータスを変更したいです。
(例)作業開始日が未来の日程であれば、ステータスは「発注済」
作業開始日が本日以降であれば、ステータスは「作業中」 などです。
vlOrder = 発注日
vlStart = 作業開始日
vlEnd = 作業終了日
■スクリプト
/* ---------------------------------------------------------------------------------
(1)ステータスの自動変更
------------------------------------------------------------------------------------*/
var statusChangeIndex = [‘app.record.index.show’,
‘app.record.index.edit.show’,
‘app.record.index.edit.change.workStartDate’,
‘app.record.index.edit.change.progressStatus’,
‘app.record.index.edit.change.workEndDate’,
‘app.record.index.edit.change.orderDate’];
kintone.events.on(statusChangeIndex, function(event) {
var vlOrder = record[‘orderDate’][‘value’];
var vlStart = record[‘workStartDate’][‘value’];
var vlEnd = record[‘workEndDate’][‘value’];
var date = moment();
var now = moment(date).format(‘YYYY-MM-DD’);
var record = event.record;
if (!(vlOrder) && !(vlStart) && !(vlEnd)) {
record[‘progressStatus’].value = ‘未発注’;
} else if (vlEnd) {
record[‘progressStatus’].value = ‘作業完了’;
} else if ((vlStart) <= now ) {
record[‘progressStatus’].value = ‘作業中’;
} else if (vlOrder) {
record[‘progressStatus’].value = ‘発注済’;
}
return event;
});
■困っていること
‘app.record.index.show’ = 一覧の参照画面でエラーとなります。
//‘app.record.index.show’ と一覧参照の部分をコメントを外すとエラーは出ません。
一覧画面で、値を参照できていないのが原因かと思いますが、対処方法がわかりません。
■コンソールのエラーメッセージ
Uncaught TypeError: Cannot read property ‘orderDate’ of undefined
以上、アドバイスの程よろしくお願いいたします。