見出し画像

ハンディターミナルを使って棚卸(3)

以前は、紙とクリップボードを持ち歩いて商品在庫を記録していましたが、現在はハンディーターミナルを利用するようになりました。

そのデータを kintone で見られるようにしました。

今回は、そのつづきです。




CSV → kintone

kintone には、「ファイルから読み込む」という機能があります。
ハンディターミナルのデータはCSVファイルで保存されるので、
この「ファイルから読み込む」を使うことになります。

これを毎回やるのもなぁ。。。と思い、
kintone コマンドラインツール(cli-kintone)を使うことにしました。

コマンドプロンプトを起動してコマンドを実行するのですが、
これを毎回やるのもなぁ。。。と思い、
cli-kintone を Power Automate Desktop から実行することにしました。


おおまかなフロー

1. 変数を設定する

はじめに、CSVファイルがあるフォルダ名、kintone インポート用のファイル名など、フロー実行中に使用する情報を変数にセットしておきます。

変数の設定をフローのはじめに集約することで、メンテナンスもしやすくなります

kintone アプリに関する情報(アプリID、APIトークンなど)は、テキストファイルを用意しておいて、それを読み込むようにしています。


2. ファイル共有サーバから当該CSVファイルをコピーしてくる

ハンディターミナルから送信したデータを取りに行きます。
ハンディターミナルアプリの開発時に、CSVファイルの名前を決めておくことができます。決めておいたファイル名で検索して、一致したファイルを自PCにコピーしてきます。

また、cli-kintone で送信するときの見出し部分(フィールドコード)となるテキストファイルを先に用意しておき、このときに一緒にコピーしてきます。CSVファイルのデータに見出しに相当するものがないためです。

cli-kintone のあるフォルダにコピーしています


3. CSVファイルをマージする

見出し用テキストファイルと、データとしてのCSVファイルを結合して1つのファイルにします。データのCSVファイルが複数ある場合でも、1つのファイルにしてしまいます。
アクションの組合せでもできるのですが、DOS の TYPE コマンドを使用しました。


4. 日付のスラッシュをハイフンに変える

kintone の「ファイルから読み込む」では、スラッシュ区切りの日付を読み込むことができますが、cli-kintone では、ハイフン区切りしか受け付けてくれませんでした。
なので、マージしたファイルを変数に読み込んで、日付の区切り文字をハイフンに置換して、もとのCSVファイルに上書き保存します。

読み込み → 置換 → 上書き をしています


5. kintone にデータをインポートする

cli-kintone を実行します。先に コマンド文字列を変数にセットしておいて、DOSコマンドの実行アクションで実行します。

変数の値を使いまくってコマンド文字列を生成します


作ったコマンド文字列を実行します


6. ファイル共有サーバのCSVファイルを別のフォルダに移動する

kintone へインポート済みのCSVファイルが、そのまま同じフォルダ内に残っていると、次回実行時にも そのファイルを自PCにコピーしてしまいます。すると、インポート済みのデータを再度インポートすることになってしまいます。そうならないよう、インポート済みのファイルを保管用フォルダに移動します。
このとき、ファイル名の末尾にファイル作成時刻をHHmmss形式で追加します。詳細は省きますが、同じ名前のファイルが複数できてしまうのを防ぐためです。

1ファイルずつ、名前を変更してから別のフォルダへ移動します


これで、フロー終了です。


実行方法

日々の作業後、棚卸データが集まったら、Power Automate Desktop で、フローを実行します。

[ ▷ ] をクリックするとフローが走ります


実行後に追加のデータが送信されても、それまでのデータは別フォルダに移動してあるので、追加分だけを kintone にインポートすることができます。
(おおまかなフロー6のおかげです)


やってみて

1. 情報はフロー内に記述しない(ものもあり)

変数の設定のところで、kintoneのアプリIDやAPIトークンなどは テキストファイルから読み込むようにしていました。これにより、インポート先のアプリを試験用と本番用で切り替えることもできます。
テキストファイルを編集すれば、フローをいじくらなくても挙動を変えることができるということですね。これは便利だと思いました。

2.  日付の区切り文字

この記事を書きながら「もしや」と思って探してみたのですが、ハンディターミナルのアプリ開発ツールで、日付データ送信時の区切り文字を変更できる箇所がありました。ここで区切り文字をハイフンに設定しておけば、フローの一部が省略できますね。
取説をよく読むのは大事です。。。大事大事。

 

おわりに


これで、

  • ハンディターミナルでラクに記録

  • Power Automate Desktop でラクに kintone へインポート

  • kintone でデータを見やすく確認

が、できるようになりました。

1つのツールだけでなく、いくつか組み合わせることで、できることが増えていきますね。こうして毎日の仕事が少しでもラクになると、うれしいです。



最後までお読みいただき、ありがとうございます。

いいなと思ったら応援しよう!