Reports Connect for Kintoneを使って帳票を出力する際に、条件を付けたいと思っています。
テーブルの中の「出荷数」の項目が、0のものと、1以上のものが混在する場合に、0のものは帳票に出力せず、1以上のものは帳票に出力する。といったことを実現したいのです。
以下のソースの④のところで条件を指定すれば実現できるようなのですが、if文などを加えていろいろ試してはいるのですが、何分初心者なものでうまくいきません。どのようにすればうまくいくでしょうか。教えていただければと思います。(③の部分の、ボタンの表示の条件はできています。)
/*
* はじめに一覧印刷
*/
(function() {
//①ReportsConnectのライブラリーをロードする
load(“https://kps-reportsconnectk.herokuapp.com/js/kpsrck.js”);
//②ロード完了後kpsrc.setupReportを呼び出す
//(引数はReportsConnectのアプリIDと帳票レコード名)
waitLoaded(function(){
kpsrc.setupReport(46, “受注書”);
});
//③一覧表示時に、印刷ボタンが無ければ追加する
kintone.events.on(‘app.record.detail.show’, function(event) {
var record = event.record;
var check = record[‘チェック’][‘value’];
var tableRecords = record.内容.value;
var bt = document.createElement(‘input’);
bt.type = “button”;
bt.value = “印刷”;
bt.onclick = goPrint;
for (var i = 0; i < tableRecords.length; i++) {
if(record[‘チェック’][‘value’][0] === “チェック” && 1 <= parseInt(tableRecords[i].value[“出荷数”].value)) {
var btsp = kintone.app.record.getHeaderMenuSpaceElement();
btsp.appendChild(bt);
}
}
});
//④印刷ボタン押下時の処理。kpsrc.rcparms.kps_recidに現在のレコードIDを動的に設定し
//kpsrc.gorcprint呼び出す
function goPrint() {
kpsrc.rcparms.kps_recid = kintone.app.record.getId();
kpsrc.gorcprint();
}
//以下の関数はそのままコピペしてください。
// http ヘッダに要素を追加します
function load(src) {
var head = document.getElementsByTagName(‘head’)[0];
var script = document.createElement(‘script’);
script.type = ‘text/javascript’;
script.src = src;
head.appendChild(script);
}
// ReportsConnect がロードされるまで待ちます
var timeout = 10 * 1000; // ms
var interval = 100; // ms
function waitLoaded(callback,parm) {
setTimeout(function() {
timeout -= interval;
if (typeof kpsrc !== ‘undefined’) {
callback(parm);
} else if (timeout > 0) {
waitLoaded(callback,parm);
} else {
// abort
}
}, interval);
}
})();