2021/03/11

SalesfoeceにおけるApprovalとは?コード作成方法や注意点をご紹介

 
  

SalesforceにおけるApprovalとは?

Apporovalとは、Salesforceの承認申請を処理する、承認に携わる処理を司る機能です。Approval機能は、承認プロセスとも呼ばれています。 承認申請の処理だけではなく、データの承認の過程をロックする、ロックを解除するということもできます。 また、データの承認申請を取り下げることも可能です。データの承認を自動化することもApproval機能でできます。 例えばSalesforceのApproval機能は、経費の申請や出張の申請、商談の値引きや値上げの申請に使用します。企業における金銭などの数字やデータを処理するのに使う機能です。 SalesforceのApproval機能を使うことで申請をスムーズにすることができます。

SalesforceのApproval機能のメリット

Approval機能では、Salesforceのデータ承認申請する、データ承認申請を自動化する、データ承認申請を中止、再開することができます。また、承認申請者や過程の中で決めたいことを指定することが可能です。 SalesforceのApproval機能は、承認申請の自動化やデータ承認で細かく指定ができるので、承認処理を効率化できるメリットがあります。また条件によって、メリットも存在します。 作りたいApprovalプロセスによってメリットが変わるということです。

オブジェクト別にApprovalのプロセスを作るメリット

世の中の承認申請には、会社の経費の承認申請、出張などの交通費の承認申請、社内旅行など宿泊による金額の承認申請、商談での見積もりの申請など承認や申請をする場面があります。 SalesforceでApprovalプロセスを作る場合、どのような道順で承認や申請をするか決めることが可能です。SalesforceのApprovalはオブジェクト別にプロセスとなる部分を作ることができます。 申請する内容に合わせてオブジェクトを作る場合、どの過程でどんな承認申請をしたいかオブジェクト名で分かるようにできるというメリットがあります。オブジェクト名で何が起きるかが分かるので、プログラムが分かりやすくなるでしょう。 例として、経費を精算する承認申請をする場合や勤怠の承認申請をするApprovalプロセスをSalesforceで作成するとします。別々に分けたApprovalオブジェクトに経費を意味する「Expenses」や勤怠を意味する「Attendance」を名付けて理解しやすくできます。

一つのオブジェクトにApprovalを条件分岐させるメリット

一つのオブジェクトにApprovalを条件分岐させることで、オブジェクトの数を減らすことができ、Approvalプロセスをコピーしやすくなるというメリットがあります。 承認申請は複雑な処理を必要とすることもあるでしょう。人がパソコンを使わずに承認申請を通すときも同じような過程が多く、困ることもあります。 SalesforceのApprovalを使用して承認申請をする場合も同じようなオブジェクトを作るのはプログラムを複雑にします。その為、オブジェクト数を減らすことによってプログラムを比較的に軽くすることが可能です。 例を交えて説明すると、経費精算の申請と仮払いの経費の申請を行う際、データの形や項目を作成して、申請するときに条件分岐させてそれぞれ違う承認ができるように設定するということになります。

SalesforceのApprovalで承認申請を自動化するメリット

SalesforceのApproval機能には、承認申請を自動化させる設定をすることができます。自動で申請や承認を行ってくれるので承認申請に手動で行う時間をほかの業務に充てることが可能です。 例えば、承認や申請の内容から組織内の承認申請をする各担当に自動的に割り当てられ、経費や勤怠などのデータがロックされて編集ができなくなり、承認申請の状況が「申請済」に変更される処理などがあります。

SalesforceにおけるApprovalの作成方法

SalesforceのApprovalの作成には、いくつかの過程が必要です。具体的に説明すると、Approvalプロセスを計画し、インターフェースを準備して、Approvalの定義を設定して自動化する部分を決めて一連の流れを作れば完成です。 それぞれの過程の説明とサンプルコードを交え、Approvalについて説明します。

Approvalプロセスの計画

SalesforceでApprovalを用いて承認申請を行う場合、各プロセスの処理をするのに前もってどこをどうしたいか計画をします。プロセスの中で自動化する部分があるところは、指定のプロセスに定義を行う部分があります。 例えば、承認申請を行う担当者は誰にするのか、代理申請、承認を行う場合の過程はどのように誰が許可するのかなど決めておくといいでしょう。また、条件が満たされない場合、申請却下するのか、誰がチェックをするのなど細かく決めていくのも大事です。

インターフェースの選択

Approvalプロセスを作成し、インターフェースを選択します。インターフェースは、「ウィザード」とも呼ばれます。Salesforceには「ジャンプスタートウィザード」と「標準ウィザード」があり、必要に応じて選択するものです。 使用するのが一つのApprovalプロセスならば、「ジャンプスタートウィザード」を使用します。複雑な処理を必要とする場合は「標準ウィザード」を使いといいでしょう。 例えば、経費と仮経費を同時に出さないといけない承認申請をするならば、「標準ウィザード」を使用し、勤怠の出勤、退勤のみの処理をするApprovalプロセスならば「ジャンプスタートウィザード」を使用します。

Approvalプロセスの定義を設定

Approvalのプロセスに承認の箇所を追加し、定義していきます。承認申請を行う人や承認の条件を満たすデータを決定して、プロセスの流れを決めていきます。 最初は、条件不足のデータはどのように動かすのか、承認者が申請許可をしたときの動作決定をします。例えば、交通費の申請をする際、金額がおかしい時は承認を取り下げる処理をする、適切で承認が通ったときは次は誰が承認をするかその結果を決めるというものです。

Approvalプロセスで自動化したい部分を設定

Approvalプロセスで自動化したい部分を作成します。承認や申請、承認申請の取り下げなどが関連付けられます。自動化できるのは4つまでなのでどこを自動化したいか考えて設定するといいでしょう。 例えば項目を自動で更新させる処理やSalesforceのアプリケーションを自動通知させるなどがあります。他にもLishtning Experience通知・Chatter投稿などがあります。 承認申請を初めてしたときは行動が起こされ、未承認のデータをロックする場合、勝手に編集されないようセキュリティは共有されないようになっているので安全面も考えられているといえるでしょう。

SalesforceにおけるApprovalの注意点

SalesforceのApprovalは、作成方法によって注意する点があります。承認申請をするコードは、以下のサンプルコードが一般的です。
Approval.ProcessSubmitRequest req = new Approval.ProcessSubmitRequest();
req.setObjectId('80010000000EAMZ');
Approval.ProcessResult processResult = Approval.process(req);
System.assertEquals('Pending', processResult.getInstanceStatus());
Approvalプロセスはオブジェクトがあって、それにプロセスを構築することが多いですが、承認申請に合わせてカスタムする場合は注意点があります。 オブジェクト別に作る場合、同じオブジェクトならばコピーペーストをして再利用ができます。しかし、オブジェクトが変わるとコピーができず処理が多くなる場合もあるのです。また、作成できるオブジェクトも限りがあるため注意です。 一つのオブジェクトで条件分岐させると、申請内容によって項目が分かれて重くなる場合があります。SalesforceのApprovalは、どのように、誰を経て申請を通すか考えるのが何よりも大事です。

SalesforceのApprovalを活用しよう

今回はSalesforceのApprovalについてご紹介しました。 承認申請をするのは、勤怠や経費など使用する場面が多く、より効率的に時間を使うことができます。ぜひ活用できるようにしましょう。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】