グループウェア「mitoco」を使ってみよう ～【V19.1新機能】承認プロセス実行中の申請フォームの変更に対応（ワークフロー）【その１】～

# はじめに
mitoco V19.1 がリリースされました。

▼リリースノート

https://www.terrasky.co.jp/files/mitoco_ReleaseNote_v19.1.pdf

こちらを確認すると「**承認プロセス実行中の申請フォームの変更に対応**」と言う機能が追加されたようです。
```
2.ワークフロー
　2.1.承認プロセス実行中の申請フォームの変更に対応
　承認プロセスの各承認ステップや最終承認、最終却下、取消時に
　申請フォームが変更できるようになりました。
　承認プロセス管理にて対応する申請フォーム指定することができます。
　申請フォームを変更することで、申請が進んだ場合に
　レイアウト上参照できる項目を追加／削除したり
　項目の編集可／不可を変えたりすることができるようになります。
```
と、記載されています。
こちらについて、どのように使うのか、を考えてみたいと思います。

# 試してみよう
まず、こちらの機能はどのような機能なのでしょうか。
確認してみたいと思います。

記事を読む前に、Salesforce の機能の
- レコードタイプ
- ページレイアウト
- プロファイル、権限セット
- 項目レベルセキュリティ

並びに

- mitoco ワークフローの利用方法の基本的な利用方法

を理解している必要があります。

以下、**例になります**。

以下のような流れで、**`[STEP2]`** でレコードタイプが切り替わることを確認してみましょう。
レコードタイプが切り替わることで、ページレイアウトも切り替わります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/45613976-fe42-9950-a904-886d4a01360e.png)



## レコードタイプ と ページレイアウト の設定

- 申請データオブジェクトには「ページレイアウト」が２つ用意（「**`Data Layout`**」と「**`PageLayout002`**」の２つ）。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/9c6a83df-4824-1e5c-d8e1-f76e4b01015f.png)

- ページレイアウト「**`Data Layout`**」の構成。以下のように項目を配置。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/d88e9695-a135-e1f5-48fa-9934657276e7.png)

- ページレイアウト「**`PageLayout002`**」の構成。以下のように項目を配置。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/3d526634-eab2-af48-3521-5b579a1cf4f6.png)

:::note info
ページレイアウト「**`Data Layout`**」と「**`PageLayout002`**」の**ページレイアウトの内容は全く異なっている**ところに注目です。
:::

- レコードタイプには「**`Default`**」「**`RecordType001`**」「**`RecordType002`**」の３つ存在。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/3ed560f3-3238-17f2-5ca6-5da1817837aa.png)

- 「プロファイル」と「レコードタイプ」に対する「ページレイアウト」を指定。
判りやすいように、どのプロファイルでも
レコードタイプ「**`RecordType001`**」を選ぶとページレイアウト「**`DataLayout`**」
レコードタイプ「**`RecordType002`**」を選ぶとページレイアウト「**`PageLayout002`**」
を表示するように設定。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/357edf6d-72ce-3cd6-fba6-28d0d5889e7b.png)

- 承認プロセス（バージョン）を作成。名前は「**`承認プロセス実行中の申請フォームの変更に対応（1）`**」とします。
STEPを2つ用意し、**`[申請]⇒[STEP1]⇒[STEP2]⇒[承認]`** と言う遷移を用意。
判りやすいように、2つのステップの承認者は「**`テストユーザ1`**」とします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/10eed6c2-682a-f7e9-6fb4-1887c640837d.png)

- **`[STEP2]`** では 申請フォーム(レコードタイプ) [**`RecordType002`**] に変更。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/55d3dcfd-6329-0760-743a-0f1da4de81ae.png)

## テストユーザ1 の情報 と プロファイル、権限セットの設定
- 使用しているプロファイルは「**`標準ユーザ`**」を使用。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/c3d3f8c3-c461-a1f4-e6df-7ed8f67d43af.png)

