キンコミ kintone user community

みんなの投稿

在庫管理アプリで困っています。
消耗品を品種別に一つのアプリで管理しています。
レコード作成時に『最新在庫』というチェックボックスに条件分岐プラグインを使い、保存時にチェックを入れるようにしています。また同様のプラグインで前回保存時のレコードのチェックを外す設定をしています。
しかし、過去のレコードを編集されないように、『最新在庫』チェックが入っていないレコード以外編集不可にしたところ、保存時に『権限がありません』となり、チェックも外れなくなりました。
おそらく、プラグインがチェックを外した後、編集権限が無くなったからと思いますが、このような場合、どのような回避方法がありますでしょうか?
皆さんの知恵をお借りできればと思っています。どうぞよろしくお願いします。

3件のコメント (新着順)
fuku_inu バッジ画像
製造業
2024/03/06 11:02

解決されたようで、よかったですね😀



一応、なんですが

編集不可にしたい理由として、過去の入出庫を間違いなどの理由で訂正しても、現在在庫数に反映さ> れないからです。

とあるので、入庫数・出庫数が数値フィールド、 在庫数(=残数)が計算フィールドかなと思いますが、
在庫数を集計表で計算してしまうという方法もありますよ。
最新レコードを把握する必要がありません😁

kopata
2024/03/04 08:20

単純に「Everyone レコード 閲覧 追加 のみ (編集 外す)」では駄目ですか?
最新レコード = 追加レコード でOKなら、これでいける気もします。
最新レコードに編集が必要になったら、編集するのではなく、また追加(複製してもよい)すればよい事かなぁと思いましたが、いかがでしょう?


かな
建設業
2024/03/04 08:48

確かに!
でも条件分岐プラグインの最新在庫☑の更新も出来なくなってしまうので、今回の条件としてはそぐわないかな…(;^ω^)

kopata
2024/03/04 09:30

最新在庫というチェックボックス自体が不要かなぁと思いました。詳しくは分かりませんが・・・

かな
建設業
2024/03/04 12:08

ん~、それはちょっと乱暴かもしれません。。
確かに作成日を新しい順(降順)で並べて、検索で引掛けて、一番上に出てきたものが最新だよ、という風にすれば良いかもしれませんが、PC操作に慣れていないユーザーは、膨大な商品の中から目視で確認しようとする人がいるかもしれません。(というか割といますよね、そういう人…苦笑)

チェックボックスないし何かしらのフラグがあれば、ユーザーの操作レベルに関係なく、「これがあるものが最新だよ」という注意喚起にもなりますし、手動で☑を更新しているのならまだしも、プラグインで完全自動化出来ているとのことですし、これについてはシステムで防げるヒューマンエラーということで、とやかく言うところではないかな、と思います。

コメントありがとうございます。
最新在庫チェックの意味としまして、一つのアプリに商品マスターからルックアップした複数の商品の入出庫レコードがあります。一覧で各商品の最新在庫(最新レコード)を表示したかったので、このようなチェックをつけました。

最新レコードのみ編集可能にしたかったのは、現場目線としては、入力直後に入力ミスに気づくケースはあり得るかなと思ったからです。
逆に過去レコードまで訂正されると、現在在庫に反映されず、過去と現在のレコードの整合性が取れなくなると思いました。またプラグインの動作の権限もあります。

経験不足の中で試行錯誤してみましたが、今回相談させていただいた点で、良い考えが浮かばずご相談させていただきました。

kopata
2024/03/05 08:41

一つのアプリに商品マスターからルックアップした複数の商品の入出庫レコードがあります。

つまり、商品Aの最新レコード、商品Bの最新レコードというように、アプリ内に複数の最新レコードが存在し得るという事ですね。
私の提案は最新レコードは一つという考え方なので、噛み合ってなかったですね。
失礼しました。

かな
建設業
2024/03/03 11:51

標準機能やプラグインだけだと、その設定では回避は難しいかなと思います。
最新在庫のチェックのON/OFFを完全にプラグインで行っている(人が触る必要がない)のであれば、編集不可にせずに、レコードの一番下にグループフィールド作って、「システム管理用」とかにしてそこに入れてしまうのが良いかと思います。
開いて触ることも出来ますが、グループフィールド自体が結構背景に紛れて見にくい(笑)ので、発見されずらいのと、「システム管理用」となっているものをあえて触る人は少ないかと…。
一応誰が触ったかは変更履歴に残るので、何かあった時はそこから確認すれば良いかなと思います。



