狩猟ギルドの在庫管理その10〜これまでのまとめ〜

公開日:

こんにちは。サポートチームのほり🐰です。

これまで9回に渡って連載してきた狩猟ギルドの在庫管理、いったんこの10回目で区切りとさせていただきます。

今回は、物語調はやめて、これまでのお話の中で出てきたポイントをおさらい&解説してみたいと思います。過去のお話も併せてお楽しみいただければと思います。


その1〜kintoneで在庫管理をするんだ!〜

課題

Excelの一覧表の場合、関数で上の行からの差分を取れるけど、kintoneになるとそれが難しい。

やったこと

最新のレコードをアプリアクションでコピーしてから入出庫の登録をするように設定。

結果

ギルドメンバーには『最新のレコード』が何かがわかりづらく、『アプリアクションを使って次の登録をする』という運用も現実的ではなかったので失敗してしまった。

ポイント

管理人が考えてアプリを作ったものの、ユーザーであるギルドメンバーには直感的な操作ではなかった。

ほりの個人的見解☝️

在庫管理は現場が入力してくれることがまずスタートライン。入力しづらい、わかりづらい、ミスが起きやすいアプリの作りは論外!

その2〜テーブルに登録でてんやわんや〜

課題

kintoneのレコード単位で登録するから、アプリアクションでコピーして登録という運用になってしまう

やったこと

  1. アイテム単位のレコードにして、テーブルに入出庫の登録を行う
  2. カスタマインのカスタマイズでテーブル行の一番下に追加していく作りにした

結果

  1. 『テーブル行の一番下に登録していく』という運用がわかりにくかったという問題が出た。
  2. 『月締め作業ができないのでは!?』という問題が出た。

ポイント

テーブルで在庫管理はいろいろ難しい。

ほりの個人的見解☝️

短期的な入力だったらテーブルは見やすいけど、ずっと増え続ける入出庫管理にテーブルを使うのは現実的ではない。kintoneのテーブルは制約もあるので、レコード単位で扱うのがオススメ!

その3〜キーは適切に〜

課題

テーブルではない運用を考える必要がある

やったこと

  1. アイテムマスターアプリはルックアップ用として、別の入出庫アプリを作成することにした。
    アイテムマスタには在庫数を保存するフィールドを設けて、入出庫アプリの入力から自動的に計算ができるように工夫した。
  2. 似たアイテムがあるので、チェックボックスで種類分けを行った。

結果

  1. マスターと入出庫アプリで管理を分けることができた。
  2. レコード更新の時に種類違いのアイテムも同じアイテム扱いとなってしまい想定外のレコードも更新してしまった。

ポイント

マスターにはアイテムコードも登録して、ルックアップにはアイテムコードを使う。似た種類のものも別のコードで管理する。

ほりの個人的見解☝️

ルックアップをするときはアイテム名(日本語)の方がわかりやすいんですが、マスターとして管理するならやっぱりコードで管理すべきですね。コードだとわかりづらい点は、カスタマインで解決できないかを考えましょう。

その4〜ルックアップが取得できない!?〜

課題

アイテムごとにアイテムコードを登録したが、プルダウンからのルックアップの取得ができない状況になった。

やったこと

アイテムコードの「-」を消した

結果

プルダウン化したルックアップで自動取得が可能になった

ポイント

kintoneでは英数字の中に「-」が入っていると、その前後で別の単語とみなされるので部分一致してしまう。ルックアップで部分一致する状態だと自動取得ができない。

ほりの個人的見解☝️

このブログではアイテム名をもとにしたコードにしたのですが、今回のポイントにあるように、ルックアップのキーになるものは制約が出るので、あまり意味を持たせずに、単純な固定長のコードにした方が管理がしやすそうだなぁとか考えてます。

マスターのキーになるものなので、慎重に考えたいところですね。なんなら作り直しも考えながら徐々に進めていくのも手かと思います。

その5〜在庫の数が合わないぞ〜

課題

月締めをしたら、実際の在庫の数と台帳の数が合わない

やったこと

ギルドメンバーにヒアリングをしてレコードの変更を行ったことを突き止めた

結果

変更時に正しい値にならないような計算をするカスタマイズになっていたことがわかった

ポイント

レコードは追加ばかりではない。更新や削除の時にどうするかも考える必要がある。

ほりの個人的見解☝️

ユーザーはミスをするものという前提のもとでシステムを考える必要がある。

ミスしないようにする作りももちろん大事だけど、どうやったら調査・リカバリが簡単にできるのか?も考えながら構成を考えるのだ!

その6〜入出庫の編集の2重登録を防げ!〜

課題

レコードを後から更新した時にマスタの在庫数の計算が正しくできていない

やったこと

レコード編集前の値を取っておいて、保存後の値と足し引きする

結果

レコードを後から編集更新してもマスターの在庫数が正しい値になるようになった

ポイント

追加の時と更新の時と別々に考えること。
在庫数の計算は変更前の値と変更後の値と計算前の在庫数が必要。

