いつもお世話になっております。
アプリAから値を呼び出し、アプリBで次回の訪問日までのカウントダウンを表示するプログラムを作成しています。
問題なく稼働するのですが、Error: app.record.detail.show is not allowed to return “Thenable” object が出てしまいます。
こちらを参考に改良してみたのですが、改善できません。
アドバイスをいただけますと幸いです。
よろしくお願いいたします。
(function() {
“use strict”;
var aAppId = 5; //台帳- [別アプリから更新]
console.log(‘test’);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
kintone.events.on([‘app.record.detail.show’,‘app.record.edit.show’], async function(event) {
var rec = event[‘record’];
var hako = rec[‘ID’][‘value’]; //更新用アプリID
//////台帳アプリGETの処理
var params1 = {
“app”: aAppId,
“id”: hako
};
// API呼び出し1回目
var resp1 = kintone.api(‘/k/v1/record’, ‘GET’, params1).then(async function(resp1) {
var A_houmon = await resp1.record.A訪問日.value;
if(rec[‘訪問先’][‘value’] == “A社” || rec[‘訪問先’][‘value’] == “B社” || rec[‘訪問先’][‘value’] == “C社” || rec[‘訪問先’][‘value’] == “D社” || rec[‘訪問先’][‘value’] == “E社”){
var kikan = 30;
var C1 = moment(A_houmon); //実施日のmoment化
var C2 = moment(B_houmon); //実施日のmoment化
var C3 = getYearMonth(C1);
var C4 = getYearMonth(C2);
var AvalDate = kikan - C3;
var BvalDate = kikan - C4;
kintone.app.record.getSpaceElement(‘Ahoumon’).innerHTML = " 次回の訪問日期限まで残り" + AvalDate + “日です。”;
console.log(‘30’);
}else{
kikan = 90;
var C1 = moment(A_houmon); //実施日のmoment化
var C2 = moment(B_houmon); //実施日のmoment化
var C3 = getYearMonth(C1);
var C4 = getYearMonth(C2);
var AvalDate = kikan - C3;
var BvalDate = kikan - C4;
kintone.app.record.getSpaceElement(‘Ahoumon’).innerHTML = " 次回の訪問日期限まで残り" + AvalDate + “日です。”;
console.log(‘90’);
}
}, function(resp1) {
event.error = ‘レコードの取得に失敗しました’;
kintone.app.record.set(record);
return event;
});
});
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//------------------------------関数部-----------------------------------
// 今日までの年月計算
function getYearMonth(dtDate) {
var dtToday = moment();
var dtFrom = moment(dtDate);
var years = 0;
var months = 0;
var day = 0;
//入力日が過去日付の場合計算
if (!dtToday.isBefore(moment(dtFrom), ‘day’)) {
months = dtToday.diff(moment(dtFrom), ‘months’) % 12;
day = dtToday.diff(moment(dtFrom), ‘day’);
}
return day;
}
//--------------------------------------------------------------------
})();