kintoneのテーブルをルックアップしたい

いつもお世話になっております。

kintoneのテーブルをルックアップしてみた

やこちらのコミュニティを参考に複数のテーブルをルックアップしたくコードを作成してみましたが、うまくいきません。

一度は別アプリで成功していて、同じように変更したつもりなのですが…。

2つのアプリではテーブル名やIDは同じにしています。

ルックアップ用の項目のIDは「Lookup」にしています。

紐付用のIDも手動でもいれてみましたが取得できませんでした。

 

もしお気づきの点がありましたら、ご教授いただけますと幸いです。

よろしくお願いいたします。

 

jQuery.noConflict();
(function() {
'use strict';
const events = [
'app.record.create.change.Number',
'app.record.edit.change.Number',
];
kintone.events.on(events, function(event) {
const targetAppId = kintone.app.getRelatedRecordsTargetAppId('Lookup');
const targetRecordId = event.record['Number_kokyaku'].value;

// ルックアップクリアをしたらテーブルを空にする
if (!targetRecordId) {
event.record['Table_1'].value = [];
event.record['Table_2'].value = [];
event.record['Table_3'].value = [];
event.record['Table_4'].value = [];
event.record['Table_5'].value = [];
event.record['Table_6'].value = [];
return event;
}

const body = {
app: targetAppId,
id: targetRecordId,
};
kintone.api(kintone.api.url('/k/v1/record', true), 'GET', body, function(resp) {
event.record['Table_1'].value = resp.record['Table_1'].value;
event.record['Table_2'].value = resp.record['Table_2'].value;
event.record['Table_3'].value = resp.record['Table_3'].value;
event.record['Table_4'].value = resp.record['Table_4'].value;
event.record['Table_5'].value = resp.record['Table_5'].value;
event.record['Table_6'].value = resp.record['Table_6'].value;

kintone.app.record.set(event);
}, function(err) {
window.alert('REST APIでエラーが発生しました');
});
});
})();

ここの関数が間違ってる気がします。

正しくは getLookupTargetAppId かと。

const targetAppId = kintone.app.getRelatedRecordsTargetAppId('Lookup');

TK

ご指摘いただきましてありがとうございます。

さっそく訂正してみましたが、引用できませんでした。。

 

当初ルックアップ項目が含まれていたのでそれが原因かと思いましたが

引用データは、すべて文字列1行フィールドにしても白いままでした。

 

F12では特にエラーもなく、上記のように「取得されました」の表記もでます。

もしほかに初心者でやりそうなミスなど、お心当たりなどございましたら

お伝えいただけますと幸いです。

 

ここのNumberをNumber_kokyakuに変えてください。

これでも理想の動きにならなかったらrespにちゃんと値が入ってるかconsole.log()で確認してみてください。

const events = [
'app.record.create.change.Number',
'app.record.edit.change.Number',
];

TK様

早急なお返事をいただき、ありがとうございます!

ご指摘いただいた箇所を修正し、無事に引用することができました!!!!

 

何度も何度もテーブルのIDなどを見比べていたのに、肝心の頭の部分の訂正を見逃しておりました。

本当に基本的な部分を見落としておりお恥ずかしい限りです。

お力添えいただき、大変助かりました!!!何度感謝してもしたりません。

 

本当にありがとうございました!!

またなにかございましたら、ご教授いただけますと幸いです。

何卒よろしくお願いいたします。

TK様

お世話になります、佐野です。

ご指摘いただいた箇所を変更して、テーブルルックアップは問題なく動いたのですが

そのかわり別アプリからアクションでこのアプリに作成した場合に

サブテーブル内の1つの項目だけ引用されなくなってしまいました。

 

 

①アプリA→アクション→アプリB(テーブルルックアップアプリ)に新規作成

②Aでルックアップ、Bで文字列1行のフィールドのみ引用されず空欄

※他の文字列は問題なく引用されている

 

紐付用のID(Number_kokyaku)が空欄だと、問題なく

サブテーブル内のすべての項目が正常にアクションで引用されるため

プログラム内のなにかが

アクションの、ルックアップ項目→文字列1行の動作を邪魔しているのかな?と

素人ながら考えましたが、修正も要領をえず…

 

もしなにかお気付きの点がありましたら

ご指摘いただけますと幸いです。

よろしくお願いいたします。

Bアプリの複数テーブルあるとおもいますが、フィールドも複数あるのでしょうか?

もし複数フィールドがある場合、引用されなかったフィールドと同じテーブルの

他のフィールドには値が入っているのでしょうか?