kintone新規レコード追加後の自レコード更新、および自画面のリロード

フォーラムの皆様、お世話になっております。

掲題の件について、類似投稿を探したのですが、自分の状態と照らし合わせることができず、質問とさせていただきます。

 

目的は、レコード保存時、自レコード情報をもとに、自レコードの任意フィールドを更新することです。

編集(edit)時はうまくいきますが、新規登録(create)時はうまくいきません。

エラーの内容としては、レコードidがnullだということです。

awaitをしてしまっているから、create.submit.successの後に発行されるレコードidがnullのままなのでしょうか?

awaitを取り除くと、タイミングによっては処理が前後してしまう認識なので、どのように修正すればいいかがわかっておりません。

また、APIでPUTしたあと、自画面をリロードしたいのですが、この書き方をすると、アプリ画面が無限にリロードされてしまう?みたいです。 returnの前にするべきなのでしょうか?

色々と試して迷子になってしまったため、一度質問とさせていただきます。

何卒、よろしくお願いいたします。

(function() {
  'use strict';
  kintone.events.on(["app.record.create.submit.success", "app.record.edit.submit.success"], async (event) => {
  const record = event.record;
  const recordID = kintone.app.record.getId();
 
  //中略、任意の処理

        const params = {
          app: XXX,
          id: recordID,
          record: {
            "更新したいフィールド": {
          "value": "任意の値"
          },
        };
    await kintone.api(kintone.api.url('/k/v1/record.json', true), 'PUT', params);
  return event;
  });
location.reload();
})();

レコード追加画面でのみ上手くいかないのは、
kintone.app.record.getId()」がレコード追加画面に対応していないことが原因かもしれませんね。
event.recordId」を利用してレコード番号を取得されてみては如何でしょうか?

リロードはreturnの前にするべきだと思います。
私のブログのこちらの記事が参考になるかもしれないのでもしよろしければ読んでみてください。
「location.reload()」が想定通りの動作をしない場合の一助になるかもしれません。

たねまき様

ご回答いただき、ありがとうございます。

>「event.appId」を利用してレコード番号を取得されてみては如何でしょうか?

この方法で無事、レコード番号を取得することができました。

リロードについては記事拝読しましたが落とし込めておらず、取り急ぎお礼と、自レコードの更新部分までのコードを添付いたします。

 

(function() {
  'use strict';
  kintone.events.on(["app.record.create.submit.success","app.record.edit.submit.success"],async(event) => {
 constrecord = event.record;
 //↓これを変更しました。
 const recordID = event.recordId;
 
  //中略、任意の処理
       constparams = {
         app: XXX,
         id: recordID,
         record: {
           "更新したいフィールド": {
         "value":"任意の値"
          },
        };
   awaitkintone.api(kintone.api.url('/k/v1/record.json',true),'PUT', params);
 returnevent;
  });
//ここでのリロードは取り急ぎ消しました。
})();

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