「承認者」情報はAPIで取得できないけどなんとかしてみた

こんにちは!トッティです。

改めてですが、kintoneの特徴、そらで言えますか皆さん。「データベース」「コミュニケーション」「ワークフロー」、はい、その通りです。

 

今回は最後のワークフローに関してです!kintone内ではプロセス管理と言った名前の機能ですね。

このプロセス管理を用いて、社内のワークフローを回しているお客様も多くいらっしゃいます。

連携サービスを開発している弊社としては、外部からこのプロセス管理の情報、特に「承認者」の情報をAPIで取得できると嬉しいのですが、できないのですよ。

なので、「プリントクリエイターで、承認者である佐藤さんの印影を出力する」「kViewerで、田中さんが承認している情報だけ公開したい」等が出来ないわけですね。困りましたね。

 

承認者情報をアプリ内のフィールドに登録してしまう

プロセス管理の承認者を取得できないのであれば、特定のフィールドにユーザー情報として、登録してしまえば良いはずですね!

今回はそのJavaScriptを用意しました。

と、JavaScriptの紹介のその前に、少し手を入れたアプリを紹介しましょう。

カスタマイズに対応する前のアプリは以下です。

交通費の簡単な申請アプリ
交通費の簡単な申請アプリ

サイボウズのアプリストアに登録されている「交通費申請」アプリ。自分で申請先である「承認者」を選択し、そのユーザーから承認を得る流れです。

このアプリのプロセス管理の下記部分だけ、修正しました。

スクリーンショット 2015-08-03 19.54.01-2
「次のユーザーから作業者を選択」から「次のユーザーのうち1人」に切り替える

承認者情報を登録するためのフィールドをアプリ内に追加する

フィールドを新設し、ユーザー情報を持たせます。「ユーザー選択」フィールドを追加し、「承認者」としました。今までの承認者は「被申請者」と名称を変更しました。

そして、フィールドにも手を入れたアプリが下記になります。

今までの承認者を「被申請者」に名称変更。新たに「承認者」を作成。

で、この「承認者」のフィールドコードは下記な感じです。

なぜかフィールドコードに本来の意味付けを行う
なぜかフィールドコードに本来の意味付けを行う

これで、アプリ側の準備は整いました。あとはJavaScriptを適用し、自動登録されるように動かします。

 

JavaScriptを作成する

肝心のJavaScriptですが、今回は下記のようなものを読み込みます。

(function() {
"use strict";

// 以下のパラメータに任意の値を指定して下さい
var userSelectFieldCode = "実際の承認者";
var saveStatus = "承認";

kintone.events.on("app.record.detail.process.proceed", function(event) {
if (event.nextStatus.value === saveStatus) {
var authorizer = kintone.getLoginUser();

event.record[userSelectFieldCode].value = [
{
code: authorizer.code
}
];
}

return event;
});
})();

細かい説明は省きますが、「承認」ステータスにしたユーザーの情報を「承認者」フィールドに登録する、といった内容です。

では、実際に試してみましょう。

 

申請者として、レコード登録する

 

被申請者として複数選択し、だれか一人でも承認してくれれば良い、という状態
被申請者として複数選択し、だれか一人でも承認してくれれば良い、という状態

その後、「申請する」ボタンを押します。まだ、承認者フィールドは空のままです。

スクリーンショット 2015-08-03 20.32.54

 

上長として、承認を行う

さて、承認者として該当レコードを見てみましょう。

承認しましょう!
承認しましょう!

来てますね、申請が。承認してあげましょう。ポチッとな!

えいっ・・・やった!できた!

承認者フィールドに操作をした私のユーザー名が登録されました!

ここまでくれば、冒頭に書いたようにプリントクリエイターやkViewerでの条件に使用することが可能となります。長い道のりでしたが、APIが拡充されるまでは、この様な方法でなんとか運用しましょう!

例えば、下記記事なんかと組み合わせれば、すごく便利になりますよね。是非、お試しください。

プリントクリエイターで、電子印鑑対応kintoneアプリを作ってみたよ!

それではまた。

【関連記事】弊社三浦が承認者情報の取得+電子印鑑での出力を試してみました。

プロセス管理の承認者印影をプリントクリエイターで出力する

少し複雑な内容になりますが、こちらも合わせてご覧ください。


▼複数製品も同時に無料お試し!▼