やりたいこと
kintoneでjavascriptを使った処理を作成しています
あるレコードのテーブルの内容を更新するときに
別のアプリから情報を取得し、値を更新するようにしたいです。
処理概要
以下のような流れで処理を作成しています。
===
-
レコード内のテーブルに値(①)を入れる
-
<保存ボタン押下>
-
別アプリで①の情報を持つ別の値(②)を取得(kintone.api)
-
② を仕様に従って計算
-
レコードの該当箇所に計算結果(③)代入
>> 保存後、③が該当箇所に表示されている
===
状況
console.log()で確認したところ(下のソースの★)結果の代入は
出来ているように見えるのですが、保存完了後表示に変化がありません。
また、代入された値はブラウザを再読み込みして、もう一度保存処理をすると
ログ上では値が残っていますが(キャッシュ?)、
別のタブでHTTP Client ToolでGETしてみると③の値は消えています。
チュートリアルの「はじめようkintone API」第8回を参考に作成しました。
ここでは代入だけで更新できそうだったのですが、
レコードの更新APIを呼ぶ必要などありますでしょうか?
また、もしPUTが必要な場合bodyに変数は使えないのでしょうか?
(やってみたのですが入力エラーになってしまいました。)
何かお気づきの点があればご教授ください。
コード
※ 抜粋
kintone.events.on(['app.record.create.submit','app.record.edit.submit','app.record.index.edit.submit'], function (event){ var body= { "app":xxx, }; // ② 必要な値を取得 kintone.api(kintone.api.url('/k/v1/records', true), 'GET', body ).then(function(resp) { if (resp.records[0] !== null) { // レコード内のテーブルを一行ずつ呼び出す for(var j = 0; j < table_length; j++){ var record_length = resp.records.length; // j行目のテーブルデータの情報を持つ値を別アプリのデータから探す for(var i = 0; i < record_length ; i++){ //該当データが見つかったら計算 //テーブルに値を代入 record_table.value[j].value.ayaya.value = ayaya_value; record_table.value[j].value.hoyoyo.value = hoyoyo_value; // ★cosole.log() ← ここで確認しました。 } } } else{ } } ).catch(function(){ } ); return event; });
よろしくお願いします。


回答1件
あなたの回答
tips
プレビュー