MoreBeerMorePower

Power Platform中心だけど、ノーコード/ローコード系を書いてます。

Power Apps の Canvas App Component で バーコード作成 (JAN/EAN/CODE-39)

f:id:mofumofu_dance:20210806141008p:plain

このような感じで、入力された13桁の数字から、JAN/EANのバーコードを生成するコンポーネントを作成しました。

ダウンロードは以下のコミュニティサンプルからどうぞ。

powerusers.microsoft.com

[Update 2021/8/6]

  • CODE-39への対応を追加しました。
  • チェックデジットの自動計算を追加しました。

作りかたのポイント

JAN/EANのバーコードは基本的には先頭1桁を除いた12桁の数字を、対応表に従って7本の黒いバーと何もない部分にマッピングしたものです。

例えば1という数字の場合には、

f:id:mofumofu_dance:20210806141623p:plain

左の6桁にあるか右の6桁にあるかの2通りであらわされます。今回のコンポーネントでも、このマッピングを使ってギャラリー上で黒い四角を表示するかしないかを制御しています。

実際には、1桁目の数字によって左の6桁をどうするかーというルールがありますが、難しい部分は以下の記事を参考にしてください。

piyajk.com

下図はギャラリーのItemsに設定した一部ですが、With関数を使ってテーブルをマッピング用のテーブルを埋め込んでいます。

f:id:mofumofu_dance:20210806142223p:plain

使い方

今回は Component libraryとして作成しています。 msappをダウンロードしてそれぞれの環境で開くとComponent libraryに保存されます。

コンポーネントの入力は "InputCode" と "AutoCheckDigit" です。InputCode に数字 (CODE-39であれば許可された文字) をいれてください。

AutoCheckDigitを有効にすると、JANの場合には自動計算された13桁目が付与/置き換えされます。 CODE-39の場合には自動計算の結果が末尾に追加されます。

おわり

原理を理解すれば意外と簡単なバーコードの実装でした!

チェックデジットの追加で少しゴチャつきましたが、基本はシンプルですね。