公開日:
前提☝️
このブログの内容はフィクションです。
ほり🐰の妄想により書かれておりますので、多少の不整合には目をつぶって物語を楽しんでいただければ幸いです。
(ほり:サポートチーム所属の妄想うさぎ)
マスターメンテナンスに支障が出るし、kintoneの変更履歴もぐちゃぐちゃになってしまうので、アイテムマスターに在庫数フィールドを設けるのをやめました。
その代わり、在庫数管理アプリというものを作って、こっちに随時在庫数を更新していく仕組み。
これなら、頻度の高い入出庫アプリの追加更新との競合は起きにくいし、かなりよいものになったと思うんだよなぁ〜(毎度の自画自賛)
ただね、、、やっぱり棚卸しの時の月毎の集計も別のアプリでやった方がいい気がするんだよね。
というのも、kintoneのグラフの表で、今月分の入出庫数をまとめて見ることはできるんだけど、これだと、前月の棚卸し数を入出庫アプリに入れておかないといけなくなる。


もちろん、この入出庫アプリに棚卸し結果のレコードも登録しておけば、グラフの表でひと月分の集計はできるけど、集計の範囲は当月・前月くらいしかないので後から見直すのも難しいし、なんだかあまり良い形ではないと思う。



これが本当の8月末の在庫数ってことなんだけど。
これをちゃんと別のアプリにレコードとして取っておきたいなぁと思ったわけです。
ということで!
もう一個アプリを追加することにしました!

ひと月ごと、アイテムごとで1レコードで登録していく想定です。
集計前には、前月分の棚卸し(集計)済みの在庫数が載っているレコードが登録されていて、集計時には、そのレコードと、当月分の入出庫レコードをまとめて集計して、今月の在庫数を計算する仕組みにしたよ。

これを例えば、薬草で例えると、、、
当月分の入出庫レコードをまとめると-51
前月の棚卸在庫レコードの在庫数が134
全部足し合わせて、今月の在庫数は83となるはず、というわけ。

集計結果のレコードには、「YYYYMM」みたいな文字列を持っておいて、何年何月の結果がわかるようにします。
(そうしないと、前月棚卸しレコードが取得しづらいかなって思ったのです)
…とここまでを考えてはみたものの、どうやって実現するか。
まぁカスタマインさんで頑張るんだけどさ!
ボタンを押したら、全部のアイテムの集計をするのが理想なんだけど、ひとまず前月分の薬草の集計だけで考えてみました。
(これがうまくいけば、発展させて、一度に集計を行うようにする予定)
というわけで、カスタマイズはこんな感じになりました。
部分ごとにちょっと解説しちゃいます。(とはいえ、まだお試しの段階ではあるんだけども…)
まずは、実行用のボタンを設置して、ボタンを押したときに、集計対象をダイアログで選びます。
まだ、先月・薬草だけの集計の想定で考えているけど、将来的に他の選択肢でも集計できるように考えてみました。
(最終的には、ボタン1つでぜーんぶ自動化しちゃいたいんだけど!!!)

「先月」を選んだ想定で、集計範囲の日付を2つ取得します。
集計対象が「先月」なので、「前月月初」の日と、「前月末日」の日の2つを取得します。こうすることで、対象のレコード取得時に条件に使えるようになります!
今回の例でいうと、8月分の入出庫アプリのレコードを取得したいので8月1日〜8月31日が対象になります。
実行日が9月なので、前月の月初と月末の日付があればOKということです!
(2番のダイアログで「今月」を選んだら、ここは条件分岐する予定です⭐️)

条件に使う日付を取得できたので、「入出庫アプリ」から集計対象のレコードを取得します。

条件ビルダーの指定方法で見るとこんな感じ。

もう一個、集計アプリの方にある、前月棚卸し在庫が登録されたレコードを取得するために、更にもう一月前の日付を取得します。
今回でいうと、7月分の集計レコードを取得したいので、7月の日付が必要になります。
すでに計算済みである3番の前月月初(8月1日)の日付があるので、これを利用します!(1ヶ月前、というのは-1ヶ月後で取得できるよ〜)
そして、format 関数を使えば、日付から「YYYYMM」の文字列を抜き出すことができます。

条件ビルダーの指定方法で見るとこんな感じ。

今回が初めての集計だから、前回分のレコードは手動で追加しておきます。

このレコードと入出庫アプリのレコードと併せて計算するカスタマイズを行うと…

想定通りに動きました!!(∩´∀`)∩ワーイ
ただ、ちょっとまだ気にかかる部分があるんだよね。
- アイテムの指定を「アイテム名」でやっちゃってる←本当はアイテムコードでやりたい!
- 毎回、レコード登録しちゃうから、やり直したらレコードが増え続けちゃう。←いらないのを手で消してるw
特に、棚卸しして数が合わなかったときには、入出庫アプリを見直して修正して、、、みたいな作業を行うはずだから、集計も何度も行うと思うんだよね〜。
それに、集計した結果に、どのレコードを対象としたのかの履歴みたいなものもあったら…いいような気がするなぁ。
いつ集計したのか?みたいな記録もあったほうがいいよねきっと。(レコード更新日時とは別に)
そうすると、どういう修正をしたのか?っていう記録もあると良さそう…
ああああ気になることが多すぎる!
よし、これをベースにもっとよいアプリを作るぞ〜〜〜
用語解説
- ギルド
モンスター討伐要請を受け付ける機関。 - ギルドメンバー
ギルドを運営するメンバー。アイテム管理室の管理人もここに含まれる。 - ハンター
ギルドに所属する、モンスターを狩ることを生業としている人たち。
基本的にどこかのギルドに所属し、ギルドから依頼を受けてモンスターを討伐する。
登場人物ご紹介(ギルドメンバー)
- ほり
連載の主人公。kintoneアソシエイト取得済み。毎月のアイテム在庫管理に頭を悩ませている。 - さる
アイテム管理室の管理人の一人。ほりの良き相談相手。 - ギルド長
狩猟ギルド「粕玉ノ城」のギルド長。kintoneをほりにおすすめしてくれた人。
登場人物ご紹介(ギルド所属ハンター)
- 大剣使い:ゴウマル
大剣を豪快に振るう怪力の持ち主。重厚な一撃でモンスターを薙ぎ払う。 - 太刀使い:カエデ
流れるような太刀筋を持つ剣士。礼儀を重んじる武人タイプ。 - 双剣使い:ヒサメ
笑顔で駆ける小さな狩人。その刃は氷のように静かに獲物を貫く。 - ライトボウガン使い:スイレン
静かに獲物を狙い撃つ、沈着冷静な狙撃手。


投稿者プロフィール

-
kintoneが好き過ぎる、自称帳票まにあ。
テクニカルサポートチーム所属。
「仕事をITでたのしく」をモットーに岡山県倉敷市から完全リモートワークしております!
最新の投稿
gusuku2025年9月9日狩猟ギルドの在庫管理 その8〜集計用アプリを作ってみる!〜
gusuku2025年8月19日gusuku Everysiteを使って領収書発行ページを作ってみた
gusuku2025年8月5日狩猟ギルドの在庫管理 その7〜マスターの更新競合!?〜
gusuku2025年7月22日QRとJSON読み取りでいい感じの活用を考えてみた