kintone JavaScript APIで新規レコード作成時にログインユーザーとその組織をフィールドにデフォルト値として登録する
よくやりそうなふるまいなので書き残しておきます。
create_userフィールドにログインユーザーを、
create_sectionフィールドにログインユーザーの組織(課とか部とか)をデフォルト設定したいとします。
ログインユーザーは素直に[kintone.getLoginUser()]で取れるので[app.record.create.show]イベント内で処理してしまえます。
ですが、組織情報は[/v1/user/organizations]APIをkintone.apiから実行しなければなりません。
なので実行は非同期となります。
そして、[app.record.create.show]イベントではPromiseは使えません。
なので、[var record = event.record]とは別にcallbackの中で[var record = kintone.app.record.get()]をしてそこに対して値を設定して[kintone.app.record.set(record)]しています。
[return event]では[function(resp) {}]の処理は反映出来ないのですね。そりゃそうか。ふむ。
もっといいやり方ご存じの方いたら教えてください〜。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
(function() { 'use strict'; kintone.events.on('app.record.create.show', function(event) { var user = kintone.getLoginUser(); var record = event.record; record['create_user']['value'] = [{ "code": user.code, "name": user.name }]; kintone.api('/v1/user/organizations', 'GET', { code: user.code }, function(resp) { var record = kintone.app.record.get(); var organization = resp.organizationTitles[0].organization; record['record']['create_section']['value'] = [{ "code": organization.code, "name": organization.name }]; kintone.app.record.set(record); }); return event; }); })(); |
ちなみにkintoneのJavaScriptは変更時にアップロードするのが面倒なのでAWSのS3に置いて参照するようにしています。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
「【Twilio x kintone 合同ハンズオン in 大阪】Twilio Studioとkintoneで電話受付システムをつくろう」に行ってきました
「【Twilio x kintone 合同ハンズオン in 大阪】Twilio …
-
Cybozu Days 2021「kintone hive tokyo vol.14 <kintone AWARD ファイナリストによる事例講演>」を観ました
Cybozu Days 2021でkintone hiveセッションを観ました。 …
-
Cybozu Circus Fukuokaで「なぜ御社のDXは進まない?!DXを阻む壁を突破する方法。」を見ました。
サイボウズ営業本部営業戦略部の木地谷さんと船井総合研究所DX支援本部DX推進室の …
-
Cybozu Days 2021「精鋭エンジニアによる kintoneカスタマイズ頂上決戦 「kintone hack NIGHT」ー混沌の闇に放たれし6つの稲妻、キントーン界の神々の戦いが今始まるー」を観ました
初日の最終セッションはkintone x hackでした。 会場では晩ごはんもい …
-
Cybozu Days 2021「WeWork Japanが kintoneの導入ショック期を越え、利用定着するまで」セッションを観ました
2021/11/1のCybozu Days 2021に来ました。 初日のみの参加 …
-
「kintone Café 大阪 Vol.14 〜モザイクなし!うちのkintoneはこれだ!〜」で登壇しました
「kintone Café 大阪 Vol.14 〜モザイクなし!うちのkinto …
-
Cybozu Days 2021「ユーザーがリアルに語る 「すごくなくてもいい」 kintone 活用術」セッションを観ました
kintoneアプリを開発する時間がない キンコミに書き込まれた質問に答えていく …
-
kintoneの全フィールド(テーブル含む)の編集を不可にする
小ネタですが kinotneでとにかくフォーム上から全フィールドの編集を無効にし …
-
kintoneのカスタマイズ開発を超速にするCUSTOMINE
kintoneのカスタマイズについて kintoneは標準機能を使うだけでもアプ …
-
Cybozu Days 2021でR3インスティテュートさんのカスタマインのデモを観ました
kintone hiveでも数社の発表で出てきていたkintoneのプラグイン「 …