作業報告書にバーコードを表示したい

内田です。

現行のシステムでは、作業指図書にバーコードを印字しており、そのバーコードをスキャンして該当のデータを抽出し、データを更新しております。

kintone上のレコード詳細でバーコード表示がされ、それを印刷する事で対応を検討しています。バーコードの種類は、「CODE39」です。

 

jQueryを使ったbarcodeモージュールが公開されており、これが利用できないか検討していますが、解決に至っていません。

本家サイト:

http://barcode-coder.com/en/

jQuery:jquery-1.3.2.min.js

jquery-barcode.js

 

上記のモジュールを使ってバーコード対応が可能かどうか

また異なるアプローチ(有償サービス以外で)があれば、教えてください。

 

よろしくお願いします。

 

uchida さん
cstapの瀧ヶ平です

ご呈示のjquery-barcode.jsで対応可能かと思います。

こちらを使う場合バーコードを直接画像として保存はできないようですが、印刷用なら問題ないかと。

滝ケ平さん

 

早々のコメントありがとうござます。

試した方法は、スペースIDに「barcode」を指定し、そこに変換結果のバーコード表示をさせる。

それで詳細レコードを印刷することがしたいが、バーコードが表示できないです。

 

「印刷用なら問題ない」は、どのような実現方法でしょうか?具体的に教えてください。

よろしくお願いします。

uhidaさん

jquery-barcode.jsでバーコードを表示する場合、画像として表示されるのではなく、HTML要素の内部に白黒の要素を生成することでバーコードを表現しているため、印刷する分には表示が崩れないならば問題ないという意味です。

コードがないので推測になりますが

$(kintone.app.record.getFieldElement("barcode")).barcode("123456", "code39");

という風に実行していればできるはずだと思います。

よろしければ書き途中のコードを可能な範囲で教えていただけると助かります。

滝ケ平さん

チュートリアルを参考にしながら、書いたものです。

JS初心者なので、おわらネタかもしれませんがよろしくお願いします。

 

(function() {
“use strict”;

kintone.events.on(‘app.record.detail.show’, function(event) {
var mySpaceFieldDiv = document.createElement(‘div’)
mySpaceFieldDiv.id = ‘barcode’;
$(kintone.app.record.getFieldElement(“barcode”)).barcode(“123456”, “code39”);
});
})();

 

uchidaさん

すいません、スペースフィールドを指定する場合は

kintone.app.record.getFieldElement("barcode");

ではなく

kintone.app.record.getSpaceElement("barcode");

ですね、失礼しました。

当該部分を修正すれば問題なく動くと思います。

また、jQueryオブジェクトの生成に直接Elementを指定する場合はセレクタで指定する必要がないので、5,6行目は削除しても問題ないかと思います。

滝ケ平さん

教えていただいたコードをもとに、SpaceElementに変更すれば実現できました。

かつ、印刷画面表示のイベントに変えて、レコード詳細>印刷で実行し、既存のスキャナで読み取りできました。

ありがとうございました。