# プロセス管理における最終処理時点の判別

**URL:** <https://community.cybozu.dev/t/topic/651>\
**Category:** kintone 開発相談\
**Created:** [2017 年 12 月 21 日午前 7:52 UTC](https://community.cybozu.dev/t/topic/651 "2017-12-21T07:52:49Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account282](https://avatars.discourse-cdn.com/v4/letter/l/ecb155/32.png) [@Legacy\_Account282](https://community.cybozu.dev/u/Legacy_Account282)\
**Post date:** [2017 年 12 月 21 日午前 7:52 UTC](https://community.cybozu.dev/t/topic/651/1 "2017-12-21T07:52:49Z")

</div>

OKAと申します。

プロセス管理を使用するアプリにおいて、フォームには作業者というユーザー選択フィールドがあり、未着手→作業中→完了というプロセスがあるとします。

指定されたすべての作業者が完了にしなければ、完了にならないとした場合に、最終完了した時点の日時を取得することは可能でしょうか。

ユーザー個別に完了した際の日時は、”app.record.detail.process.proceed”イベント内で取得することが可能ですが、全員が完了した時点を判断する方法はありますでしょうか。

ご存じの方いらっしゃいましたら、ご教授よろしくお願い致します。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1522](https://avatars.discourse-cdn.com/v4/letter/l/94ad74/32.png) [@Legacy\_Account1522](https://community.cybozu.dev/u/Legacy_Account1522)\
**Post date:** [2017 年 12 月 22 日午前 6:36 UTC](https://community.cybozu.dev/t/topic/651/2 "2017-12-22T06:36:04Z")

</div>

OKAさん、こんにちは。

app.record.detail.process.proceed の event オブジェクトから&nbsp;nextStatus を取得し、最終ステータスかどうか判断できないでしょうか？

全員が完了しなければ最終ステータスに進まないのであれば、「nextStatus が最終ステータスの時＝全員が完了したとき」と言えます。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account282](https://avatars.discourse-cdn.com/v4/letter/l/ecb155/32.png) [@Legacy\_Account282](https://community.cybozu.dev/u/Legacy_Account282)\
**Post date:** [2017 年 12 月 22 日午前 6:57 UTC](https://community.cybozu.dev/t/topic/651/3 "2017-12-22T06:57:36Z")

</div>

Asamiさん

こんにちは。ご返信いただきありがとうございます。

app.record.detail.process.proceed内でnextStatusを取得してみたのですが、全員が完了していない場合であっても次のステータスが取得されます。

作業者にA，B，Cの3名が指定されているとして、最初にAが完了処理をした場合もnextStatusは”完了”が取得されます。

B，Cは作業中なので、レコードのステータスは”作業中”のままなのですが、nextStatusはステータスが変化しない場合でも次のステータスを取得するようです。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1522](https://avatars.discourse-cdn.com/v4/letter/l/94ad74/32.png) [@Legacy\_Account1522](https://community.cybozu.dev/u/Legacy_Account1522)\
**Post date:** [2017 年 12 月 22 日午前 7:10 UTC](https://community.cybozu.dev/t/topic/651/4 "2017-12-22T07:10:27Z")

</div>

失礼しました。そのようですね。

イベント発生時の作業者数を見てみてはどうでしょうか？

```
event.record["作業者"].value.length

```

実行済ユーザーは作業者から抜けるようなので、最終作業者のときは length が１となります。

「nextStatusが最終ステータス かつ 作業者が１人のとき」と条件を組み合わせればできそうです。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account282](https://avatars.discourse-cdn.com/v4/letter/l/ecb155/32.png) [@Legacy\_Account282](https://community.cybozu.dev/u/Legacy_Account282)\
**Post date:** [2017 年 12 月 22 日午前 7:51 UTC](https://community.cybozu.dev/t/topic/651/5 "2017-12-22T07:51:51Z")

</div>

ご教示の通り、event.record[“作業者”].value.length==1 && nStatus=='完了’で条件を組んで実装できました。

勉強になりました。ありがとうございました。
