Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
92
Help us understand the problem. What are the problem?
@sy250f

kintone 逆引き JavaScript カスタマイズ

kintone カスタマイズに関する情報は cybozu developer network にまとまっていますが、たくさんありすぎてどこから始めたら良いのか分かりにくいなと感じたので、基本の情報にしぼって、やりたいことから情報にたどりつけられるようなリンク集を作ってみました。

  • 開発ノウハウ *cybozu develoer network の公式のkintone開発ノウハウ集はこちらにあります。

cybozu developer network 以外の Qiita や他サイトの情報もありますので、リンクをたどる際は自己責任でお願いします。

リンクは気がついたときに、追加・更新していきます。
また、古い情報もありますが、歴史的な経緯もありますのであえて載せています。


重要

セキュアコーディング ガイドラインが改訂されています。(2020-08-12)
プログラム内部に認証情報を直接書く場合は注意が必要です。


kintoneの更新情報を知りたい


アプリの情報を取得する

アプリのアクセス権を取得したい


レコードを取得する

アプリのレコードを取得したい

アプリの全レコードを取得したい


kintone Promiseを理解したい

「Promise」ラベルの付いている記事

developer公式リンク

2020-03-29現在、

「フィールド値変更イベント以外のすべてのイベントで Promise 対応しています。」

つまり、フィールド値変更イベント(レコード追加と編集の .create.change.<フィールドコード>と .edit.change.<フィールドコード>)ではPromiseが使えません。補足すると、Promiseの最後にeventをreturnしてkintone側に処理を返すことが出来ません(エラーになります)。
ということで、フィールド値変更イベントの中で同期的に処理を行う場合には、kintone.Promiseを使って同期処理を書き、そのkintone.Promiseの処理の中で、 kintone.app.record.get() して kintone.app.record.set(record) します。
ちなみに、kintone.events.on()の注意事項として

kintone.events.on のインベントハンドラ内で kintone.app.record.set および kintone.mobile.app.record.set を実行することはできません。

とあるので、まとめると下記のような組み合わせになります。

  • [.change.<フィールドコード>]イベントを使う処理

    • 同期処理が必要無い場合
      • Promiseを使わずに、[return event] する。
    • 同期処理が必要な場合
      • Promiseを使う。
      • Promise内の処理中に、<.record.get(),set()> を使って作業中のフィールドの値を書き換えます。この時に通常の [return event] はしない。
      • [return event] すると、Promiseに対応していないのエラーが発生して処理が行われません。
  • Promiseに対応しているイベントの一覧 Promise 対応イベント

kintone Promiseの基本

参考

MDNのPromise関連リンク


レコードを更新する

一覧画面からアプリのレコードを更新したい

一覧画面で検索窓を設置して簡単に検索したい

詳細画面からアプリのレコードを更新したい

レコード一覧を操作する

カスタマイズビューを利用して独自の一覧を表示したい

アプリの一覧の情報を取得したい


詳細画面の操作

グループでまとめたフィールドを操作したい

レコード追加時のフィールド操作

  • フィールドの値を書き換える https://developer.cybozu.io/hc/ja/articles/201941984#step4 (※kintoneのJavaScriptAPIを使ったフィールド情報値の設定の基本のサンプルコードです。サブテーブルの行追加の方法についても載っています)

サブテーブルの表示を操作したい(DOM操作したい)

関連レコードの件数を取得したい

関連レコードを集計したい

CSVで出力したい

定期実行・自動実行させたい


テーブルについて理解したい

1.→2.→3.の順で見ていくのが良いかと思います。

  1. はじめようkintone API 第6回 テーブルの値を利用する   (最初はこちらで概要を理解)
  2. kintone Tips テーブル (詳細な事例はこちら)
  3. cybozu developer 内の「テーブル」ラベルの付いている記事 Tipsを含めた「テーブル」のラベルが付いた記事一覧

レコードコメントの操作

レコードのコメントを取得したい


画面の見た目を操作したい

Bootstrapを使いたい

CSSを適用したい

kintone UI Component を使ってkintoneライクなUIを実現したい

SweetAlertを使いたい


日付・時刻の操作

日付や時刻のフォーマットを簡単に行いたい


セキュアなコーディング

セキュアコーディングガイドライン

クロスサイトスクリプティングを防ぎたい

kintoneアプリ管理

アプリを管理したい

プロセス管理(ワークフロー)について理解したい


cybozu.comのユーザーやグループ、組織、役職の情報にアクセスしたい

cybozu.comのユーザーの情報を取得したい(User APIの利用)


カスタマイズが動かない原因を調べたい

デバッグをしたい


Google Apps Script 連携

Google Apps Script を使って連携したい


印刷関連

kintoneの標準機能では帳票系が弱いと感じますが、kintoneの帳票出力を強化するソリューションをまとめています。

kintoneの帳票出力をカスタマイズしたい

プリントクリエイター


その他

取り急ぎ分類せずにその他に入れていますが、気が付いた時に整理していきます。

カスタマイズビューを使いたい

kintone のJavaScriptAPI と REST API について知りたい

kintone の API の一覧を知りたい

フィールドごとのデータ取得、設定、更新情報が知りたい

初心者向けのチュートリアルで学びたい

jQueryUIを使ったカスタマイズ方法を知りたい

HTMLのタグやCSSのプロパティを調べたい

kintone JavaScript開発を効率化したい

TypeScriptを使ってカスタマイズしたい

Vue.js を使ってカスタマイズしたい

CDNを使いたい

開発事例を知りたい

Google Map を利用したい

jQueryの使い方を知りたい

kintoneポータル画面をカスタマイズしたい

kintone詳細画面に画像を張り付けたい


kintone カスタマイズ Tips

kintoneカスタマイズの注意点などの記事

kintoneアプリ設計CheatSheet


制限事項


認証情報について

CSRF関連

OAuth関連


外部サービスとの連携

外部連携サービス一覧1

AWS Lambda 連携

外部サービス・ライブラリ

kViewer

krew sheet

Excel連携

WordPress連携

Slack連携

qloba連携

Twillio連携

MFクラウド連携

じぶんページ

Backlog

LINE連携

位置情報連携


kintoneカスタマイズ環境


プラグイン開発


サイボウズ関連


Webhook

kintoneのWebhookを使った事例や、Webhookと組み合わせてノンコーディングを実現するサービスなど。


データマイグレーション


オンラインエディタ

関数を試してみたいときに使えるオンラインエディタです。


kintone環境のデプロイを自動化したい


ファイルをアップロードしたい


コマンドラインツール

cli-kintone


kintoneモバイル


kintoneの資格について知りたい

kintoneの認定資格について

資格取得の為の学習教材を知りたい

共通

アプリデザインスペシャリスト

カスタマイズスペシャリスト

学習の為のリンク


JavaScript関連

JavaScript標準情報

まずはここを見る

単体テスト(ユニットテスト)

Jasmine

素のJavaScriptでユニットテストを行う場合は、Jasmineのスタンドアローン版を利用します。
Jasmine standaloneからjasmine-standalone-3.6.0.zip
をダウンロードします。

  1. JavaScriptファイルを置いたフォルダに展開します。
  2. テストファイルをJasmineを展開したフォルダにある、srcフォルダに作成します。

随時更新していきます。


  1. cybozu developer network (https://developer.cybozu.io/hc/ja) からの記事 

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
92
Help us understand the problem. What are the problem?