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に置いて参照するようにしています。
最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。
【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。
【PR】 「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター3年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Cybozu Days 2021「WeWork Japanが kintoneの導入ショック期を越え、利用定着するまで」セッションを観ました
2021/11/1のCybozu Days 2021に来ました。 初日のみの参加 …
-
-
Cybozu Days 2021「精鋭エンジニアによる kintoneカスタマイズ頂上決戦 「kintone hack NIGHT」ー混沌の闇に放たれし6つの稲妻、キントーン界の神々の戦いが今始まるー」を観ました
初日の最終セッションはkintone x hackでした。 会場では晩ごはんもい …
-
-
kintoneのレコードをPythonから条件クエリー(チェックボックス)で取得する
Google Calendar Twilio Reminderのkintoneの …
-
-
kintone Pythonでレコードをクエリ条件で取得
久しぶりにrequestsモジュール使ってGETリクエストを実行しようとしたとき …
-
-
「kintone Café 大阪 Vol.15 〜kintone Night Café 2017 〜」でLTしてきました
「kintone Café 大阪 Vol.15 〜kintone Night C …
-
-
kintoneの全フィールド(テーブル含む)の編集を不可にする
小ネタですが kinotneでとにかくフォーム上から全フィールドの編集を無効にし …
-
-
kintoneのカスタマイズ開発を超速にするCUSTOMINE
kintoneのカスタマイズについて kintoneは標準機能を使うだけでもアプ …
-
-
kintone開発者ライセンスを申し込む
kintoneにはkintoneのアプリケーション開発や検証を目的とした開発者ラ …
-
-
Cybozu Days 2021「kintone hive tokyo vol.14 <kintone AWARD ファイナリストによる事例講演>」を観ました
Cybozu Days 2021でkintone hiveセッションを観ました。 …
-
-
kintone Café 大阪 vol.12で企画/登壇しました
前回(vol.11)よりkintone Café 大阪の運営に参加させていただ …