キンコミ kintone user community

みんなの投稿

2021/10/25 11:40

はじめまして、こんにちは。
アラートに関する相談です。

日付フィールドで他の日付へ変更があった際に、メールにてアラートを飛ばしたいと思っています。
プログラミングの知識が乏しいので、
標準機能で設定出来れば一番ありがたいのですが、javaで作動させる場合はお詳しい方コードをご教授いただけますと幸いです ┏○))

developerで調べたのですが、わからなかったので(> <)
宜しくお願いいたします。

2件のコメント (新着順)
koichi
開発
2021/10/26 10:25

しみこさん
こんにちは

特定のフィールド限定で変更通知を出すとなると、プラグインか自作カスタマイズになると思います。

かりんこラボ様の「変更通知プラグイン」で実現できるかもしれません。
変更通知プラグイン

自作カスタマイズの場合は以下JavaScriptとアプリ設定でも可能です。
ドロップダウンを使い、編集保存時に日付の変更がある度にドロップダウンの値(AまたはB)を切替えます。
このドロップダウンの変更をトリガーとしてレコードの条件通知を出すという方法です。

※手動でレコード編集保存した場合のみに動作します。CSVでの更新や他プラグインでの更新では動作しませんのでご注意ください。

(function() {

    'use strict';

    // 編集前レコード情報
    let prevRecord = [];

    // レコード追加画面の表示後イベント
    kintone.events.on('app.record.create.show', function(event) {
        let record = event.record;
        // レコード再利用を踏まえ初期化
        record.日付更新.value = undefined;
        return event;
    });

    // レコード編集画面の表示後イベント
    kintone.events.on('app.record.edit.show', function(event) {
        let record = event.record;
        // 編集前レコード情報
        prevRecord = Object.assign({}, record);
        return event;
    });

    // レコード編集画面の保存実行前イベント
    kintone.events.on('app.record.edit.submit', function(event) {
        let record = event.record;
        // 編集前と編集後の日付が異なる場合
        if (prevRecord.日付.value != record.日付.value) {
            // 現在の値が空ならAに、AならBに、BならAに更新(レコード通知のトリガー用)
            if (!record.日付更新.value) {
                record.日付更新.value = 'A';
            } else if (record.日付更新.value == 'A') {
                record.日付更新.value = 'B';
            } else if (record.日付更新.value == 'B') {
                record.日付更新.value = 'A';
            }
        }
        return event;
    });
})();

しみこ
2021/10/26 14:54

koichi さん

はじめまして、こんにちは!
かりんこラボ様のプラグインは初耳ですので、後ほど確認させていただきます!!
有力な情報をありがとうございます ┏○))

それから、
ドロップダウンとの組み合わせで設定するしくみ、
なるほどですね!
こちらも試してみたいと思います!

ご親切にありがとうございます(^_^)
上手く飛ばせたらご報告させていただきます!!

koichi
開発
2021/10/26 16:24

しみこさん

ご確認いただきありがとうございます。
解決に繋がりますと幸いです。
先の内容でご不明点ありましたらコメント下さいませ。

suji バッジ画像
2021/10/26 09:27

しみこさん

こんにちは。
メールでアラートを飛ばしたいのは
「(特定の)日付フィールドで他の日付へ変更があった際」のみということでしょうか?
「日付フィールドだけでなく、どのフィールドが変更されてもアラートが飛ぶ」
でいいのであれば標準機能で設定可能です。ご存じでしたら恐縮です。
https://jp.cybozu.help/k/ja/user/app_settings/notification/app_notification.html

ただ、「日付フィールド」以外の更新頻度が高いのであれば
なんか通知が多くて困る、になりますので、アプリの利用状況から考えてみてはどうでしょうか。

経験として、設計時は「あれもやろう、これもやろう」と結構細かい設定をしてしまうのですが、
蓋を開けてみたら、利用する側はそこまで細かいのいらないよ、になることが多く、
最初は緩めの設定から始めた方が後々の融通がききやすいです(遠い目)。


しみこ
2021/10/26 14:50

suji さん

はじめまして、こんにちは!
ご親切にありがとうございます!

今回は日付を変えた時のみにアラート設定をしたいと考えておりまして(> <)
既にたくさんのアラートを飛ばしているので、極力余計なものは省きたいと考えております💦

弊社も改良に改良を加え、何が何やらわからなくなっているような状況です(^_^;)
なるべくスマートに使用したいのですが、、
難しいですね!

引き続き奮闘したいと思います ┏○))
ありがとうございました(^_^)