今日は、通販用に申請したバーコードが届いた
その仕様は概ね次の通りである
1:バーコードは NW−7を使用する事
2:チェックデジットは7チェックを使う事
3:スタート・エンドはAで始まりAで終わる事
7チェックの計算は「データから7で割ったあまり」という一言。
参考ページ
>http://www.aimjal.co.jp/bclink/nw-7.htm
つまり
a12345678901xa
※xの部分がいわゆるチェックデジットとなる
手元に「ラベルマイティ」という便利なソフトがあり、これで自動的にバーコードで計算するのですが
何度やっても「エラーが発生する」
仕様を確認するべく、ジャストシステムのサポートページを見ると次の様に書いてある
「NW-7の7チェックは9桁まで」という
この9桁というのは8桁+チェックデジット1桁=9桁であり、9桁の数字+1桁のチェックデジットでは無い。
今回必要とする桁は12桁である故、9桁じゃ到底足りない。
結局、バーコードのひな形はエクセルで作る事にした
エクセルでの書式は次の通り(エクセル2003/2007/2010対応)
A1にチェックデジットを計算したい数字を入力
入力値:(99991234567)
B1でチェックデジットを計算して
書式:=mod(a1,7)
商は14284462081、余り0
C1に完成データを作ると言う場合
書式:=CONCATENATE("a",A1,B1,"a")
結果:a999912345670a
※B1を同時に記述する場合は下記のようにしても良い
書式:=CONCATENATE("a",A1,mod(a1,7),"a")
と表示されます。
本来はこういった機能がラベルマイティでできるべきですが、対応してない事もあり
やむなくこういった方法であります。
一言にこういう計算は、非常に難しいと考えがちですが、伝票番号の最後の1桁は0から6までしか無いのです。
それはこういうバーコードの仕組みであるとまた面白い発見ができると思うのです。
私は今後こういったサービスをどのように生かすか考えて行くばかりですが、世間ではこういうやり方を
「力業」とか「強引」と言った言い方をします。
ただ、こういう仕組みを一つ一つ知る事がこれからの技術知識の向上につながると確信しています