2023/07/22 11:19
初めまして、最近会社にkintoneを導入しようと準備をしております。
「日付」というフィールドにある日付と今日現在の日付を比較して何日経過したかをという日数を「数字」というフィールドに一覧表示時や詳細画面表示時に表示させたいのですが、下記のようなJavascriptを書いてみたのですが動いてくれません。何か簡単なことで引っかかっているのではないかと思うのですが、どなたかご指導いただけませんでしょうか。
(function() {
'use strict';
const ary_events = ['app.record.create.show',
'app.record.edit.show',
'app.record.index.edit.show',
'app.record.index.show'
];
kintone.events.on(ary_events, function(event) {
const record = event.record;
const now = new Date();
// レコードが一覧表示されている場合
if (event.type === 'app.record.index.show') {
record.forEach(function(record) {
const dateA = record.日付_0.value;
const diff = now - dateA;
alert(diff);
const diffDays = Math.floor(diff / (1000 * 60 * 60 * 24));
record.数値_1.value = diffDays;
}
} else { // レコードが作成または編集表示されている場合
const dateA = record.日付_0.value;
const diff = now - dateA;
const diffDays = Math.floor(diff / (1000 * 60 * 60 * 24));
record.数値_1.value = diffDays;
}
return event;
});
})();
ミュートしたユーザーの投稿です。
投稿を表示たつま0さん
ご希望の回答とはズレますが、本仕様をJSカスタマイズ以外の方法で実装されるのも検討されてはいかがでしょうか。
過去、類似する案件でディスカッションしたことがありますので紹介します。
https://kincom.cybozu.co.jp/chats/7vap4q53n6rkms2z
標準機能でも、当日日付(今日)の更新を手動、運用でカバーするのであればできそうです。
自動化が必須であれば、上記のようにGASを利用する方法や、プラグインやRPAを使う方法もあるかもしれません。
またkintoneで公式サポートしているcli-kinoneというコマンドラインツールで更新する方法なども考えられます。
https://cybozu.dev/ja/kintone/sdk/backup/cli-kintone/
いかがでしょうか。
JSカスタマイズは色々できて便利ですが、属人化しやすかったり、
kintoneの「ファイルから読み込む」では発火しないなどの注意点もありますので、
それらを踏まえて、色々な方法を検討されてはいかがかと思います。
もちろん結果JSもありです。^^
参考になれば幸いです。
ミュートしたユーザーの投稿です。
投稿を表示ミュートしたユーザーの投稿です。
投稿を表示forEachメソッドの閉じ括弧「)」が抜けてますね。
コードをカラーリングしてくれるテキストエディタをお使いでしょうか。参考までですが、私の使っているVisual Studio Codeだと添付ファイルのようにカラーリングしてくれます。15行目のforEachメソッドの開始括弧が赤く表示されていたり、22行目の波括弧に赤波線が付いていたりするのですぐにコーディングミスがわかります。
ミュートしたユーザーの投稿です。
投稿を表示ミュートしたユーザーの投稿です。
投稿を表示ミュートしたユーザーの投稿です。
投稿を表示こんにちは!
JavaScriptの話題は技術的なお話ですので
↓こちらでしたほうが回答がつくと思います〜👀
https://community.cybozu.dev/
ミュートしたユーザーの投稿です。
投稿を表示