kintoneの標準機能にあるアプリアクションと同じことを、自動で行えるようなカスタマイズの実装を検討しています。
少し調べたところ、アプリアクション自体を呼び出すようなイベントの記述は見つからなかったため、今は登録元アプリがレコードを保存したタイミングで、登録先アプリのedit画面を開き、そこに初期値として登録元アプリから引用したデータを入力する、という動作をJavaScriptで記述しようとしています。
上記動作をボタンクリックしたタイミングで行っている記事は見つかったので、そちらを参考にコードを記述しました。
以下のコードにより、レコードを登録したタイミングでedit画面を開くところまでは行けたのですが、そこに初期値を入れることができません。
原因や解決策が分かりましたら、アドバイスをいただけると助かります。
(function () {
'use strict';
kintone.events.on('app.record.create.submit.success', function (event) {
var put1 = event.record.'登録元アプリのフィールドコード'.value;
//元アプリの引継ぎ対象フィールドでの入力を確認
if (!put1) {
return;
}
//関連レコードの新規作成画面のURLへのジャンプ
var new_window = window.open('/k/'登録先アプリのアプリID'/edit');
new_window.addEventListener('load', function () {
window.postMessage(new_window.kintone !== null, location.origin);
});
window.addEventListener(
'message',
(function () {
return function field_set() {
//新規レコード側のフィールドを指定してsetする
var new_app = new_window.kintone;
var new_record = new_app.app.record.get();
new_record.record.'登録先アプリのフィールドコード'.value = put1;
new_app.app.record.set(new_record);
window.removeEventListener('message', field_set, false);
};
})(),
false
);
});
})();