安全に在庫管理を行うテクニック2 - リビジョンを試そう -

フォローする

(著者:サイボウズ 竹内 能彦)

はじめに

今回は以前紹介させていただいた「安全に在庫管理を行うテクニック」を kintone アプリに実装します。

理解しやすいように在庫アプリと出庫アプリの2つを利用します。
「出庫アプリからXX個出庫すると在庫アプリの在庫がXX個減る」というカスタマイズを行います。

また、kintone Utility Library for JavaScript を使うことでREST API部分のコードを簡素化しています。
非常に便利ですのでこれからコードを書く人は是非使ってくださいね。

 

デモ環境

https://dev-demo.cybozu.com/k/276/

※デモ環境についての説明、アカウントとパスワードはこちら

 

結果

まずは結果から行きましょう!
在庫アプリはこのような状態です。

success01.jpg

 

出庫アプリに出庫数を登録すると・・・

success02.jpg

 

出庫アプリには出庫数が登録され

success03.jpg

 

在庫アプリからは在庫数が減りました!

success04.jpg

 

在庫が足りない場合はこのようなエラーを表示します。

error01.jpg

 

①「在庫数の確認時」と②「在庫数の変更時」のリビジョンが異なる場合(①と②の間に在庫のデータが更新された場合)はこのようなエラーを表示します。

error02.jpg

これで安全に在庫管理ができますね。

 

kintone 設定

「在庫」アプリの作成

フィールド名 フィールドタイプ フィールドコード 備考
商品コード 文字列(1行) itemCode

必須項目にする

値の重複を禁止する

商品名 文字列(1行) itemName

必須項目にする

在庫数 数値 stockNum

必須項目にする

 

「出庫」アプリの作成

フィールド名 フィールドタイプ フィールドコード 備考
出庫先 文字列(1行) destination  
商品コード ルックアップ itemCode

必須項目にする

関連付けるアプリ:在庫アプリ

コピー元のフィールド:商品コード

ほかのフィールドのコピー:「商品名」に「在庫アプリの商品名」

商品名 文字列(1行) itemName  
出庫数 数値 pickNum

必須項目にする

 

「出庫」アプリのJS/CSS設定

「アプリの設定 > JavaScript / CSSでカスタマイズ」の「PC用のJavaScriptファイル」に以下のURL/ファイルを設定します。

  • https://kintone.github.io/kintoneUtility/kintoneUtility.min.js
  • 以下のサンプルコードをエディタにコピーして、ファイル名を「sample.js」、文字コードを「UTF-8N」で保存、アップロードします。
    ※ファイル名は任意ですが、ファイルの拡張子は「js」にしてください

ポイントは以下の3つです!

  • bulkRequestを使って、2つのアプリ(在庫、出庫)を同時に操作します。
  • bulkRequestによる在庫アプリの更新時にはリビジョンを指定します。
  • bulkRequestが成功した場合は「return false」として、レコードの登録自体はキャンセルします。(82行目)

 

終わりに

リビジョンの使い方わかりましたでしょうか。
サンプルコードはレコードの登録、出庫にしか対応していません。是非レコードの編集や入庫にも対応させてみてください^-^

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

ログインしてコメントを残してください。
Powered by Zendesk