保存時に再度編集モード➔保存を実行したい

初めて投稿させて頂きます。

FormBridgeからkintoneへ値が入力されたタイミングで、再度編集 ➔保存という動作を行いたいです。

【流れ】
FormBridgeのフォームで入力された内容が、kintoneアプリ 該当レコードの各フィールドに登録されます。

その際、該当レコードが2回目に操作される時は、kintoneアプリのチェックボックス値が変わることにより『kintone 条件分岐処理プラグイン』で予め設定した「各フィールドの初期化」が動作します。

(レコードは繰り返し使用する為、一つのフロー完了後に各フィールドを空白状態へ戻します)

現状、kintoneアプリへの登録完了時にはプラグインが反応せず、手動でレコード詳細画面を編集モード➔保存とすればプラグインが反応する様です。
kintoneアプリに保存のタイミングでもう一度レコードを編集➔保存という動作を加えるにはどうすればよろしいでしょうか?

JavaScript初心者の為、どなたかご教示くださいます様 よろしくお願いいたします。

●試したJavaScriptコード

(function() {
    "use strict";
    // レコードの編集が成功したとき
    kintone.events.on(['app.record.edit.submit.success'], function(event) {
        // 編集モードにリダイレクト
        location.href = location.href + "&mode=edit";
        
        // ページがリダイレクトされるため、保存処理はタイミング調整が必要
        setTimeout(function() {
            // 保存ボタンをクリックする
            const saveButton = document.querySelector('.gaia-argoui-app-edit-save');
            if (saveButton) {
                saveButton.click();
            } else {
                console.error("保存ボタンが見つかりませんでした。");
            }
        }, 3000); // 3秒後に実行(リダイレクト後のページ読み込みを考慮)

        return event;
    });
})();

こちらのページの「イベントが発生するタイミング」にある通りなのですが、
イベントタイプ「app.record.edit.submit.success」は、ユーザーが画面上で「保存」ボタンをクリックした後に発生するイベントです。

また、おそらく『kintone 条件分岐処理プラグイン』も同じく「ユーザーが画面上で「保存」ボタンをクリックした時」等を条件に動作するようになっているものと思います。

そして残念ながら、kintoneには現在、ユーザーの処理を介さずに定時実行してくれる仕組みは無いようです :sob:

質問内容的には 「自動で『kintone 条件分岐処理プラグイン』を動作させたい」 って感じかと思いますので私の提案ですが

  • RPAアプリを別途導入し、定期的にkintoneアプリを確認、
    レコードが追加・更新されていたら「編集」→「保存」を行う。
  • google app scriptなどの定時実行できるサービスを使い、
    そちらでフィールドを直接更新するスクリプトを作成・自動実行する。
    →この場合、『kintone 条件分岐処理プラグイン』自体が不要になるかもしれませんが…

の2案くらいですかね…。

「いいね!」 1

puppetさん

ご回答ありがとうございます。そちらのページを参照しました。

このJavaScript API はkintoneアプリ内で動作させるAPIなので、おそらくイベントが発火せずに無反応だったのですね。

いろいろ調べて分かって来たことがあるですが、kintoneのWebhookで通知を受け取り kintone REST APIを使えば、もしかすると再保存処理が可能かも知れません。

ただ今の私には実現が難しそうで、代替案を頂けたことは本当にありがたいと思いました。
RPAでタスク実行させるというのは、ひとつの案ですね!
今できる形で完成させてみようと思います。

どうもありがとうございます。

「いいね!」 1

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。