Download - kintone devCamp Vol.10 ルックアップのことだけ、考えた。
![Page 1: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/1.jpg)
ルックアップのことだけ、考えた。
1
2016.08.03サイボウズ株式会社
システムコンサルティング本部関西 SC グループ
萩澤 佑樹
![Page 2: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/2.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu
• kintone ってアプリ間のデータ連携がクセあるなー
• いちいちカスタマイズでめんどくせーなー
• って方、挙手を !!
2
ところで
![Page 3: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/3.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu 3
先に謝っておきます。
ごめんなさい !!
![Page 4: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/4.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu 4
この資料では
頻出パターンの解決方法について逐次ググらなくても良いように
まとめました
![Page 5: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/5.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu
なぜルックアップを使うのか
5
• たとえば kintone で案件管理システムを実現しようとして
• 要求されるデータモデルが以下のような ER 図だと
• kintone では各エンティティ ( 顧客、案件、日々の活動 ) をそれぞれ 1 アプリで作成する場合が多い
![Page 6: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/6.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu
なぜルックアップを使うのか
6
• となると当然、子アプリでは親アプリのデータを利用してデータを作りたい ( なおかつ関連付けしたい )
• そういう場合に使うのがルックアップ
• 単純にルックアップの設定方法を知りたい人はこちら
便利に使おうガイドブックhttp://www.slideshare.net/cybozucommunity/kintonevol03
![Page 7: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/7.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu
• CSV ファイル読み込み機能が若干使いにくくなる
• REST API でルックアップフィールドの値を更新するときはAPI トークン認証 (X-Cybozu-API-Token) は使えないのでパスワード認証 (X-Cybozu-Authorization) を使う
• JavaScript API の app.record.***.change.<fieldcode> 系イベントではルックアップフィールドの変更を捕捉できない
• JavaScript API の app.record.***.submit 系イベントではルックアップフィールドの値を扱えない
7
ルックアップ使うときの注意点
![Page 8: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/8.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu
元々がデータコピー機能なので以下のケースでは要カスタマイズ
8
よく言われるパターン
2. ここを更新してもルックアップ先に値が同期されない
1. ここを変更したい
3. 絞り込み条件を変えたい
![Page 9: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/9.jpg)
ルックアップのコピー先フィールドを入力可能に変更 !
1.
9
![Page 10: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/10.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu
ルックアップフィールド使用時に
10
ここを変更したい
![Page 11: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/11.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu
実は devnet に書いてる
11
つまり、新デザインは編集可能
![Page 12: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/12.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu 12
デモ
![Page 13: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/13.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu
以下のレコード更新処理でルックアップフィールドを指定するとルックアップ元の値に戻ってしまう• REST API• CSV ファイル読み込み機能
13
このカスタマイズの注意点
ルックアップ元の値に戻ってしまう
![Page 14: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/14.jpg)
ルックアップ元の変更時にルックアップ先の値も更新 !!
2.
14
![Page 15: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/15.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu
ルックアップ元の変更時に
15
ルックアップ元の値を変更したけど
社員名簿アプリ
人事評価管理アプリ
コピー先フィールドは更新されない
![Page 16: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/16.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu 16
REST API でルックアップを一括更新
社員名簿アプリ 人事評価管理アプリ
JavaScript カスタマイズで• JS API の保存イベントで• 値の変更有無を確認し• 変更されていればルックアップ先
を一括更新
![Page 17: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/17.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu
• 第 11 回 REST API を利用したレコード更新https://cybozudev.zendesk.com/hc/ja/articles/204537310
• ルックアップ先が更新されてもルックアップ元が更新されないhttps://kintoneapp.com/blog/lookup_improvement/※ サイボウズスタートアップス株式会社のブログ記事です。
17
JavaScript コードはこちらを参考に
![Page 18: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/18.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu
分からなければ購入というのも手http://qiita.com/rex0220/items/573c462117ad4104c2cd
18
プラグイン
![Page 19: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/19.jpg)
自作ルックアップ !!!( 複数のワードの AND 条件で検索 )
3.
19
![Page 20: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/20.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu 20
デモ
![Page 21: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/21.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu
• 自作ルックアップ用のフィールドが若干冗長• ただ、それ以外は搭載されている API を使用している (DOM 操作
等が無い ) のでアップデートによる影響は受けにくい
21
このカスタマイズの注意点
![Page 22: kintone devCamp Vol.10 ルックアップのことだけ、考えた。](https://reader034.vdocuments.pub/reader034/viewer/2022042520/5873bcaf1a28abbc788b5a51/html5/thumbnails/22.jpg)
URL: https://cybozudev.zendesk.com/ © 2016 Cybozu 22
ルックアップで手の行き届かない点を解消するためには、
カスタマイズで乗り越える !!
まとめ