新規投稿
フォローする

アプリ_Aの添付ファイルをアプリ_Bの添付ファイにコピーする方法

社員アプリ(社員コード、社員名、印鑑)を見積書アプリでルックアップ(社員コードを選択)社員アプリの印鑑(添付ファイル)フィールドを見積書アプリにの担当印鑑にコピーしようとしたらエラーなり、誰か助言の程、お願い致します。

社員アプリ

・社員コード

・社員名

・印鑑

見積書アプリ(今回試みている場所)

・担当コード(ルックアップ)

・担当ID(担当コードからコピーされる)

・担当者名(ルックアップからコピーされる)

・担当印鑑(今回の困りごと)

 

 

(function() {
  "use strict";
  var lookupField = '担当コード';
  var lookupIdField = '担当ID';
  var originAttachmentsField = '印鑑';
  var copyAttachmentsField = '担当印鑑';
  kintone.events.on([
    'app.record.detail.show',
    'app.record.create.show',
    'app.record.edit.show',
  ], function(event){
    kintone.app.record.setFieldShown(lookupIdField, false);
    event.record[copyAttachmentsField].disabled = true;
    return event;
  });
  kintone.events.on([
    'app.record.create.submit.success',
    'app.record.edit.submit.success',
  ], function(event){
    if(!event.record[lookupIdField].value) return;
    var client = new KintoneRestAPIClient();
    return client.record.getRecord({
      app: kintone.app.getLookupTargetAppId(lookupField),
      id: event.record[lookupIdField].value
    }).then(function(originRecord){
      return kintone.Promise.all(originRecord.record[originAttachmentsField].value.map(function(originFileInfomation){
        return client.file.downloadFile({
          fileKey: originFileInfomation.fileKey
        }).then(function(fileData){
          return {
            file: {
              name: originFileInfomation.name,
              data: new Blob([fileData], {type: originFileInfomation.contentType})
            }
          };
        });
      }));
    }).then(function(files){
      return kintone.Promise.all(files.map(function(file){
        return client.file.uploadFile(file);
      }));
    }).then(function(copyFileInfomations){
      return client.record.updateRecord({
        app: event.appId,
        id: event.recordId,
        record: {
          [copyAttachmentsField]: {
            value: copyFileInfomations
          }
        }
      });
    }).then(function (){
      return event;
    });
  });
})();
0

4件のコメント

Avatar
mls-hashimoto

1枚目の画像の「コンソール」の部分が見たいです。エラーが記載されているとしたらその部分で、コンソールから辿って行けばエラーの原因も掴めると思います。また1枚目の画像にドメインが記載されているので画像の差し替えか削除をおすすめします。

というわけで原因がすぐには割り出せないので予測ですが、ありがちなのは@kintone/rest-api-clientを読み込んでいないとかでしょうか。

0
Avatar
muto

mls-hashimotoさん

コメントありがとうございます。

https://cybozudev.zendesk.com/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

実はこちらのサイトで不思議と直りました。

下記のURLを足して動くようになりました。

https://unpkg.com/@kintone/rest-api-client@1.1.0/umd/KintoneRestAPIClient.min.js

 

0
Avatar
mls-hashimoto

muto さま

つまり@kintone/rest-api-clientを読み込んでいないのが原因ということですね。解決されたようで良かったです。

もう一度言いますが、画像の差し替えか削除をおすすめします。ドメインが映っているので、貴社のkintone環境にアクセスできてしまいます。

0
Avatar
muto

コメントありがとうごいます。

確かにドメイン名があるので、後程、削除して置きます。

アドバイスありがとうございます。

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