内田です。
現行のシステムでは、作業指図書にバーコードを印字しており、そのバーコードをスキャンして該当のデータを抽出し、データを更新しております。
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に変更すれば実現できました。
かつ、印刷画面表示のイベントに変えて、レコード詳細>印刷で実行し、既存のスキャナで読み取りできました。
ありがとうございました。