「レコードを追加する」ボタン押下時に既存レコードの詳細画面に遷移する

お世話になります。

一覧画面の「レコードを追加する」ボタン押下時に、既存レコードの詳細画面に遷移することは可能でしょうか?

条件によって新規レコードを作成するのではなく既存レコードに編集して欲しいケースがあります。

よろしくお願いいたします。

古川様

お世話になっております。
cstapの江田です。

いくつか方法が考えられます。

レコード追加画面の表示イベント(app.record.create.show)内に、ある条件では既存レコードの詳細画面に遷移するという記述をする。
https://developer.cybozu.io/hc/ja/articles/201941984#step1
https://qiita.com/y-temp4/items/94727de9f2029a357e09
もし、一覧画面からきたかどうかが重要なのであればリファラーを確認する。
http://www.htmq.com/js/document_referrer.shtml

一覧表示イベント(app.record.index.show)内で、DOM操作をする。
ある条件では、クラス名「gaia-argoui-app-menu-add」の要素のhref属性を既存レコードの詳細画面のURLに書き換えるという記述をする。
https://developer.mozilla.org/ja/docs/Web/API/Document/getElementsByClassName
http://onlineconsultant.jp/pukiwiki/?%E3%83%AA%E3%83%B3%E3%82%AF%E5%85%88%E3%82%92%E5%8B%95%E7%9A%84%E3%81%AB%E6%9B%B8%E3%81%8D%E6%8F%9B%E3%81%88%E3%82%8B

2番の方法はkintoneの仕様変更の影響で動作しなくなる可能性も考えられるので、1番の方法をお勧めします。

cstapの江田様

いつもお世話になっております。

丁寧なご回答ありがとうございます。

上記1.の方法でやってみようと思うのですが、遷移先の詳細画面のURLの指定の仕方がわかりませんでした。

直近で作成したレコードの詳細画面へ遷移したいのですが、該当のレコード番号を取得したり他何か文字列を連結する必要があるのでしょうか?

たびたび申し訳ありませんが、よろしくお願いいたします。

 

古川様

お世話になっております。

はい、そのレコードのレコード番号を取得してURLに指定することになると思います。

 

(function(){"use strict";kintone.events.on("app.record.create.show",function(event){kintone.api('/k/v1/records','GET',{app:event.appId,query:'order by レコード番号 desc limit 1'},function(response){if(1){ //条件式location.href=location.href.replace("edit","show#record="+response.records[0].$id.value);}});});})();

cstapの江田様

お世話になります。

ソースコードまでつけていただいてありがとうございました。

やりたいことが実現出来ました。

本当にどうもありがとうございました。