kintone Café JAPAN 2021で1時間建築をしたときのこと ~作る編その2~
前回の記事はとても長くなってしまいました。社員教育用にも使えるかもしれないと思いまして、しっかり書き始めてしまったのが原因です。
最初の記事はこちら
さて、アプリの設計まで終わって、下記のような方針が決定しております。
1-A)物理在庫数にあたるデータ項目を商品マスタアプリに追加する。
1-B)置場マスタはマスタ化するのはやめて選択項目にする。
2-A)商品CDと置場CDから棚卸CDという主キーを作成する。
3-A)商品マスタ側への棚卸データのフィードバックには、グラフ機能の表をCSV出力したものを利用する。
また要求事項は下記のようになっております。
製造段階はほぼやることが決まっておりますので、あとは調理の腕次第ということになります。1時間で作らなければいけませんから、あまり悠長にはしていられません。製造の方針としては、以下のステップを踏むことを心がけます。
STEP1)入れるハコを準備(アプリの作成と項目の設置)
STEP2)関係性を表現(データ構造の実現)
STEP3)使いやすくする(利用目的に合わせた最低限の機能追加)
考え方としては、STEP1-2でデータの構造を表現する。STEP3で使いやすくするという流れです。
ちなみに、これはkintoneだからできることです。
普通のシステム開発では、データベース設計や画面設計や内部処理など、さらに踏み込んだ設計段階を踏んで、お客様と合意をとりながら進めて行くことになります。つまり、最初からある程度の完成度を目指す必要があるのです。
しかし、kintoneでは高速に開発ができるため、開発の過程を示しながらお客様といっしょに進めることができます。
では作っていきましょう。
STEP1)入れるハコを準備
メインのアプリから作りましょう。「棚卸」アプリから作成していきます。
「新しく作成」から地道にアプリを作ってもよいのですが、「商品マスタ」と「棚卸」アプリのデータを比べてみます。するとかなりの項目が似通っているのが分かります。では「ほかのアプリを再利用」して作成します。
足りないのは棚卸CDと置場ですね。在庫数は分かりやすいように「現品在庫数」としました。不必要な項目は削除して・・・と。
商品CDは既にキーではなく、棚卸CDが新たなキーになるので、棚卸CDへ重複チェックを設定しなおします。
次に商品マスタの項目を変更します。
足りないのは、棚卸での集計情報からのフィードバックを受ける現品在庫数のフィールドと、棚卸差分の計算式です。
現品在庫数-在庫数を設定しました。デフォルトで0以下になったほうが差異が見やすいですからね。
つぎに、棚卸での集計処理を作ります。
現品在庫数を、商品CDでくくって出したいので、上記のように設定したグラフを作成します。
よし。これでデータを入れるハコの準備はできました。
方針を思い出して、順番に確認していきましょう。「2-A)商品CDと置場CDから棚卸CDという主キーを作成する。」だけができていないので、ここで実施していきます。
文字列結合プラグインをアプリへ導入し、上記のように設定します。
商品CDと置場を"-"でつないで棚卸CDとします。
これで、ハコの準備は完了しました。
STEP2)関係性を表現する
ハコの準備でデータの入力はできるようになりましたが、関係性が表現できていません。関係性とはデータ構造の図の「線」であらわされている個所です。
関係性を表現する方法はkintoneでは3つです。
1)ルックアップ
2)アクション
3)関連レコード
ルックアップ、アクションは入力に関する機能です。関連レコードは既に入力されたデータを表示するための機能です。
ルックアップがいいか、アクションがいいかは分かれるところですが、大きな違いは「どちら側から利用が始まるか」という点です。マスタ側から利用が始まる(マスタを見つけてから、入力を開始する)場合はアクションを利用したほうが良いことが多いです。追加・編集モードから利用を開始する場合はルックアップが良いです。
今回はマスタを見つけてからのほうが良いと思い、アクションを採用しました。デモではお見せできませんでしたが、QRコードを利用してマスタデータに直接アクセスできたりします。アクションのほうが必要な入力も少なくて済みますし。
今回は上記のように設定しました。
棚卸というボタンを押下すると・・・。
設定されたデータが自動連携されます。
これで、マスタデータからボタン一つで商品情報の入力ができるようになりました。
次に、関連レコードを設定します。関連レコードは今現在表示しているデータと同一の値を持つレコードを表示します。
商品マスタに設定した関連レコードは上記のようにしました。置場は店頭と倉庫の2種類なので、棚卸では最大2つのレコードがあるということになります。
棚卸アプリに設定した関連レコードは上記のようにしました。この関連レコードは自分自身に設定してあります。これで、置場が違う同じ商品を認識することができます。
商品マスタ。あんぱんが倉庫に19個、店頭に10個ある。
棚卸。倉庫で棚卸していると、店頭で棚卸している担当者が在庫を10で登録したことが分かる。
STEP3)使いやすくする
現在のアプリの形でも利用することはできるでしょう。あとはご要望事項に合わせて足りない機能を補っていきます。
優先度が高い「要望7:差異があったものだけ抽出したい。」が残っていますね。こちらは一覧機能を利用して、棚卸差分が0でないものを抽出すればできそうです。
それに伴って、一覧も整理が必要です。今までは在庫マスタとしての項目だけだったところに、在庫管理用項目も増えてしまったので、用途ごとに項目をそろえてあげる必要があるでしょう。
3つの一覧を作成します。「在庫一覧」はこれまでの用途に利用してきた、在庫のマスタデータとしての一覧です。「棚卸確認」は棚卸のフィードバックをうけて差分を見せるという機能を提供する一覧です。「棚卸確認(差異があるものだけ)」は差分があるものを抽出したものです。
差分が0でないものを一覧とします。
これで、業務に必須な機能が揃いました。
1)利用者は担当の置場へ行く。
2)棚卸マスタから商品を見つける。
3)「棚卸」のアクションボタンを押下して、在庫を入力する。
4)入力が完了したら、在庫数一覧から集計CSVを取得する。
5)CSVの読み込み機能で、集計値を現品在庫数へロードする。
6)差分一覧をみながら、差分のある商品について、確認、修正する。
7)差分がなくなるまで(あるいは差分が確定するまで)4~6を繰り返す。
8)最終的な現品在庫数を在庫としてデータ修正を行う。
さあ、次回はできるだけ要望をかなえつつ、無理な要求をかわすコーナーです。
お読みいただき、ありがとうございました。
この記事が気に入ったらサポートをしてみませんか?