初めまして。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;
});
})();
ミュートしたユーザーの投稿です。
投稿を表示kkkさん、2人いらっしゃるのでメンションなしですみません。
(できればアイコン設定いただけると助かります。)
「FormBridgeからのデータ投入用アプリ」をkkkさんが仰る「kintoneレコード」のデータのみのクローン(コードは一切入っていない)を介在させ、元の「kintoneレコード」にプル型のデータ更新⇔新規レコード作成(勿論、クローンアプリのデータ同期は必要)の処理を埋め込めむというのはいかがでしょうか?
クローンアプリを介在させることで、「kintoneレコード」のコードはFormBridgeから覗けなくなるのではないでしょうか。
あと、クローンアプリ(コチラ側)の更新などを「kintoneレコード」でイベント”監視”(例 更新日時を監視して、変わったら発火…など)すれば、webhook使用も回避できるのでは?と思います。
なお、小生、カスタマイズに関してはCUSTOMINE一択なのとそもそもFormBridgeを使っていない、かつ井上望さんが仰るようにココでのJSコードに関する話題は非推奨ということで、ジャストアイデアですみません🙇🏻
ミュートしたユーザーの投稿です。
投稿を表示お疲れ様です。
まず、レコードの更新については、マイページを使わないと、FormBridgeでは難しいと思います。
FormBridge内でkintone REST APIを叩く方法も出来なくはなさそうですが、「更新可能なAPIキーをコード内に晒す」ことになるので、セキュリティー上難しいと思います。
また、FormBridgeのカスタマイズは、コード内でプロミスを記述しても、各イベントは独立して非同期で動作するため、やるにしてもかなりやり方を考えないと実装が難しいです。
管理IDがkintoneアプリ内に存在するかについては、kViewerのAPIビュー(これは多分プレミアムじゃなくても作れる?)で既存の管理IDを見れるようにすれば、FormBridge側のカスタマイズでも判断できそうですが、APIビューの内容は、URLさえ分かれば誰でも閲覧できる(パスワード等で制限ができない、プレミアム以上ならIPアドレス制限はできると思います)ので、管理IDをインターネットに晒すことになりますし、その他の項目も公開する項目として選択していれば、そちらも見れてしまいますので、これもセキュリティー上難しいです。
また、キンコミではカスタマイズに関する話題は非推奨になっているため、具体的なコードに関する回答は期待できないと思われます。
個人的には、目的の作業は、連携サービスである「じぶんページ」が一番近い気がします。
こちらはアカウント数に応じた利用料が必要になります。
https://www.jibun-apps.jp/jibun-page/