AとBのアプリを作っています。Aは都度入力、Bは蓄積
Bアプリには最初から多数のレコードが入力されています。
レコードの中身は【商品No.】 サブテーブル【日付】【出庫数】【備考】
誰かがAのアプリに【商品No.】 サブテーブル【日付】【出庫数】【備考】を入力すると、
Bアプリの同じ【商品No.】のレコードの同じサブテーブルに追記していくという動きを実現したいと考えています。
素人で説明下手になり申し訳ありませんが、参考のソースなどを頂ければと思います。
AとBのアプリを作っています。Aは都度入力、Bは蓄積
Bアプリには最初から多数のレコードが入力されています。
レコードの中身は【商品No.】 サブテーブル【日付】【出庫数】【備考】
誰かがAのアプリに【商品No.】 サブテーブル【日付】【出庫数】【備考】を入力すると、
Bアプリの同じ【商品No.】のレコードの同じサブテーブルに追記していくという動きを実現したいと考えています。
素人で説明下手になり申し訳ありませんが、参考のソースなどを頂ければと思います。
こんにちは
試したことがないので私の考えになってしまうのですが、
Bアプリのテーブルデータを一度取得(GET)し、配列に格納します。
(そのまま更新してしまうと追記ではなく上書きされてしまうため)
その配列にAアプリのテーブルデータを追加し、Bアプリへ更新(PUT)をかけるといった流れでしょうか。
REST APIを使用したことがないのであれば、
まずはBアプリのGETを試し、できたらPUTと分けるとわかりやすいかもしれません。
既にお使いでしたら申し訳ありません。
ありがとうございます。
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をうまく組み合わせてみてください!
コメント遅れました。
お教え頂いたコードを元に、なんとか実現できました!
ありがとうございました。