いつもお世話になっております。
アプリAのプロセス管理にて特定のステータスに更新された際に、アプリBのラジオボタンが自動更新されるようにしたいと考えているのですが、どのような方法がありますでしょうか?
例)アプリAのステータスを「作成完了」に更新→アプリBのラジオボタンが「未作成」から「完了」に自動更新
初心者のため、可能であればJavascriptサンプルもご教授いただけますと幸いです。宜しくお願い致します。
いつもお世話になっております。
アプリAのプロセス管理にて特定のステータスに更新された際に、アプリBのラジオボタンが自動更新されるようにしたいと考えているのですが、どのような方法がありますでしょうか?
例)アプリAのステータスを「作成完了」に更新→アプリBのラジオボタンが「未作成」から「完了」に自動更新
初心者のため、可能であればJavascriptサンプルもご教授いただけますと幸いです。宜しくお願い致します。
プロセス管理のアクションイベント のイベントを利用して、ステータスが「作成完了」になった際に、
レコードの更新(PUT) のAPIを利用してアプリBのレコードを更新します。
アプリBを更新するには、アプリAとアプリBのレコードを紐づける重複不可のフィールドが必要です。
(例えば申請番号など)
以下のサンプルでは、アプリAとアプリBを紐づけるフィールドコードは同一としています。
動作確認はしていませんので、開発者ツール でエラーなどご確認ください。
(function() {
"use strict";
var putAppId = 〇〇; // アプリBのアプリID
var uniqueField = ●●; // アプリAとアプリBのレコードを紐づける重複禁止のフィールドコード
kintone.events.on('app.record.detail.process.proceed', function(event) {
if(event.nextStatus === '作成完了'){
var uniqueFieldValue = event.record[uniqueField].value;
var body = {
'app': putAppId,
'updateKey': {
'field': uniqueField,
'value': uniqueFieldValue,
},
'record': {
'ラジオボタン': { // ラジオボタンのフィールドコード
'value': '完了'
}
}
};
kintone.api(kintone.api.url('/k/v1/record', true), 'PUT', body, function(resp) {
// success
alert('アプリBを更新しました。');
}, function(error) {
// error
alert('アプリBが更新できませんでした。' + error);
});
}
return event;
});
})();
FM様
はじめまして、コメントいただいたにもかかわらずお礼が遅くなり大変申し訳ございません。
サンプル等細かくご教授いただきありがとうございました。
実装してみたところ、エラーは出なかったもののアプリBのラジオボタンが更新されませんでした。(アラートも未表示でした)
コメントにてご記載の通り、アプリAとBを紐づけるフィールドコードは重複なし、フィールドコードも同一です。
教えていただいたコード及び記事を参考に、見直してみたいと思います。
初心者故、また質問させていただくことがあるかと思いますが、その際はまたご教授いただければ幸いです。