複数添付ファイルのルックアップについて

以下課題になっており、コミュニティを拝見しましたが解決できずご質問しました。

良案がございましたら、ご回答いただけますと幸いです。

 

:arrow_forward:実現したいこと

アプリ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){

江田様

 

実現したい動作ができました。

本当にありがとうございます。

 

お手数をおかけいたしました。

 

早野