キンコミ kintone user community

みんなの投稿

2021/06/05 11:47

Kintoneに関することを誰かと相談できる「キンコミ」ってほんとっ心強い!!!☆
ってことで、、、
またまた投稿させてくださいっ!!

社内から、誰かが変更した箇所のフィールドの文字を一覧上で赤く表示させることはできるのか??って質問がありました。

標準の範囲内では不可能であることは想定済み。。。
なんとか、ガリガリしたらできるのか!?

教えてくださーいい。。泣

2件のコメント (新着順)
tensin川岸
営業
2021/06/06 10:47

>誰かが変更した箇所のフィールドの文字を一覧上で赤く表示させること
「一覧上で」という条件を外しても良い(詳細画面で変更箇所を確認)という事であれば、
標準機能の変更履歴で「変更箇所を表示する」をクリックする事でハイライトされますよね。
既にご存じだったかもしれませんが念のため参考画像も添付しておきます。

「一覧上で」となるとrex0220さんで提供している「更新確認プラグイン」がありますね。
簡単な操作で設定完了でき複数のアプリ上で利用できるので便利です。
https://qiita.com/rex0220/items/e031167b4edb1fce36c5

自分でカスタマイズしていくという事であれば私は使ったことないのですが、
アールスリーインスティテュートさんが提供しているカスタマインで実現させるのも良いかも。
https://customine.gusuku.io/

で、そもそもなんですが、
一覧上で更新箇所が分かるようにしたいという要望が出てくるのは、
1.kintoneを見る頻度が低いから変更点がすぐ分かるように
 (低頻度=数日に1回とか1週間に数回とか)
2.データ量が膨大で全部見るのは不可能だから変更あるものが分かるように
 (膨大なデータ量=1日に数百以上のレコード登録とか)
3.注視するべき項目や指標がハッキリしていないから取り敢えず変更点が分かるように
のいずれか、もしくは組み合わせた状況である事が多いんじゃないかと思います。

カスタマイズしたりプラグイン使って直接的に課題解決する事も可能ですが、
JSの知識が必要だったりプラグイン導入にコストがかかったりしますし、
何よりも一度実装してしまうと以降のkintoneメンテナンスハードルが上がってしまうのがネック。
社内もしくは社外にその辺をサポートしてくれるパートナーがいるのであれば良いですが、
1人でkintone管理をしている場合は出来るだけ標準範囲内で解決策を模索するのが良いと思いますね。

例えば私が同じ立場だったら、
・kintoneには毎日ログインして情報確認してくださいとお願いしておく事
を大前提としたうえで、
・一覧機能:更新日時でソートした一覧を用意、一覧上に更新日時を表示させる
・ポータル/スペース機能:更新日時が表示された一覧をお知らせ欄に表示させておく
・通知機能:レコードの条件通知で重要な変更があった場合には該当者へ通知が飛ぶようにする(メール転送も併用)
・モバイル:kintoneモバイルを使ってもらう
これらを組み合わせる事で迂回的に課題解決を図っていくんじゃないかな、と思いました。

