別アプリの値をユーザー選択フィールドのような入力(ルックアップ)ができる機能

お世話になります。
表題の通り、他アプリの値をユーザー選択のような形式で入力できないか考えております。
そのようなことを何かの手段で実現することは可能でしょうか。

藤原さん

 

検索や選択でフィールドの値をセットするという感じでしょうか?

新規登録・編集画面ではフィールドに値をセットする方法が kintone.app.record.set() が標準的な対応になりますので、スペースフィールドにドロップダウンやテキストボックスを設置して、そこで選択・入力された値を kintone.app.record.set() でkintoneの文字列1行フィールドにセットするというのは常套手段かと思います。ドロップダウンであれば、optionタグをAPIからの取得データを使ってappendしますし、テキストボックスであれば、jQuery UIのauto-completeを使ったりします。

 

kintoneの元々のフィールドに直接選択肢や補完をつける方法も考えられますが、DOM操作等が必要となってきますので、いわゆるアップデートで動かなくなる可能性があります。

Ryu Yamashita様

ご返信いただきありがとうございます。

> 検索や選択でフィールドの値をセットするという感じでしょうか?
そういう感じです。
具体的にはテキストボックスに文字を入力をして、参照先アプリのレコード情報で名称やよみがななど設定した項目のどこかにヒットしたらヒットする度に候補に表示するイメージです。

GETで参照先レコードを全件取得して、その中から処理する……という形になるのでしょうか。

そうですねぇ。随時GETしながらauto-completeする方法も考えられますが、GETで引っ張る件数がさほど多くなければ、全件取得で一旦持ったものに対してauto-completeする方が良いかと思います。

jQuery UIのauto-completeとkintone.api()の組合せによる随時取得・補完を試したことがありますが、当時上手く動かせなかった記憶があります。随時取得はkintoneが1文字検索できないというところと相性も悪かったりしますし。

 

GETで引く件数が多いと検討の余地あり。で、悩ましいところですね。

Ryu Yamashita様

取得元データは1万件を超えるのでかなり無謀ですね……
面倒でも項目数分ルックアップフィールドを設置するしかないですかね。

1万件はちょっとつらい感じしますね。カテゴライズされているとすれば、カテゴリーに合わせてドロップダウンで絞り込んでいく等試してみるのもいいかもしれませんが、ちょっと手がかかりますね。

Ryu Yamashita様

カテゴライズされていないので、ここからして手がかかるところですね。
色々検討してみます。ご返答くださりありがとうございました。