お世話になっております。
申込管理アプリでテーブルに注文内容を登録しています。
テーブル内の各JANコードのバーコードを作成したいのですが、
いい案が思いつきません。(詳細は下図の赤枠です)
テーブル外の空白スペースにバーコードを表示するにも、テーブルのレコードが何レコードになるかわからないので、スペースを事前に用意するにも数がわからず…
テーブルに空白スペースの列を作れたらよいですが、作れず…
何かいい案はございますでしょうか。
ご教授いただければ幸いです。
お世話になっております。
申込管理アプリでテーブルに注文内容を登録しています。
テーブル内の各JANコードのバーコードを作成したいのですが、
いい案が思いつきません。(詳細は下図の赤枠です)
テーブル外の空白スペースにバーコードを表示するにも、テーブルのレコードが何レコードになるかわからないので、スペースを事前に用意するにも数がわからず…
テーブルに空白スペースの列を作れたらよいですが、作れず…
何かいい案はございますでしょうか。
ご教授いただければ幸いです。
面白そうでしたの試してみました。ただJANコードで調べたところJANでの生成が見つからず、EANと互換しているとはありましたがあまり詳しくなく期待と違いましたら申し訳ありません。。
https://github.com/lindell/JsBarcode
のライブラリを使用しました。
①CDNとして、
https://cdn.jsdelivr.net/npm/jsbarcode@3.11.0/dist/JsBarcode.all.min.js
をアプリのJSカスタマイズに差し込みJsBarCodeを使用しました。
②テーブルに文字列2つ(数値で有効桁数限界あるよう?だったので文字列で)を用意しました。
フィールドコードは
テーブル:table
バーコードの数値用文字列:code
バーコードの表示用文字列:そのまま
③targetClassNameには表示用の文字列に与えられた クラス名 を与えてください。
文字列のフィールドを右クリック検証して、td下divに設定されていると思います。(行は何行目でも)
結構強引な表示になりますが。。
(function () {
kintone.events.on(["app.record.detail.show"],
function (event) {
let record = event.record
let table = record["table"].value
// 描写用の文字列に与えられているクラス名から設定
let targetClassName = ".field-54321"
// サブテーブル画面描写後に走らせる
setTimeout(() => {
let dom = document.querySelectorAll(targetClassName)
// テーブル数分回す
table.map((row, index) => {
// code数値の読み込み
let code = row.value["code"].value
// 文字列の位置へバーコード表示させるため、該当位置の中のspanを取得
let target = dom[index].children[0].children[0]
// svgタグの生成
let svg = document.createElementNS("http://www.w3.org/2000/svg", "svg")
target.appendChild(svg)
// JsBarcodeで描写。
JsBarcode(svg, Number(code),{format: "EAN13"});
})
}, 1000)
return event;
}
);
})()
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。