(著者:近本 昌也)
はじめに
2016年12月のアップデートでプロセス管理の設定の取得/更新のAPIが追加されました。(詳細はリンク先をご確認ください。)
今回のTipsでは下記のAPIを利用してAアプリのプロセス管理の設定をBアプリにコピーにするというカスタマイズを紹介します。
使用API
- アプリのプロセス管理の設定の取得(2016年12月版より使用可)
- アプリのプロセス管理の設定の変更(2016年12月版より使用可)
- アプリの設定の運用環境への反映
アプリの準備
本Tipsではコピー先とコピー元のアプリをそれぞれ用意します。
- コピー元:「旅費精算申請」アプリ(アプリストアより利用可能)
- コピー先:「新しいアプリ」アプリ(アプリをはじめから作成し、デフォルトのまま作成したもの)
コピー元「旅費精算申請」アプリ
「旅費精算申請」アプリには下記のワークフローが設定されています。
ワークフローのイメージ図
「旅費精算申請」アプリのプロセス管理の設定画面を開き、「上長」フィールドを削除します(コピー先のアプリに設定されていないフィールドを設定すると更新時にエラーになるためです)。
コピー先「新しいアプリ」アプリ
「新しいアプリ」アプリは特に設定を変更する必要はありません。
デフォルトで下記のワークフローがプロセス管理に設定されていることを確認してください。
ワークフローのイメージ図
カスタマイズ
以下の4つのステップでコピー元「旅費精算申請」アプリにJavaScriptカスタマイズを適用させ、プロセス管理の設定をコピー先「新しいアプリ」アプリに更新してみましょう。
① コピー元「旅費精算申請」アプリの一覧画面にボタンを配置
② コピー元のプロセス管理の設定を取得
③ コピー先の設定を②で取得した設定に更新
④ コピー先アプリの設定を反映
①コピー元「旅費精算申請」アプリの一覧画面にボタンを配置
ボタンの配置方法は第2回 レコード一覧画面にボタンを置いてみよう!を参照しました。コピー先のアプリ番号を控え、変数に入力します。ボタンクリック時の関数については②~④で説明します。
② コピー元のプロセス管理の設定を取得
アプリのプロセス管理の設定の取得を利用してプロセス管理の設定を取得します。
③ コピー先の設定を②で取得した設定に更新
アプリのプロセス管理の設定の変更を利用して②で取得した設定をコピー先「新しいアプリ」アプリに更新をかけます。
④ コピー先アプリの設定を反映
アプリの設定の運用環境への反映を利用して、③で更新した内容を運用環境に反映すると完成です。
サンプルコード
完成イメージ
コピー元のアプリのレコード一覧画面にプロセス管理の設定コピー用のボタンを設置
ボタンをクリックするとプロセス管理の設定をコピーし、アラートを表示
コピー前のプロセス管理の設定画面
コピー後のプロセス管理の設定画面
利用API
参考Tips
最後に
今回はプロセス管理の設定の取得/変更を使ったカスタマイズ例を紹介しました。利用ケースの多いワークフローを使い回したいときにボタン一つで設定できてとても便利な仕組みになっているので、本Tipsを活用してカスタマイズしていただければと思います。
このTipsは、2016年12月版で確認したものになります。
プロセス管理のコピーを試したのですが
上記のダイアログが表示されうまくコピーが出来ません。
対策をご教授頂ければ幸いです。
zoe 様
お世話になっております。cybozu developer network 運営事務局でございます。
記事の通りに動作確認したところ、正常にコピーできました。
こちらのコメント欄は記事内容のフィードバック目的となっており、
技術的なご質問はcybozu developer コミュニティをご活用ください。
その際、実際のソースコードに変更を加えた部分や、詳しいエラーの内容についても記載すると、
より良い回答が得られるかと思います。
よろしくお願い致します。
アプリよって出来るアプリと出来ないアプリがありました。
ソースコードもアプリIDしか変更はしていません。
コミュニティで質問してみます。
お手数をおかけしました。