新規投稿
フォローする

あるアプリから別のアプリの登録画面を呼び出す

中野と申します。

・あるアプリの詳細画面に配置したボタンで別のアプリの登録画面を起動する
・起動された登録画面では,
-元のアプリから特定の項目が引き継がれた状態になっている
ー元のアプリから引き継がれたルックアップ項目に対して「取得」が実行済みの状態になっている

という状態を実現したいのですが,どのようにすればよいかどなたかご教示頂けますでしょうか。

「アクション」の機能を用いれば,似たようなことができることは承知していますが,これだとボタンを任意の位置に配置できないため,javaScriptで実装することになるかと思っているのですが...
ルックアップについては,下記のURLにサンプルがあるような記載がコミュニティのやり取りの中にあったのですが,このURLが切れてしまっているようで,情報にたどりつけませんでした。

https://developers.cybozu.com/ja/kintone-api/apprec-createjsapi.html#i-8

0

3件のコメント

Avatar
斎藤 栄

中野さん
ラジカルブリッジの斎藤です。
取り急ぎ最新のURLをお伝えします。(ちょうど昨日くらいからAPIリファレンスが developers.cybozu.com からこちらの cybozudev.zendesk.com に移動してしまったのでURLが有効ではなくなってしまったようです)

■ルックアップの取得を自動で行う
https://cybozudev.zendesk.com/hc/ja/articles/201941984-%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E8%BF%BD%E5%8A%A0%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88#step8

アプリアクションは、コピー元とコピー先がある程度限定されてしまうので、うまく活用できない場面もあるかと思います。
https://help.cybozu.com/ja/k/user/whats_appaction.html
ルックアップについてはコピー元としてはOKですが、コピー先は文字列(1行)しかダメなようです。

アプリアクション相当のものを自前で作るやり方が私もピンときていませんが、ちょっと動きが違いますが、最初のアプリから別のアプリにJSでレコード登録してしまってから、その別アプリの詳細画面を開くというのはダメな感じでしょうか?

0
Avatar
中野

斎藤様:

早々のご回答,ありがとうございます。
record['ルックアップ'項目の]['lookup'] = true;
を設定してみましたが,うまくいきませんでした。lookupプロパティの説明は「trueにすると、レコードに値をセットする時にルックアップの取得を実行します。」とあるのですが,ここで言う「レコードに値をセットする時」とはどのタイミングになるのでしょうか?
「ある時にルックアップの取得を実行するプロパティ」でなく「即座にルックアップを取得させる」方法はないのでしょうか?

また,

最初のアプリから別のアプリにJSでレコード登録してしまってから、その別アプリの詳細画面を開くというのはダメな感じでしょうか?
ですが,ボタンを押した時点でレコードが登録されてしまうのではなく,ボタンを押したら作成画面が開く(そこからキャンセル可)というのがやりたいことになります。

何かいい手があれば御指南下さい。

0
Avatar
斎藤 栄

中野さん

record['ルックアップ'項目の]['lookup'] = true;
を設定してみましたが,うまくいきませんでした。lookupプロパティの説明は
「trueにすると、レコードに値をセットする時にルックアップの取得を実行しま
す。」とあるのですが,ここで言う「レコードに値をセットする時」とはどのタイミング
になるのでしょうか?

リファレンスのサンプルにもある通り、レコード追加画面表示時イベントや、保存実行前イベントで
record['ルックアップ'項目の]['lookup'] = true;
をセットし、 return event; を行えば反映されると思います。

アプリアクションを併用するやり方ですが、その後思いついたやり方を示しますね。

1.アプリAからアプリBの登録画面を表示するアプリアクションを作成する。
アプリBにはアプリAの該当レコード番号を保管するフィールドを用意しておき、アプリアクションではレコード番号だけをコピーします。

2.アプリBのレコード追加画面表示時イベント内で、コピーされたレコード番号をキーに、アプリAの該当レコードを取得するJSを書きます。
(アプリアクションで値がコピーされた後にレコード追加画面表示時イベントが動作するので)

3.2で得られたレコード情報から、アプリBの各種フィールドに値を設定します。ここで record['ルックアップ'項目の]['lookup'] = true; を忘れずに設定しましょう。

4.return event; します。

アプリアクションを使うのでボタンを任意の位置に配置できませんが、このやり方ではいかがでしょうか?

0
サインインしてコメントを残してください。