新規投稿
フォローする

ルックアップでテーブル内の添付ファイルをコピーする方法

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

こちらの記事を参考(※記事URL)に添付ファイルフィールドがない状態でのテーブル内容丸ごとコピーは実装できたのですが、

テーブル内に添付ファイルフィールドがあるコピーの場合はどのように記述すればよろしいでしょうか。

ご教授のほどよろしくお願いいたします。

 

【参考】

テーブルのフィールドコード:Table

ルックアップで連携用のフィールドコード:Number

 

記事にあるスクリプトそのまま利用しています。

(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.getLookupTargetAppId('Lookup');
    const targetRecordId = event.record['Number'].value;

    // ルックアップクリアをしたらテーブルを空にする
    if (!targetRecordId) {
      event.record['Table'].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'].value = resp.record['Table'].value;

      // サブテーブルを編集不可にする場合
      event.record['Table'].value.forEach(function(obj) {
        Object.keys(obj.value).forEach(function(params) {
          obj.value[params].disabled = true;
        });
      });

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

2件のコメント

Avatar
江田篤史

QG.Kさん

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

添付ファイルをコピーする場合は、
1. コピー元レコードの添付ファイルフィールドのfileKeyをもとにファイルダウンロード
2. ダウンロードしたファイルをアップロードして新しいfileKeyを取得
3. 新しいfileKeyをコピー先の添付ファイルフィールドにセット
とする必要があります。

下記が参考になるかと思います。
https://developer.cybozu.io/hc/ja/community/posts/900001006786/comments/900000807943

0
Avatar
QG.K

江田様

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

添付ファイルをコピーする際のフローのご提示ありがとうございます。

参考サイトにて確認してみます。

1
サインインしてコメントを残してください。