めいめいさんがどんな感じで課題解決するのか興味あるので続報も楽しみにしてます(笑


tensin川岸さん

自分でカスタマイズのコメントしておいてなんですが、tensin川岸さんのご提案に激しく同意します。カスタマイズは最後の手段として、実装はわたしも正直おススメしません。理由もtensin川岸さんと同じです。(自分で実験でやってみるのは大好き^^

今回は、必要な背景が気になりますね。なにか断れない事情があるのでしょうか。めいめいさんがんばってください。応援します。^^

rex0220さんの「更新確認プラグイン」そのものズバリですね。
自分でJS組むと、プラグインのしくみがあれこれ想像できてたのしいです。
なるほど、「更新確認リセット」の機能をつけたらいいのですね。私も実装してみようかな。^^

めいめい
2021/06/09 08:53

tensin川岸さん

いろいろと教えてくださりありがとうございます!!
確かに、プラグイン・カスタマイズの前になぜ要求されているのか?から
もう一度ひも解いていくことが必要ですね。

「複数作業者がいて、どんどん編集していくとその統括をしている人が随時確認できる環境ではないため、
一日に数回確認した際にパッとどこが変更されているかを確認できるようにしたい」
という内容だったはずです。

表示の形式が必要なのか、通知が都度来ていれば回避できるのか、、、
統括者が承認をする仕組みであればそもそも内容は「プロセス機能」を持たせるか?(あ、でも一度通ってしまったあとに編集しようとすると厄介か・・・)
担当者含め運用検討してみようと思います。。

みなさんの視点非常に参考になります!!!
ありがとうございます!!

めいめいさん

統括者が承認をする仕組みであればそもそも内容は「プロセス機能」を持たせるか?(あ、でも一度通ってしまったあとに編集しようとすると厄介か・・・)

ちょっと横道にそれますが、「プロセス管理」で承認後でも、編集するという運用もありだと思います。kintoneには強力な履歴を表示する機能が標準でありますので。

一般的なワークフロー製品のように承認後は変更不可という運用より、常識の範囲内で変更してもいいよーくらいのゆるい運用が個人的にはオススメです。

kintoneの「プロセス管理」は、ワークフローというより「見ました」のデーター印を押して部署内で観覧するような位置づけの方が扱いやすいんじゃないかと思っています。

そのへんの事をnoteに書いたことがありますので、参考になればうれしいです。^^

「プロセス管理」と「ドイツの鉄道には改札がない」という話 kintone
https://note.com/46u/n/nd52a31902a2e

めいめいさん

ガリガリしていいんならカスタマイズですね。^^;

方法としては「変更履歴をもてばよい」という事になりますが。。。

厳密に考えると、一回の変更も複数回の変更も同じ扱いでよいのか、一度変更してまた変更前と同じ値に変更した場合も変更とみなすのかなどの仕様の詰めが必要ですね。

で、ちゃんとしようとすると変更履歴データーを作成して。。。と大がかりなことになってしまいます。できたらやりたくない。^^;

詳細画面には詳細な履歴を確認する機能が標準でありますので、詳しくはそれをみるということで、とりあえず一覧では変更した場合の目印程度の簡単なロジックでやってみましょう。

新規追加時と変更時で値が違っていたら変更で赤字、もとに戻せば変更のキャンセル(変更はなかったこととして赤字にしない)とします。

【フィールド】
フィールド名:メモ タイプ:文字列(1行) フィールドコード:メモ
フィールド名:履歴 タイプ:文字列(1行) フィールドコード:履歴
フィールド名:グループ タイプ:グループ フィールドコード:グループ
✅フィールド名を表示しない
🟩グループ内のフィールドを表示する
※履歴フィールドをグループの中にいれてください

【新規】
「メモ」に入力した値を「履歴」にコピーして保存

【一覧】
「メモ」と「履歴」の値が違えば赤字とする。

JSは以下のような感じですかね。「履歴」はグループに隠しておくだけのゆるい仕様です。
利用する一覧からは「履歴」は外しておいたらよいと思います。
```
(function() {
'use strict';

//新規
kintone.events.on(['app.record.create.submit'], function (event){
  const record = event.record;

  //メモの値を履歴にコピー
  record['履歴'].value = record['メモ'].value;

  return event;
});

//一覧
kintone.events.on('app.record.index.show', function(event) {
  const records = event.records;
  const memo = kintone.app.getFieldElements('メモ');

  for (let i = 0; i < records.length; i++) {
      if (records[i].メモ.value === records[i].履歴.value) {
      } else {
          //変更を赤字にする
          memo[i].style.color = '#ff0000';
      }
  }

  return event;
});

})();
``
いかがでしょうか。
変更したけど赤字にしたくない場合は履歴を改ざんするという裏技も可能です。
^-^;`

もっとよいコーディングがあるような気もしますが、私自身JS経験も浅いですしとりあえず動いたレベルのものです。利用に際して大丈夫かどうかはすみませんが自己責任で。

特にこれフィールドが増えたら大変ですよね^^;ヤリタクナイ。どなたかよいアドバイスあればお願いします。m(__)m


めいめい
2021/06/09 08:45

西村 志郎 さん

とても詳しいアドバイスありがとうございます。。
JSで記してもらったことでイメージとは合致します!
が、、こうなったときはどうする?とかいろいろ出てきそうだから
もっと仕様を詰めるか、、、編集の際のルールで必要な人には通知するようにするとか
運用を再検討した方がよさそうですね。。。

分かりやすくご説明いただき本当感謝です(T_T)