今回は、Bitrix24を使ってビジネスプロセスの実践をしてみましょう。
まず、ビジネスプロセスには2つの種類があります。
①連続的なビジネスプロセス
事前に定義した開始点から終了点まで、ドキュメント上で連続したアクションを展開します。
②ステータス主導のビジネスプロセス
開始点や終了点はありません。プロセスのステータスはワークフローによって変化し、どのステージでもプロセスを完了することができます。
それでは、それぞれのタイプについて具体的に見ていきましょう。
プロセスに、事前に定義された過程がある場合に使用します。典型的な例は、テキストドキュメントの作成と認証です。連続的なビジネスプロセスでは、開始点と終了点の間で数多くのアクションが行われます。
プロセスに明確なタイムフレームがなく、同じステータスを繰り返す場合に使用します。このプロセスのスキームはステータスによって構成され、コンディションはアクションやステータスによって変化します。アクションは有限で、アクションの性質がデザインを定義します。
それでは<連続的なビジネスプロセスのテンプレート>を、Bitrix24を実際に使って見てみましょう。
パラメータの設定と保存をすると、ヴィジュアルモデラーが開きます。
テンプレートを作成するには、アクションを矢印のエリアへドラッグ&ドロップし、アクションのパラメータを設定します。
アクションのパラメータを設定するには、ボタンをクリックします。
フィールドを埋めていきます。画面の「・・・」ボタンをクリックすると、値の挿入フォームが開きます。
それでは、Bitrix24 Self-Hosted版を使って実際に「休暇の申請」ビジネスプロセスを作ってみましょう。
②「休暇の開始日」「休暇の最終日」「休暇の理由」の3つのパラメータを作成します。
④PHPアクションをドラック&ドロップします。このアクションは、休暇申請者の上司を探します。
以下のコードは、部長を探して変数「部長」に保存します。部長が見つからない場合、エラーが発生し、変数「エラー」に保存されます。
use \Bitrix\Main\{ Loader, UserTable };
$root = $this->GetRootActivity();
try{
if(Loader::includeModule('intranet')){
throw new \Exception('Intranet module not included');
}
$documentId = $root->GetDocumentId();
$documentService = $root->workflow->GetService("DocumentService");
$document = $documentService->GetDocument($documentId);
$creatorId = (int)$document['CREATED_BY'];
if($creatorId == 0){
throw new \Exception('従業員IDが間違っています');
}
$creator = UserTable::getList([
'select' => ['ID', 'UF_DEPARTMENT'],
'filter' => ['=ID' => $creatorId]
])->fetchObject();
if(!$creator){
throw new \Exception('休暇を申請した従業員がみつかりません');
}
$departmentHeadList = \CIntranetUtils::GetDepartmentManager($creator->getUfDepartment(), $creator->getId(), true);
$directDepartmentHeadId = (int)\array_shift($departmentHeadList);
if($directDepartmentHeadId){
throw new \Exception('部長がみつかりません');
}
$root->setVariable('DEPARTMENT_HEAD', 'user_' . $directDepartmentHeadId);
}
catch(\Exception $e){
$root->setVariable('ERROR', $e->getMessage());
}
⑤部長がみつかったかどうかをチェックする条件アクションを追加します。
部長がみつからない場合、エラーはユーザーへ通知されます。
⑥部長が申請を承認/却下するアクションをドラッグ&ドロップします。更に、申請の承認/却下を従業員へ通知するアクションを追加します。
このように、Bitrix24ビジネスプロセスの様々なツールとアクションを使い、様々なワークフローをデザインすることができます。
Free. Unlimited. Online
Bitrix24はコミュニケーション、タスクやプロジェクトでのコラボレーション、クライアント管理など誰もが参加できる機能を備えた便利なツールです。 Bitrix24アカウントへの無料登録はこちらからどうぞ。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント