kose
(kose)
2026 年 7 月 12 日午後 1:22
1
目下、Garoonのスケジュール情報の登録や変更時に、Kintoneアプリに自動転記するGaroon pluginを開発しつつあります。
ところが、Garoonの標準項目である”会社情報”の”会社名”の転記先のKintoneアプリでは、会社名をLookup型カラム としており、Kintoneアプリの入力時や、Kintone rest APIでのレコード更新で、入力制限があり、Garoonのスケジュール入力時に、”会社名”をスペルミスしてしまうと、その転記先のKIntoneアプリのレコード更新処理が、中断しています。
※添付画像の 赤い線で示した箇所 参照。
一方、”Garoonの予定とkintone アプリのレコード情報の紐付け ”機能で 追加した、”会社名”の方は、kintoneアプリのLookup制約に違反しないような値だけを入力できます。
しかしながら、この方法で追加した”会社名”という項目は、Garoonスケジュール標準項目の”会社情報・会社名”とは別項目であり、Garoonスケジュール標準項目の”会社情報・会社名”とは別に、2重に”会社名”の入力をすることは、避けたいと考えています。
※添付画像の 青い線で示した箇所 参照。
そこで、Garoonの標準項目である”会社情報”の”会社名”について、KintoneアプリのLookup制約に違反しないような値だけをGaroon画面で選択入力できるような、カスタマイズ方法が在れば、教えていただけませんでしょうか?
自分で調べた範囲では、Cybose社が提供している「GaroonのKintoneコネクタ」が、上記の対策に有用な機能が在るかのようにも 観えましたが、残念ながら「Kintoneから検索した結果を表形式で表示する」のであって、表形式で 複数候補が表示されるかもしれない”会社名”の内の1データを、Garoonスケジュール標準項目の”会社情報・会社名”に 格納できるような、対話操作を含むシナリオは書けないようでした。
ko_ji
(ko_ji)
2026 年 7 月 16 日午前 5:59
2
こんにちは。
手元で検証は出来ていませんが、以下のような処理を実装すれば実現できるのかなと思います。
garoon.schedule.event.getHeaderSpaceElement() で画面上部にドロップダウンと検索窓を設置
garoon.base.proxy.send でkintone REST API を実行してルックアップデータを取得
2.のデータからドロップダウンリスト生成
ドロップダウンリストのチェンジイベントで、5.以降の処理を実行
garoon.schedule.event.get() で予定データ取得
5.で選択された値をgaroon.schedule.event.set(event) で ”会社情報”の”会社名” ( companyInfo.name)に設定
イベントは下を使えば行けると思います。
kose
(kose)
2026 年 7 月 16 日午前 9:33
3
応答、ありがとうございます。
ko_ji:
2.のデータからドロップダウンリスト生成
提示された方法は、下記の観点で難しくなりそうなので、代替え実装を考えました。
★garoonのスケジュールの編集画面は、標準のままでは狭くてドロップダウンを追加しにくい
★もし、ポップアップ・ウィンドウにドロップダウン表示する場合、 画面遷移に合わせて Kintoneのlookup先からfetchした値をキャッシュしたり、kintoneのLookup先からの選択入力画面のような検索や絞込み機能も含む、リソース管理の追加も要りそうです。
★kintone REST API のQuery条件を組み立てるための、自作garoon plugin側でのconfig画面の設計など、「既に、Kintoneアプリ側のフォームレイアウトのLookup型のカラム定義情報として設定済みの情報を、手動で転記させるのか!」と言われることを避けるような、合理的なconfig設定画面の実装も、面倒。
そこで、とりあえず、下記の実装で、当初の課題(kintone側でlookupエラーが発生し、garoonイベントの保存が中断)は解消しました。
・Garoonの標準項目である”会社情報”の”会社名”に加えて 、
”Garoonの予定とkintone アプリのレコード情報の紐付け ”機能で 追加した、”会社名”も表示項目に追加し、garoonのKntone連携機能によるドロップダウンリストから、”会社名”を選択入力する。
・”変更を保存"のgaroonのイベントハンドラの中で、
”Garoonの予定とkintone アプリのレコード情報の紐付け ”機能で 追加した”会社名”の値を、
Garoonの標準項目である”会社情報”の”会社名”に、
をgaroon.schedule.event.set(event) で 上書きする。
・”Garoonの予定とkintone アプリのレコード情報の紐付け ”という、Garoon標準機能による設定を活用することで、自作garoon pluginのconfig画面の入力項目は、転記先アプリのアプリIDまで、設定項目を最小化できる。
※この方式の場合、リソース管理をgaroonに御任せできるので、安定動作はしますが、
見栄えは良くないので、エンドユーザに、許容できるか否かの伺いを立てています。
ko_ji
(ko_ji)
2026 年 7 月 16 日午後 11:00
4
代替実装について詳細に教えていただきありがとうございます!
確かに、私の方法だといろいろ考慮が足りていませんでした。。
koseさんの方法が管理もしやすいと思うので、エンドユーザーには許容してほしいですね