別アプリのサブテーブルに追加

AとBのアプリを作っています。Aは都度入力、Bは蓄積

 

Bアプリには最初から多数のレコードが入力されています。

レコードの中身は【商品No.】 サブテーブル【日付】【出庫数】【備考】

 

誰かがAのアプリに【商品No.】 サブテーブル【日付】【出庫数】【備考】を入力すると、

Bアプリの同じ【商品No.】のレコードの同じサブテーブルに追記していくという動きを実現したいと考えています。

 

素人で説明下手になり申し訳ありませんが、参考のソースなどを頂ければと思います。

こんにちは

試したことがないので私の考えになってしまうのですが、

Bアプリのテーブルデータを一度取得(GET)し、配列に格納します。

(そのまま更新してしまうと追記ではなく上書きされてしまうため)

その配列にAアプリのテーブルデータを追加し、Bアプリへ更新(PUT)をかけるといった流れでしょうか。

REST APIを使用したことがないのであれば、

まずはBアプリのGETを試し、できたらPUTと分けるとわかりやすいかもしれません。

既にお使いでしたら申し訳ありません。

mionix

ありがとうございます。

Bアプリで(GET)してからAアプリへ(PUT)という流れはdeveloper networkを読んで何とか理解は出来ました。

ただ、商品No.の比較はどのようにすればよろしいでしょうか?

 

GETだとこんな感じでしょうか。

(function () {
  'use strict';
  var getRecord = function (itemNo) {
    var params = {
      app: 36, // BアプリId
      query: '商品No = "' + itemNo + '"',
    };
    return kintone.api(kintone.api.url('/k/v1/records', true), 'GET', params).then(function (resp) {
      alert('成功');
    }, function (error) {
      console.log(error);
    });
  };
  var events = ['app.record.create.submit.success'];
  kintone.events.on(events, function (event) {
    var record = event.record;
    var itemNo = record['商品No']['value'];
    return getRecord(itemNo);
  });
})();

'query’でAアプリとBアプリの商品Noが一致するもののみを取得します。

PUTは’updateKey’に商品Noを指定してあげれば更新できます。

GETとPUTをうまく組み合わせてみてください!

コメント遅れました。

お教え頂いたコードを元に、なんとか実現できました!
ありがとうございました。