ほりの個人的見解☝️

どういう計算したらいのかわからない時は、紙に書いて整理するのがオススメ。
いろんなケースを想定して、この時はこの計算になるよね?をいっぱい例に出して、それを機械的に置き換えるイメージです。

その7〜マスターの更新競合!?〜

課題

マスターアプリのレコードをメンテしようと更新をしたら、保存時にレコード更新の競合エラーが出てしまった

やったこと

在庫数をマスターレコード内で管理することが問題なので、在庫数を数えるためのアプリを別に作った

結果

入出庫とマスターレコードのメンテで更新競合することはなくなった

ポイント

意外と簡単にレコード更新競合は起きるので、レコード更新は誰がいつ行うのかを把握しておく

ほりの個人的見解☝️

マスターアプリは頻繁に更新しなくて良い作りにしておくべき。特に在庫管理はアプリ(役目)を分けて複数作っておく方がメンテも機能拡張もしやすいと思っています!

データ構成の最適化と、入力のしやすさ・見やすさは両立しづらいので、全てを兼ね備えたアプリを作ることは諦めて、役目に応じたアプリを作って連携するのがいいのかな〜と思ったり。

その8〜集計用アプリを作ってみる!〜

課題

月1回の棚卸し(月締め)のための集計アプリが必要になりそう

やったこと

棚卸し集計アプリを作った。

結果

ボタン1つで1月分の入出庫アプリのレコードを集計することができた。けど少し課題も残った。

ポイント

集計は、前月の在庫数(棚卸し在庫数)と入出庫アプリの今月分のレコード全件を全部まとめて計算する

ほりの個人的見解☝️

在庫数管理アプリにも当然、入出庫の都度の結果が残っているんだけども、月締めの時はそれとは別に入出庫アプリのレコードから再集計するのが良いと思っております。

というのも在庫管理では複数の集計方法を持っておいて、(実際のモノの数も含めて)それぞれで相互に結果を見て判断するということが必要だと思っていて、それによって正しさを証明できるのではないかと考えてます。

なので、都度計算している在庫管理アプリとは別に、1か月分の集計を行って結果を見ること、他に結果を見れるものがあればそれとも突き合わせて確認すべきかな〜と思います。注文アプリとか経理帳簿とか別の視点からも確認できると、在庫管理の土台がグッと強くなりますね。

その9〜集計用アプリと集計処理を見直そう〜

課題

前回作った集計アプリでは
・キーがアイテム名になってしまっている
・毎回レコード登録になりやり直しが難しい
という課題があった

やったこと

選択時はアイテム名だけど、実際の処理はアイテムコードを使うように改善。

集計用アプリにキーを設けて、やり直しの時は更新ができるように改善。

結果

  • アイテム名で選択するけど、レコード取得や更新はアイテムコードを利用する
  • 集計処理をやるたびにレコードが追加されず、2回目以降は更新になる
  • 集計に使ったレコードを履歴として保存する

ポイント

集計ではキーがとても重要

ほりの個人的見解☝️

月締めの集計って多分何回もやり直すと思うんですよ…数が合わないこともあるだろうし、入力漏れしてたのを追加登録してから再集計とか。

なので繰り返し行う作業ということを想定してカスタマイズを作るといいのかなと思います。

あとはこの計算に使った値はこれ!という証拠も必要なので、都度最新の情報が出てくる関連レコードではなくて、一度書き出したら更新しない限り値が変わらないテーブルに書き出すことをしています。


いい感じにまとめたかったので、何回かまとめ方を変えながら書き直したのですが、結局いい感じにはなりませんでした(敗北)

このまとめから気になったところを逆引きで読んでいただけると読みやすいかな、と思います。

在庫管理って会社や業種などで考え方が違うものなんですが、根本にあるものは同じだと思っていて、その根本・基本になる考え方を楽しく広めるにはどうしたらいいのかな〜と考えた結果、物語にしてお届けするというアイデアになったのですが、いかがだったでしょうか(*´ω`*)ドキドキ

在庫管理ってだけでも色々考えないといけないことがあるのですが、「kintoneで在庫管理」となるとさらにポイントが増えるなと思っていて、そこを中心に取り上げたつもりです。

kintone Café 大阪 with 岡山でお話ししたLTの内容も踏まえたものになっておりますので、内容が気になってた!という方もこの一連のブログを読んでいただけると、なんとなく把握できるようになっております。(一部紹介できなかった部分もあるけど)

開催レポートはこちら:kintone Café 大阪 with 岡山の開催レポート

在庫管理について考えるのはとても楽しいので、これからも機会があれば続編を描いていけたらなと思います。良かったよ!っていう方は、あまり期待せずに待っていてもらえればと思います笑

投稿者プロフィール

アバター画像
ほり
kintoneが好き過ぎる、自称帳票まにあ。
テクニカルサポートチーム所属。
「仕事をITでたのしく」をモットーに岡山県倉敷市から完全リモートワークしております!