別アプリを更新するJSコード

(function() {
  'use strict';
  
  // kintoneのイベントを受け取る
  kintone.events.on('app.record.edit.change.金額', function(event) {
    // 変更されたフィールドの値を取得する
    var newAmount = event.record.金額.value;
    
    // kintone REST APIを使用してappID 101のレコードを検索する
    var query = '商品ID="' + event.record.商品コード.value + '"';
    kintone.api(kintone.api.url('/k/v1/records', true), 'GET', { app: 101, query: query }, function(resp) {
      if (resp.records.length > 0) {
        // レコードが見つかった場合は、A金額を更新する
        var record = resp.records[0];
        record['A金額'].value = newAmount;
        kintone.api(kintone.api.url('/k/v1/record', true), 'PUT', { app: 101, id: record['レコード番号'].value, record: record }, function() {
          console.log('更新が完了しました');
        });
      } else {
        console.log('レコードが見つかりませんでした');
      }
    });
  });
})();

appID"97"のフィールドコード"金額"を入力した場合、その値をappID"101"のフィールドコード"A金額"に入力して更新するというコードで、上記のコードだとうまくいかないのですがどこか間違っているところがありますでしょうか?

97の"商品コード"と101の"商品ID"が一致していた場合に更新するようにしています。

ご指摘いただけますと幸いです。

エラーなどが発生していないか一度確認してみてください。

https://cybozudev.zendesk.com/hc/ja/articles/4977994758297-kintone-JavaScript-%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E3%81%BE%E3%81%A8%E3%82%81

コード上にエラーが出てないか、API送信時の値は問題がないかなどをご確認ください。

また、今回のようなケースはSubmitイベントが個人的にはいいかなとおもいました。

理由はこちら

 

村濱様

ありがとうございます。Submitイベントにしたらうまく更新することができました。

 

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。