- プロファイルに対するレコードタイプの権限
    - プロファイル「**`標準ユーザ`**」で指定している「**`レコードタイプ`**」の利用権限として「**`RecordType001`**」のみ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/2c2b9bae-90a1-e642-2861-bb7d09963418.png)

- プロファイル「**`標準ユーザ`**」で指定している「**`申請データ`**」オブジェクトに対する「**`項目レベルセキュリティ`**」の設定として「**`レコードタイプ`**」「**`件名`**」と最小限利用できる項目のみ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/4dd19544-bf5a-d0a4-077a-5be90359d8d2.png)

- 別途、権限セットを用意する。（名前は「**`申請データオブジェクトの項目レベルセキュリティ`**」とする）
- 権限セットの「**`オブジェクト設定`**」の「**`申請データ`**」として
項目権限（項目レベルセキュリティ）として、利用したい項目に対して「**`参照アクセス権`**」「**`編集アクセス権`**」を付与。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/0df1a862-7006-2929-ad82-ede987ece42f.png)

- なお「**`オブジェクト権限`**」は「**`mitoco (Approvals) User`**」で設定されているため
権限セット「**`申請データオブジェクトの項目レベルセキュリティ`**」では付与しない。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/c9b165b5-d02b-f9df-bad1-2f51b008ae18.png)

- 「**`テストユーザ1`**」に対してmitocoの権限として
「**`mitoco(Approvals) User`**」
「**`mitoco(Base) User`**」
「**`mitoco(Collaboration) User`**」
「**`申請データオブジェクトの項目レベルセキュリティ`**」
を付与。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/218fae40-b8e5-4a54-1f4b-8a1b42f73452.png)

- 申請するデータ（申請データ）を用意。
この時、申請フォーム（レコードタイプ）「**`RecordType001`**」を指定する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/7525e5e6-096f-33bf-fd9c-8f632617bea6.png)

- 「**`RecordType001`**」を指定するので、ページレイアウト「**`Data Layout`**」で表示されている。
件名は判りやすいように「**`承認プロセス実行中の申請フォームの変更に対応（1）`**」とします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/92df6467-4c8b-f74b-089e-d5a4359e8fc2.png)

- 申請データができたので、承認プロセス「**`承認プロセス実行中の申請フォームの変更に対応（1）`**」を選んで **`[申請]`**。**`[STEP1]`** に遷移。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/0f8fcaa9-1657-bbf5-de1d-e9c116e1508c.png)

- 申請されたことで、状況が「**`未申請`**」となる。また「**`申請フォーム`**」が「**`RecordType001`**」となっているところにも注目する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/6dbba8f2-6cf6-7775-91bb-0d8a1a792658.png)

- **`[STEP1]`** にいる状況。さらに **`[承認]`** を実行し、 **`[STEP2]`** に遷移。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/31aaf5ca-1b76-db6e-821e-706e30dfa994.png)

- **`[STEP2]`** に遷移した結果。

:::note info
「**`申請フォーム`**」が「**`RecordType002`**」に切り替わりました。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/bd79d5e2-7c6d-aed4-cd8d-49b8d0ac96df.png)

:::note info
「**`テストユーザ1`**」はレコードタイプ「**`RecordType002`**」の利用権限は有していないが、表示させることができる。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/309141/c1da95f0-80e5-3786-1967-335488842c4c.png)






# 結果
- 任意のステップで、任意のレコードタイプを変更することで、任意のページレイアウトを表示させることができることが判りました。



# 次回
この機能の注意事項を確認していきます。

https://qiita.com/xx_mana/items/1498bf0cdb487957bf75


# mitoco について
- Salesforce 上で動作するグループウェアの「mitoco」（みとこ）に関する記事になります。

https://www.mitoco.net/

- mitoco は「株式会社テラスカイ」のサービスです。

# ご了承ください
- 記事は、2023年6月時点・mitoco V19.1 の段階の内容となります。
    - 内容は製品のバージョンによって仕様が変更されている場合があります。ご了承ください。