絞り込み結果のレコード一括取得について

絞り込みを利用したレコード一括取得が思うような挙動にならず困っています。

 

①クエリを作成しレコードを絞り込み

②絞り込み後、レコード一覧を取得し、別のアプリに一括で新規追加

という処理を作りました。

しかし、絞り込みは行われるのですが取得したレコードには絞り込み前のデータが入ってしまっています。

 

(function() {
“use strict”;
kintone.events.on(‘app.record.index.show’, function(event) {
if (document.getElementById(‘my_index_button’) !== null) {
return;
}

var myIndexButton = document.createElement(‘button’);
myIndexButton.id = ‘my_index_button’;
myIndexButton.innerText = ‘初期導入費の送信’;

myIndexButton.onclick = function() {

var condition = ‘日付_契約締結日 = LAST_MONTH()’;
var str_query = “”;
str_query = ‘?query=(’ + condition + ‘)’;

//検索結果のURLへ
document.location = location.origin + location.pathname + str_query;
//一覧を新規レコードとして追加

var records = event.records;
var Item = [];

for (var i =0; i < records.length; i++) {
var record = records[i];

var itemValue = {
“文字列__法人DL管理No”: { value: record[‘レコード番号_管理No’][‘value’] },
“ドロップダウン__請求項目”: { value: ‘初期導入費’ },
“数値__単価”: { value: record[‘計算_初期導入費用’][‘value’] }
}
console.log(itemValue);
Item.push(itemValue);
}
console.log(Item);
var params = {
“app”: 1, // ← 請求管理アプリのID
“records”: Item
};

};
kintone.app.getHeaderMenuSpaceElement().appendChild(myIndexButton);
});

})();

 

コードの間違い等あればご指摘いただけないでしょうか。よろしくお願いいたします。

ニトーニトー・パッチョー 様

こんにちは。

document.location = location.origin + location.pathname + str_query;

ここより下は、既に画面遷移で機能していないと思われます。

仮に機能していたとしても、3行名の

kintone.events.on('app.record.index.show', function(event) {

で、引数の event をそのまま利用されているので、データは遷移する前のものかと思われます。

 

回避方法としては、画面遷移前と画面遷移後を別々にして必要なタイミングで実行するか、kintone REST API を活用して作成された query を元に必要なデータを取得するかと思いますが参考になりますでしょうか?