背景・実現したいこと
昨日ご質問させていただいた内容の続きになります。
今度は複数選択フィールドで選択した項目をもとに、別の文字列フィールドからデータを取得。
取得したデータを最終的には文字列(1行)で出力したいと考えております。
・[顧客管理]アプリ:参照先
チーム名:複数選択フィールド
担当課:文字列フィールド(※最終的に反映させたい項目)
・[ユーザーマスタ]アプリ :参照元
チーム名:文字列フィールド
担当課:文字列フィールド
<取得したいイメージ>
①[顧客管理]アプリの複数選択フィールド「チーム名複数」で、"A"と"B"を選択。
②[ユーザーマスタ]アプリにて、①で選択したチーム名に該当する「担当課」を検索。
A→1課、B→2課
③[顧客管理]アプリの文字列フィールド「担当課」に出力するときには、"1課,2課"と出力する。
上記のようにしたいのですが、そもそも値を取得する前段階でエラーで止まってしまい、どこをどのように修正したらいいのか全く判断がついていないのが現状です。
エラー情報 (開発者ツールのコンソール)
Uncaught ReferenceError: param is not defined
というエラーメッセージが出ていますので、そもそもGETで渡してあげるparamが間違っているようです。
利用したソースコード
**(function() {
'use strict';
kintone.events.on(['app.record.create.submit', 'app.record.edit.submit'], function(event) {
var record = event.record;
var teams = record['チーム名複数'].value;
var str = "";
// 複数選択フィールド「チーム名複数」で選択した項目が複数だったら
// カンマで区切って文字列にする
for (let o of teams){
if(str===""){
str=o;
}else{
str=str + "," + o;
}
}
var param = {
'app': 189,
'query': query
};
return kintone.api(kintone.api(
kintone.api.url('/k/v1/records', true),
'GET',
param
)
.then(function(resp) {
for(let i = 0; i \< records.length; i++){
var apprecs = resp.records[i];
// もし複数チーム名を選択したら、カンマで区切って文字列1行で表現する
if(record['担当課'].value){
record['担当課'].value = record['担当課'].value + "," + apprecs['担当課'].valueue;
}else{
record['担当課'].value = apprecs['担当課'].value;
}
}
return event;
}));
});
})();**
※下の方の処理までデバッグできていないため、あくまでできる想定で書いたコードになります。
修正点だらけかとは思いますが、
意図した通りに実現させるためにはどのように修正いいのか、ご教示いただけますと幸いです。