みんなの投稿

2025/06/26 17:02

初めまして。kintone初心者で独学で色々作成しております。
手詰まりになってしまい、アドバイス等ございましたらご教示いただきたいです。

💡
【使用環境】
kintoneスタンダード、フォームブリッジプレミアム、kviewerライト
【実現したいこと】
formbridgeから投入した内容について、入力された管理IDフィールドの情報を元に、
kintoneレコードを検索し、存在するレコードがあれば該当するフィールドを更新、なけれな新規レコードを作成したい

【やったこと】
kintoneを使用し、進捗確認を実施したいと思っています。
外部からの入力があるためフォームブリッジを使用しています。
進捗は、細かく実施したく、kintoneの1つのレコード内に複数のフィールドを設定しており、
そのフィールドが更新されるたびに通知がほしい(kintone標準機能レコード通知を利用)ので、
formbridgeにて複数のフォームを作成し、1つ目のフォームが回答されたら2つ目のフォームに画面偏移する(管理ID情報を引き継ぎながら)といったJavascriptを書きました。
画面偏移については正しい挙動を確認済みです。

<実装ができていない部分>
複数フォームからの回答はすべてkintoneの同じアプリにデータ追加する形になっています。
現在は引き継いだ管理IDを元に、kintone側のアプリには同じ管理IDでそれぞれのフォームに設定したフィールドだけが更新されたレコードが複数登録される形です。

これを、管理IDをキーとしてkintoneアプリのレコードを検索し、存在するレコードがあれば該当するフィールドを更新、なけれな新規レコードを作成することはできるでしょうか?

フォームブリッジで作成したフォーム1からの入力は新規レコードの作成、
フォーム2以降ではレコードの更新をするといった動きを実現させたいです。

webhookなどを利用せずに実現可能な方法はありますでしょうか。
また、kviewerのマイページはプラン制限により使用できない環境です。
kintone初心者のため至らない点があればご教示願います。
よろしくお願いいたします。

<実行したコード>※管理IDを引継ぎながら画面偏移する
(function () {
formBridge.events.on(‘finish.show’, function(context) {
const record = context.getRecord();
const kanriId = record[‘管理ID’]?.value || ‘’;

// リダイレクト先を追加
const redirectUrl = ★偏移先のURL★?kanriId=${encodeURIComponent(kanriId)};

window.location.href = redirectUrl;
});
})();

2件のコメント (新着順)

kkkさん、2人いらっしゃるのでメンションなしですみません。
(できればアイコン設定いただけると助かります。)

「FormBridgeからのデータ投入用アプリ」をkkkさんが仰る「kintoneレコード」のデータのみのクローン(コードは一切入っていない)を介在させ、元の「kintoneレコード」にプル型のデータ更新⇔新規レコード作成(勿論、クローンアプリのデータ同期は必要)の処理を埋め込めむというのはいかがでしょうか?

クローンアプリを介在させることで、「kintoneレコード」のコードはFormBridgeから覗けなくなるのではないでしょうか。

あと、クローンアプリ(コチラ側)の更新などを「kintoneレコード」でイベント”監視”(例 更新日時を監視して、変わったら発火…など)すれば、webhook使用も回避できるのでは?と思います。

なお、小生、カスタマイズに関してはCUSTOMINE一択なのとそもそもFormBridgeを使っていない、かつ井上望さんが仰るようにココでのJSコードに関する話題は非推奨ということで、ジャストアイデアですみません🙇🏻


kkk
2025/06/27 13:09

Seal777さま

コメントありがとうございます!アイコン追加してみました!
クローンアプリについて、現在フォームブリッジからレコード追加されるアプリに対して
別のアプリ上で関連レコードを使い、見たい情報を集約しておりましたが、
そもそも元のアプリに更新/追加のボタンを設定するということですね!

またクローンアプリ側を本番アプリから監視しておくという点も思いつきませんでした。
(1処理ですべて繋がればいいと考えていたため)
いただいたアドバイスの中で自分でもできるカスタマイズを考えていきたいと思います。
ありがとうございます!

また、キンコミではカスタマイズに関する話題は非推奨とのことで大変失礼しました。
次回書き込みの際は気を付けます!

井上望
2025/06/26 18:16

お疲れ様です。

まず、レコードの更新については、マイページを使わないと、FormBridgeでは難しいと思います。
FormBridge内でkintone REST APIを叩く方法も出来なくはなさそうですが、「更新可能なAPIキーをコード内に晒す」ことになるので、セキュリティー上難しいと思います。
また、FormBridgeのカスタマイズは、コード内でプロミスを記述しても、各イベントは独立して非同期で動作するため、やるにしてもかなりやり方を考えないと実装が難しいです。

管理IDがkintoneアプリ内に存在するかについては、kViewerのAPIビュー(これは多分プレミアムじゃなくても作れる?)で既存の管理IDを見れるようにすれば、FormBridge側のカスタマイズでも判断できそうですが、APIビューの内容は、URLさえ分かれば誰でも閲覧できる(パスワード等で制限ができない、プレミアム以上ならIPアドレス制限はできると思います)ので、管理IDをインターネットに晒すことになりますし、その他の項目も公開する項目として選択していれば、そちらも見れてしまいますので、これもセキュリティー上難しいです。

また、キンコミではカスタマイズに関する話題は非推奨になっているため、具体的なコードに関する回答は期待できないと思われます。



個人的には、目的の作業は、連携サービスである「じぶんページ」が一番近い気がします。
こちらはアカウント数に応じた利用料が必要になります。
https://www.jibun-apps.jp/jibun-page/


kkk
2025/06/27 12:45

井上さま

早々にコメントいただきありがとうございます><!
まずはいまある環境にてできないかと思い、フォームブリッジとkviewerを使用した
外部フォームを作っていたので、「じぶんページ」の存在を知りませんでした。。!

1レコード内の各フィールドを都度更新できるのであればやりたいことが実装できるかもしれないので、じぶんページについて調べてみようと思います!
ただ利用料の部分はネックになりそうです;;

アドバイスありがとうございました!
またキンコミではカスタマイズに関する話題は非推奨とのことで大変失礼しました。
次回書き込みの際は気を付けます!