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

**URL:** <https://community.cybozu.dev/t/topic/7471>\
**Category:** kintone 開発相談\
**Created:** [2021 年 4 月 12 日午後 2:39 UTC](https://community.cybozu.dev/t/topic/7471 "2021-04-12T14:39:58Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account2666](https://avatars.discourse-cdn.com/v4/letter/l/54ee81/32.png) [@Legacy\_Account2666](https://community.cybozu.dev/u/Legacy_Account2666)\
**Post date:** [2021 年 4 月 12 日午後 2:39 UTC](https://community.cybozu.dev/t/topic/7471/1 "2021-04-12T14:39:58Z")

</div>

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

&nbsp;

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

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

&nbsp;

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

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

&nbsp;

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

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2502](https://avatars.discourse-cdn.com/v4/letter/l/e19adc/32.png) [@Legacy\_Account2502](https://community.cybozu.dev/u/Legacy_Account2502)\
**Post date:** [2021 年 4 月 13 日午前 7:15 UTC](https://community.cybozu.dev/t/topic/7471/2 "2021-04-13T07:15:50Z")

</div>

こんにちは

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

Bアプリのテーブルデータを一度取得([GET](https://community.cybozu.dev/hc/ja/articles/202331474#step1))し、配列に格納します。

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

その配列にAアプリのテーブルデータを追加し、Bアプリへ更新([PUT](https://community.cybozu.dev/hc/ja/articles/201941784#step1))をかけるといった流れでしょうか。

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

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

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

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2666](https://avatars.discourse-cdn.com/v4/letter/l/54ee81/32.png) [@Legacy\_Account2666](https://community.cybozu.dev/u/Legacy_Account2666)\
**Post date:** [2021 年 4 月 13 日午後 12:51 UTC](https://community.cybozu.dev/t/topic/7471/3 "2021-04-13T12:51:19Z")

</div>

[mionix](https://community.cybozu.dev/hc/ja/profiles/901169919586-mionix)様

ありがとうございます。

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

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

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2502](https://avatars.discourse-cdn.com/v4/letter/l/e19adc/32.png) [@Legacy\_Account2502](https://community.cybozu.dev/u/Legacy_Account2502)\
**Post date:** [2021 年 4 月 14 日午前 12:17 UTC](https://community.cybozu.dev/t/topic/7471/4 "2021-04-14T00:17:34Z")

</div>

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をうまく組み合わせてみてください！

---

<div class="post-metadata">

**Author:** ![Legacy\_Account2666](https://avatars.discourse-cdn.com/v4/letter/l/54ee81/32.png) [@Legacy\_Account2666](https://community.cybozu.dev/u/Legacy_Account2666)\
**Post date:** [2021 年 4 月 25 日午前 1:51 UTC](https://community.cybozu.dev/t/topic/7471/5 "2021-04-25T01:51:16Z")

</div>

コメント遅れました。

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