レコードの一括取得について

<質問したいこと>

AとBアプリがあり、Aのアプリでボタンを押すと、現在の一覧のフィルタの条件を取得し、取得した条件のレコードを取得し、Bアプリの新規のレコードのサブテーブルのルックアップフィールドに代入していくには、どういうスクリプトを書けばよいのでしょうか?

すみません、教えてください。

 

<自分なりの考察>

上記について考えていたのですが、Aアプリ上で、ボタンを押して新規レコードを作成するだけはできているのですが、多分それは後半の方ですよね。

(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() {

let query = kintone.app.getQueryCondition();

//この先がレコードの取得だと思っています。

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

 

「第10回 REST APIを利用したレコード取得」をみて作成を試みたのですが、このサンプルのような使い方をするケースは少ないと思われること(読んでも「??」てなっちゃっています;)、またこの先自身においてこの手のスクリプトを沢山使うことになるのでマスターしたいです。

お忙しいところ恐縮ですが、ご教授の程、宜しくお願いします。

こもるー様

お世話になっております.
トヨクモの江田と申します.

こちらの質問が似た内容になるかと思います.
https://developer.cybozu.io/hc/ja/community/posts/900001089363

江田篤史様

初めまして、こもるーです。

返信が遅くなってしまい、大変申し訳ありません。

上記の内容ですが、大変参考になりました。

自分の環境でも実行することができました。

1件質問なのですが、サブテーブルではなく普通のフィールドで

ルックアップがあるのですが、

ルックアップフィールドには取得した値の代入についてはスクリプトの書き方が違うのでしょうか?

報告書No: {
value: record.報告書No.value
}

と書いているのですが、エラーが出ており、先に進めず。

「Uncaught (in promise) ReferenceError: record is not defined」

 

ちなみにルックアップは、重複不可にはなっておりますが、

このアプリについては入力されていないこともあります。

空白だったりする場合もあるからダメなのでしょうか?

 

こもるー様

お世話になっております.

エラーメッセージの通り,recordが未定義なためだと思います.

サブテーブル外のフィールドではループは回さず,ある1つのレコードの値を用いることになるかと思います.

報告書No: {
value: resp.records[0].報告書No.value
}

※1つのレコードに絞り込む条件がわからないので,簡単に「resp.records[0]」としています.

江田篤史様

お世話になっております、こもるーです。

上記件ありがとうございます。

お陰様で解決しました。

記載方法もありがとうございました。

これでスクリプトできます^^