もしそれでも怖い!
ということであれば、いっそ「最新在庫チェック」などの別のアプリを作って、そこで管理しても良さそうかな~、とは思いましたが、
ちょっと考えてみたところ条件的に、在庫の商品名(もしくは商品コード)が重複していないこと、かつルックアップを使用していることが必要そうなので、現在進行形でそうなっていないのならあまりおすすめは出来ませんね。。(変更が恐らくめちゃくちゃダルい…w)


かな
建設業
2024/03/03 11:58

あ、ちなみに、最新在庫のみの一覧も作っていると思いますが、(作ってなかったらごめんなさい)グループに入れてしまっても一覧に「最新在庫」を表示することは可能です。
詳細画面では一見分からないというだけですね。(それがダメだったら本当にごめんなさい。)

ご返信ありがとうございます。
ちょっと私の書き方がまずかったのですが、編集不可の趣旨として、レコード自体への編集を不可にしてます。(想定される状況として、あとから出庫数を間違っている事に気づき訂正などされない為。)

具体的な目的として、
最新のレコード以外を編集不可にしたい。
一覧で、商品別の最新レコードのみを表示させたい。
の二つです。

ややこしくてすみません、、

かな
建設業
2024/03/03 13:26

改めて確認ですが、JavaScriptでのカスタマイズは出来ない(設定する環境もない)という認識で大丈夫ですか?

完全に編集不可にするのは、緊急時に訂正できないというストレスを生むだけなので、あまりおすすめできないですね…。(kintoneへのハードルが上がるだけかと。。)
勝手に変更されると困るということであれば、変更処理がされたレコードは関係者に通知が行くようにすれば良いのでは…?

正直カスタマイズなしではかなり厳しいかなと思いますが、標準機能だけでやるとすれば、
①条件分岐プラグインの編集制限→「レコード編集ボタンを表示しない」に☑
②レコード自体を編集不可にするのではなく、プロセス管理を設定。
 ①未処理を「未登録」にして、作業者を作成者に限定
 ②「登録」させたら編集不可にする
  参考:https://jp.cybozu.help/k/ja/trouble_shooting/app_qa/permission_example1.html
 ※変更がある場合は「変更処理」などのプロセス管理も追加する。
  →変更されたことの通知を作成者と関係者に通知が行くようにレコード条件通知を設定。
 (上長の確認は特に必要ないのであればつけなくて良いと思います。)
③「未登録」のまま1日経ったものはレコード条件通知でアラートする。

登録処理の手間が入りますが、この辺りが落としどころかなと思います。
もしかしたら①の「レコード編集ボタンを表示しない」は不要かもしれないですし、ショートカット(e)知ってたら意味ないですが、一応保険です。

javascriptについては、知識も乏しく、重要度からも外注してまで実現しようとは考えていません。

編集不可にしたい理由として、過去の入出庫を間違いなどの理由で訂正しても、現在在庫数に反映されないからです。(その旨を周知しても一定数は過去データの修正をすると思われますが。訂正はレコードの追加で修正レコードを入れてもらおうと考えてます。)

プロセス管理案も良いですね!
やりたい事としては、穴がない案だと思いましたが、ご指摘のとおり登録の手間と承認忘れがやはり気になります。

アドバイスいただく内に思いついた案として、条件分岐プラグインにて、フィールドの編集制御をしようかなと思いました。

・実行条件に『最新在庫のチェック』がない事。
・実行される事は各フィールドの編集不可
(最新在庫のチェックを除く)
・最新在庫チェックは常に非表示

現状にこの条件を追加し、標準機能のレコードの権限を外せばやりたい事は実行できるのかと思いました。

一度試してみて、結果をご報告致します。

結果報告としまして一応上手くいきました。
上記の設定で過去レコードは編集不可に出来、最新レコードのみ編集可能になりました。削除については標準機能で、レコードの権限に『最新在庫のチェック』があるかないかで、削除権限を付与し、クリアできました。

色々アドバイスいただき助かりました!ありがとうございました😊