以下課題になっており、コミュニティを拝見しましたが解決できずご質問しました。
良案がございましたら、ご回答いただけますと幸いです。
実現したいこと
アプリAに添付ファイルフィールドがあり、アプリBへ添付ファイルフィールドをLookUpしたい
URL:https://developer.cybozu.io/hc/ja/community/posts/900001006786-%E3%83%AB%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%81%A7%E6%B7%BB%E4%BB%98%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%82%92%E3%82%B3%E3%83%94%E3%83%BC
こちらの動作でLookUpするだけでしたら問題ないのですが、さらに
アプリAに複数添付フィールドがあり、アプリBへLookUpする際にどの添付ファイルを反映させるかを
選択できないかと考えております。
イメージ例)アプリA:添付フィールド写真①、添付フィールド写真②があり
アプリBで取得ボタンをおすと、レコードを選択できかつレコード内の
写真①と写真②のどちらをBの添付フィールドへ反映するかを選択できる
上記どうぞよろしくお願いいたします。
早野友梨様
お世話になっております.
参考ページのコードでは,ルックアップコピー元アプリの添付ファイルフィールドのフィールドコードが固定値になっていますが,可変の値にすると良いかと思います.
例えば,下記の手順で実装できるかと思います.
1 添付フィールド写真①と添付フィールド写真②を選択するラジオボタンフィールド用意する.
フィールド名: ルックアップ画像選択
フィールドコード: ルックアップ画像選択
フィールドタイプ: ラジオボタン
選択肢: 添付フィールド写真①(のフィールドコード), 添付フィールド写真②(のフィールドコード)
2 コードを書き換える.
2.1 元コードの5行目を書き換える.
var originAttachmentsField = '添付ファイル';
↓
var originAttachmentsSelectField = 'ルックアップ画像選択';
2.2 元コードの20行目と21行目の間に記述を追加する.
if(!event.record[lookupIdField].value) return;
var client = new KintoneRestAPIClient;
↓
if(!event.record[lookupIdField].value) return;
var originAttachmentsField = event.record[originAttachmentsSelectField].value;
var client = new KintoneRestAPIClient;
江田様
ご返答いただきありがとうございます。
また丁寧に教えていただき、重ねてお礼申し上げます。
教えていただいた通り行ったところ、実現したいことができました。
重ねてになりますが、教えていただいたラジオボタンをチェックボックスへ変更し
添付ファイルを複数反映することも可能でしょうか?
イメージ例)アプリA:添付フィールド写真①、添付フィールド写真②、添付フィールド写真③があり
アプリBで取得ボタンをおすと、レコードを選択できかつレコード内の
写真①と写真②の両方をアプリBの添付フィールドへ反映することができる
何度も申し訳ございません。
初心者で申し訳ございませんが、ご回答いただけますと幸いです。
どうぞよろしくお願いいたします。
早野
早野様
お世話になっております.
チェックボックスの値でループを回せば,実装できるかと思います.
21行目
var originAttachmentsField = event.record[originAttachmentsSelectField].value;
↓
var originAttachmentsFields = event.record[originAttachmentsSelectField].value;
27行目
return kintone.Promise.all(originRecord.record[originAttachmentsField].value.map(function(originFileInfomation){
↓
return kintone.Promise.all(Array.prototype.concat.apply([], originAttachmentsFields.map(function(originAttachmentsField){
return originRecord.record[originAttachmentsField].value;
})).map(function(originFileInfomation){