あるkintoneアプリ(アプリAとします)でレコードを登録する際、別のアプリ(アプリBとします)にもレコードを登録したいのですが、アプリBのデータもアプリA側で入力して一括で登録処理がしたいと考えています。
現在はカスタマイズ一覧機能を利用して自前の登録フォームを作成し、フォームがsubmitされた時にREST APIを使ってアプリAとアプリBにレコードを登録する、という実装をしていますが、これしか方法はないのでしょうか?
できればkintone標準の登録画面自体をJavaScriptを使用して加工したいのですが、それはできないのでしょうか?
ご存知の方がいらっしゃいましたら、ご教授いただけると幸いです。
斎藤様
回答ありがとうございます。
「レコード追加画面の保存実行前イベント」はご存知でしょうか?
はい。kintone標準画面を使うことができればそのイベントでアプリBにレコード登録を実行しようと考えていました。
ただ、アプリBには必須入力項目があり、その値をアプリAで入力させたいと考えているのですが、ここで入力したデータはアプリAには保存させたくないと考えています。
(この辺り説明が不足していました。申し訳ありません)
アプリAのkintone標準画面を加工して、アプリBの必須入力項目を入力できるフィールドを別途作ることができれば解決するのでは、とは考えているのですが、そのようなことができるかどうかがわからない状態です。
何かご存知でしたら引き続きご教授いただけると幸いです。
では、アプリAの登録画面にはアプリAに保存したくないフィールドも含めてkintone標準のフィールドを使うとして、「レコード追加画面の保存実行前イベント」において、入力された値をアプリBに登録しつつ、アプリAのそのフィールドの値をクリアしてしまうというのはいかがでしょうか?
フィールドとしては存在しますが、値は残らなくなります。
斎藤さんの提示されたやり方の他に、こんな方法もありますね。
Aアプリの詳細画面に、画面カスタマイズ用にスペースを1つ挿入しておき、そのスペースの要素を
https://cybozudev.zendesk.com/hc/ja/articles/201942014-レコード詳細情報取得#step6
で取得して、その要素にJSで画面を構築するという方法です。
アプリの入力項目がどれくらいの数で,エラーチャックが必要かなどいろいろ面倒くさいところはあるとおもますが。ご参考まで。
斎藤様、新妻様
回答ありがとうございます。
では、アプリAの登録画面にはアプリAに保存したくないフィールドも含めてkintone標準のフィールドを使うとして、「レコード追加画面の保存実行前イベント」において、入力された値をアプリBに登録しつつ、アプリAのそのフィールドの値をクリアしてしまうというのはいかがでしょうか?
フィールドとしては存在しますが、値は残らなくなります。
その方法も考えてはいたのですが、アプリAの無駄なレコードが空データとはいえ増えてしまうのであまりよくはないのでは、と考えていた次第です。
Aアプリの詳細画面に、画面カスタマイズ用に スペースを1つ挿入しておき、そのスペースの要素を
https://cybozudev.zendesk.com/hc/ja/articles/201942014-レコード詳細情報取得#step6
で取得して、その要素にJSで画面を構築するという方法です。
まさにその方法でできました。
スペースはてっきり詳細表示画面でしか使用できないものと思っていましたが、見落としていました…。
これで想定していたものが作れそうです。
お二方とも、本当にありがとうございました。