実現したいこと
kintoneにてjavascriptによるカスタマイズ処理を適用させたアプリを試作しております。
QRコードリーダープラグインを利用して、文字列(1行)のフィールドに値を読み込ませた後、
新規作成レコードまたは既存レコードの保存時(record.create.submitとrecord.edit.submit)に、
別アプリから情報を取得して値を更新するようにしたいです。
宜しくお願い致します。
処理概要と発生している問題
【処理概要】
1.新規作成レコードまたは既存のレコード画面を表示
2.QRコードリーダープラグインでQRコードを読み取り、文字列(1行)フィールドに値を入力した状態にする
3.保存ボタンを押下し、文字列(1行)フィールドをキーにして別アプリから情報を取得する。
4.レコード詳細画面が表示される。
【発生している問題】
新規作成レコードまたは既存のレコード画面にて、QRコードリーダーによって文字列(1行)のフィールドに値を
読み込ませて保存ボタンを押下しても、遷移先のレコード詳細画面には別アプリから取得した情報が反映されません。
該当のソースコード
javascript
1(function() { 2 "use strict"; 3 4 //PCで使う変数 5 var EventsChangeQRcode_PC = [ 6 'app.record.create.submit', //新規作成 7 'app.record.edit.submit' //レコード編集 8 ]; 9 10//---------- PCイベント処理 Start ----------// 11 kintone.events.on(EventsChangeQRcode_PC, function(event) { 12 //PCリクエスト用変数 13 var record = event.record; 14 var code_pc = record['QR_code'].value; //会員コード(QR) 15 var body_pc = { //別アプリから会員コード(QR)と一致する文字列を取得する(会員コード、会員名、性別) 16 "app": 1949, 17 "query": 'member_code = "' + code_pc + '"', 18 "fields": ["$id", "member_code", "member_name", "gender"] 19 }; 20 21 //”会員コード(QR)”入力時のクエリ処理 22 kintone.api(kintone.api.url('/k/v1/records', true), 'GET', body_pc, function(resp) { 23 24 //代入用の変数宣言 25 var member_code = resp['records'][0]['member_code']['value']; 26 var member_name = resp['records'][0]['member_name']['value']; 27 var gender = resp['records'][0]['gender']['value']; 28 var record = kintone.app.record.get(); 29 30 //代入処理 31 record['record']['cf_m_code']['value'] = member_code; //会員コード 32 record['record']['cf_m_name']['value'] = member_name; //会員 33 record['record']['cf_gen']['value'] = gender; //性別 34 kintone.app.record.set(record); 35 36 }, function(error) { 37 // エラー 38 alert("Error. Refer to the console."); 39 40 }); 41 42 return event; 43 }); 44//---------- PCイベント処理 End ----------// 45 46})();
試したこと
Kintone APIついては公式デベロッパーサイトから関連情報を参照しながら行っております。
Chromeのデベロッパーツールで処理を追うと、代入処理の kintone.app.record.set(record); まで
値は保たれておりますが、画面遷移すると保持した情報が消えてしまいます。
あなたの回答
tips
プレビュー