質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

3420閲覧

【Kintone】新規・既存レコード保存時、保存ボタン押下でフィールド値を変更したい

R_saito

総合スコア12

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2019/07/02 13:27

編集2019/07/02 14:13

実現したいこと

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); まで
値は保たれておりますが、画面遷移すると保持した情報が消えてしまいます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問