ドロップダウンフィールドの値を変更履歴として文字列フィールドへ反映させたい

お世話になります。

今回、変更履歴の閲覧が見づらいのでそれに代わるものができないかの

ご相談をさせてください。

 

考えているのはドロップダウンフィールドの変更が

履歴としてわかるように表示する方法です。

※更新日と更新者が入るとなお完璧です。

 

一つは

フィールド名:ドロップダウンA (設定値はX,Y,Z)

がAになったとき

フィールド名:文字列C

にドロップダウンAのXをコピー

上記と同じくドロップダウンA

がYになったとき

フィールド名:文字列D

にドロップダウンAのYをコピー

 

または

ドロップダウンAの値 X、Y、Zが

フィールド名:文字列Cに

変更されるのではなく

X、Y、Z

というようにどんどん、追加されていく

ことができればよいかと思っておりますが

こちらは出来るものでしょうか?

単なるコピーだと、都度変更されてしまうので

良い方法があればご教授願います。

 

もしかしたらドロップダウンの値が変更されるごとにテーブル追加、

または

プロセス管理に連携させられれば

プロセス管理のステータス変更は履歴が見られたりするかと思いますが

kmailerとの連携やほかの機能の連携により

ドロップダウンは外せないので、それに連動してくれる方法が見つかると

大変助かります。

よろしくお願いいたします。

 

追記ですみません。

具体的なイメージはこんな感じです。

これに更新日と更新者もコピーできないかと。

 

 

Riorio様

お世話になっております。
トヨクモの江田と申します。

下記で実装できるかと思います.

(function() {
  "use strict";
  var dropdown = 'ドロップダウンA';
  var loggers = {
    'X': '文字列C',
    'Y': '文字列D',
    'Z': '文字列E',
  };
  kintone.events.on([
    'app.record.create.change.' + dropdown,
    'app.record.edit.change.' + dropdown,
  ], function(event){
    if(!event.record[dropdown].value) return;
    var loggerField = event.record[loggers[event.record[dropdown].value]];
    loggerField.value =
      (loggerField.value || '') +
      event.record[dropdown].value +
      ' | ' +
      kintone.getLoginUser().name +
      ' | ' +
      new Date +
      "\r";
    return event;
  });
})();

いつもお世話になります。
ありがとうございます。
このパターンであれば
問題ないです!
テストしてみたいと思います。

動作確認できました!!

ありがとうございます。

こちら参考にさせていただき、文字列複数行へ

ドロップダウンの選択が変わるごとに

行ごとに変わっていく形にアレンジしてみました。

一つ、方法がわかればありがたいのですが

現在kmailerで送信後自動編集機能を使っており

それがどうも反映されません。

編集者が使用停止中のadministratorsになるからでしょうか?

使用中にするとできるのかなとも思いますが

これは不使用がデフォルトということで

ここが解決できると、完璧なのですが何かお分かりになれば

よろしくお願いいたします。

※kmailerではこのドロップダウンフィールドの

到着済 を選択するとメール自動送信となり、

その後、送信後レコード編集で

お見積り中

になるというような流れです。

 

 

(function() {
“use strict”;
var dropdown = ‘ドロップダウン’;
var loggers = {
‘新規受付’: ‘文字列__複数行__3’,
‘到着済’: ‘文字列__複数行__3’,
‘お見積り中’: ‘文字列__複数行__3’,
‘お見積りのご報告メール済み’: ‘文字列__複数行__3’,
‘修理中’: ‘文字列__複数行__3’,
‘経過のご報告メール済み’: ‘文字列__複数行__3’,
‘最終テスト中’: ‘文字列__複数行__3’,
‘完了’: ‘文字列__複数行__3’,
‘お見積りキャンセル’: ‘文字列__複数行__3’,
‘ご返却’: ‘文字列__複数行__3’,
};
kintone.events.on([
‘app.record.create.change.’ + dropdown,
‘app.record.edit.change.’ + dropdown,
], function(event){
if(!event.record[dropdown].value) return;
var loggerField = event.record[loggers[event.record[dropdown].value]];
loggerField.value =
(loggerField.value || ‘’) +
event.record[dropdown].value +
’ | ’ +
kintone.getLoginUser().name +
’ | ’ +
new Date +
“\r”;
return event;
});
})();

りんごちゃんさま
お世話になります。
こちらのスレッドではなく、
新規でタイトルと内容を細かく記載して
ご質問を行ってみてください。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。