質問ばかりで、申し訳ございません。
注文書のアプリを作成しています。
テーブル外項目:「企画コード」
テーブル内項目:「商品名」、「冊数」
テーブル名:「Table」
ステータス項目:「ステータス」
一覧画面で、「ステータス」が、「未出力」のものを引っかけています。
一覧画面にある「ダウンロード」ボタンを押すと、
表示されているレコード一覧(注文)がCSVで出力され、
ステータスを「出力済」に変更するという「javascript」を書きたいと思っているのですが、
どなたか、お助け頂けないでしょうか。
以下コードを応用して、リンクを押すとCSVダウンロードが出来る、
というところまでは行けたのですが、テーブル内の項目を出そうとしても、うまくいきません。
(function () {
“use strict”;
// 一覧ビューの表示イベント
kintone.events.on(‘app.record.index.show’, function(events) {
var $link = $(‘#download-csv’);
if ($link.length == 0) {
// ヘッダにリンクを作成
var $header = $(kintone.app.getHeaderMenuSpaceElement());
$link = $(‘<a id=“download-csv” href=“#”>CSVでダウンロード</a>’);
$header.append($link);
}
// エスケープ
var escapeStr = function(value) {
return ‘"’ + (value? value.replace(/“/g, '”“'): ‘’) + '”';
};
if ((window.URL || window.webkitURL).createObjectURL == null) {
// サポートされていないブラウザ
return;
}
// CSVデータを作成
var csv = [];
var row = [‘ID’,‘column1’,‘column2’];
csv.push(row);
for (var i = 0; i < events.records.length; i++ ) {
var record = events.records[i];
row = [];
row.push(escapeStr(record[‘レコード番号’].value));
row.push(escapeStr(record[‘column1’].value));
row.push(escapeStr(record[‘column2’].value));
csv.push(row);
}
// BOM付でダウンロード
var csvbuf = csv.map(function(e){return e.join(‘,’)}).join(‘\r’);
var bom = new Uint8Array([0xEF, 0xBB, 0xBF]);
var blob = new Blob([bom, csvbuf], { type: ‘text/csv’ });
var url = (window.URL || window.webkitURL).createObjectURL(blob);
var fileName = “download.csv”;
if (window.navigator.msSaveOrOpenBlob) {
// for IE
$link.unbind();
$link.click(function() {
var retVal = window.navigator.msSaveOrOpenBlob(blob, fileName);
});
} else {
$link.attr(‘download’, fileName);
$link.attr(‘href’, url);
}
});
})();