27
1 Copyright © Questetra,Inc. All right Reserved. Questetra ハンズオンセミナー 業務プロセス設計 中級編(データ自動更新) Wifi に接続し、 https://seminar-ja.questetra.net 接続できることを確認してください

Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

Embed Size (px)

Citation preview

Page 1: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

1Copyright © Questetra,Inc. All right Reserved.

Questetraハンズオンセミナー業務プロセス設計中級編(データ自動更新)

Wifiに接続し、https://seminar-ja.questetra.netに接続できることを確認してください

Page 2: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

アジェンダ

1. データの初期値

2. ヒューマンタスクの自動処理

3. サービスタスク(データ設定)

4. サービスタスク (Add-on)の活用

5. スクリプトタスク

Page 3: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

ユーザと組織

• https://seminar-ja.questetra.net

• 以下のいずれかのユーザでログインしてください

• 他の人と違うユーザを選択してください

[email protected]– パスワードは ‘g’が8つ

[email protected] – パスワードは ‘o’ が8つ

[email protected]– パスワードは ‘s’が8つ

[email protected]– パスワードは ‘m’が8つ

• 営業部

– Hawaii

• 営業1課

– Galapagos

– Oahu

• 営業2課

– Solomon

– Midway

全社

開発部 営業部

営業1課

営業2課

管理部

• 全社

– SouthPole

• 管理部

– Sumatera

– Maldives

• 開発部

– Canarias

– SaintHelena

Page 4: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

• 以下のプロセス図のプロセスモデルを作成してください。

• データ項目は、ガイドパネル以外、全種類– 文字型複数行/数値型/選択型ラジオ

– 日付型年月日/日時型/ファイル型

– ユーザ型検索セレクト/組織型掲示板型

– テーブル型(テーブル項目は、文字/数値/選択/日付)

• 「入力」工程はすべて「編集可」「確認」工程はすべて「表示のみ」

Page 5: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

データの初期値

Page 6: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

データの初期値

初期値は、プロセスを開始した時に、データに自動的に設定される値

• 件名/文字– (詳細は後述)

• 数値– プロセスID /プロセスモデルID /任意の数値

• 選択– 選択肢の中から1つ

• 日付/日時– (詳細は後述)

• ファイル– 未対応

• ユーザ– プロセス開始ユーザ

• 組織– プロセス開始組織

• 掲示板– 未対応

• テーブル– 未対応

Page 7: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

件名/文字型データの初期値

• 件名/文字型データの初期値では、「参照」を使用可能– プロセスID /プロセス連番など

• 「参照」の部分は、プロセス開始時に実際の値に置換される

• 文字型複数行データの初期値を以下の通りに

• processInstanceSequenceNumberなどの部分が参照

• #{…}は文字出力を意味

Page 8: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

関数

• 参照と組み合わせて使用可能な関数がある

• #format()プロセス開始日時など日時データの書式指定http://docs.oracle.com/javase/jp/8/docs/api/java/text/SimpleDateFormat.html

• #sformat()プロセス IDなど数値データも対象にする、より強力な書式指定http://docs.oracle.com/javase/jp/8/docs/api/java/util/Formatter.html

• 件名の初期値を以下の通りに

Page 9: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

日付型/日時型データの初期値

• プロセス開始日時を参照可能– 加減算した上で初期値にすることが可能

• addMonths() / addDays() / addHours() / addMinutes()月/日/時間/分単位で加減算

• getFirstTimeInDate() / getFirstTimeInMonth()その日/月の最初の時刻 (0時0分)を返す

• getLastTimeInMonth()その月の最後の時刻 (23時59分)を返す

• 日付型では、時刻など不要な部分は無視される

• 日時型データの初期値を以下の値(翌月1日の10時)にprocessInstanceStartDatetime.addMonths(1).getFirstTimeInMonth().addHours(10)

プロセスを開始してみて、件名/文字型データ/日時型データの初期値が意図通りであることを確認してください

Page 10: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

ヒューマンタスクの自動処理

Page 11: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

ヒューマンタスクの自動処理

• タスクの処理完了時に、そのタスクの処理記録をデータにコピーすることができる– データとして残しておく

– 後工程で利用する

• 後述するサービスタスク(データ設定)やスクリプトタスクでもこれらの値は取れない

• 「入力」工程のプロパティダイアログで、以下のように

プロセスを動かし、ヒューマンタスクの自動処理が意図通りに動作することを確認してください

Page 12: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

サービスタスク(データ設定)

Page 13: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

• プロセス図を以下のように変更サービスタスク(データ設定)を追加

• サービスタスク(データ設定)は、プロセスの途中でデータの値を書き換える自動工程– スクリプトタスクも同様のことができるが、遥かに簡単

• 複数のデータの値を同時に書き換えることができる– 1つでもバリデーションエラーの場合、すべての値が元に戻る

サービスタスク(データ設定)

Page 14: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

サービスタスク(データ設定)

各データを書き換える値の指定は、データの初期値設定とほぼ同じ

• 件名/文字– 初期値の設定方法と同じ。データも参照することができる。

• 数値– 数式を設定できる。詳細は後述。

• 選択– 選択肢を1つ指定できる。参照を使用することはできない。

• 日付/日時– 初期値の設定方法と同じ。データも参照することができる。

• ファイル– 未対応

• ユーザ– 未対応

• 組織– 未対応

• 掲示板– 未対応

• テーブル– 未対応

Page 15: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

サービスタスク(データ設定)の数値型データ

• 四則演算に対応– % (剰余)は未対応

• 有効桁数は、保存先の数値型データの設定に依存– 丸目は常に切り捨て

• 数値型データに対して、以下の値を設定するように(数値型データが番号 1の前提です)

Page 16: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

サービスタスク(データ設定)の件名/文字型データ

• データを参照できることを除けば、初期値設定と同じ

• #csv()テーブル型データをCSVで出力する

• #escapeEcmaScript()文字型データを、Javascriptエスケープして出力する

• #escapeXml()文字型データを、XMLエスケープして出力する

• 文字型データに対して、以下の値を設定するように(文字型データが番号 0、テーブル型データが番号 9の前提です)

Page 17: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

サービスタスク(データ設定)の日付型/日時型データ

• データを参照できることを除けば、初期値設定と同じ

• #today「今日」を表わす特別な参照

• #now「今」を表わす特別な参照

• 日付型データに対して、以下の値を設定するように

プロセスを動かし、サービスタスク(データ設定)が意図通りに動作することを確認してください

Page 18: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

サービスタスク(Add-on)の活用

Page 19: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

サービスタスクをアドオン

• 初期状態では、標準に提供されている自動工程しか使用できない

• 設定ファイルを登録することで、使用可能なサービスタスクを追加できる(アドオン)

• クエステトラからも多数提供https://www.questetra.com/ja/tour/m4/m415/

• データの値を書き換える以上のことをするものも多数ある

Page 20: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

サービスタスク(Add-on)の追加

• https://www.questetra.com/ja/tour/m4/m415/から「コンバータ (Date to和暦テキスト)」をダウンロード

Page 21: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

サービスタスク(Add-on)の追加

• プロセスモデルファイルから、「サービスタスクの定義ファイル」を登録

• プロセス図を以下のように変更

• 和暦コンバータの設定は以下

プロセスを動かし、和暦コンバータが意図通りに動作することを確認してください

Page 22: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

スクリプトタスク

Page 23: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

• プロセス図を以下のように変更スクリプトタスクを追加

• スクリプトタスクは、サービスタスク(データ設定) と同じく、プロセスの途中でデータの値を書き換える自動工程– Javascript (EcmaScript)でデータの参照/書き換えができる

– HTTP通信など、データを書き換える以上のこともできる

• 設定にスキル(Javascript / Java)を要求し、メンテナンスも容易ではない極力、サービスタスク(データ設定 / Add-on)ですませるのが原則

スクリプトタスク

Page 24: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

• スクリプトを以下のように変更(文字型データが番号 0の前提)

• データの値は dataオブジェクトから取得する。

• データの値を上書きする場合、retValオブジェクトに登録する。– 変更しない場合は、何もしなくて良い

• dataオブジェクトから取得、retValオブジェクトに登録する際のキーは、いずれも番号。

• サンプルでは、文字型データの後ろに「こんにちは」と追加している。

スクリプトタスクで文字型データの書き換え

プロセスを動かし、スクリプトが意図通りに動作することを確認してください

Page 25: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

参照/上書き時のオブジェクト

データ型によって、参照/上書き時に使用するオブジェクトが異なる。

• 文字– 文字列

• 数値– java.math.BigDecimal

• 選択– 参照は com.questetra.bpms.core.select.Itemのリスト

– 上書きは文字列(選択肢の値)のリスト

• 日付– java.sql.Date

• 日時– java.sql.Timestamp

• ファイル– com.questetra.bpms.core.event.scripttask.QfileView.QfileView のリスト

– 上書き時に新しくファイルを追加する場合は、com.questetra.bpms.core.event.scripttask.NewQfileをリストに含める

• ユーザ– com.questetra.bpms.core.event.scripttask.QuserView.QuserView

• 組織– com.questetra.bpms.core.event.scripttask.QgroupView.QgroupView

• 掲示板– 未対応

• テーブル– com.questetra.bpms.core.model.formdata.ListArray

Page 26: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

• スクリプトを以下のように変更(文字型データが番号 0、ファイル型データが番号 5の前提)

• 文字型データの後ろに「こんにちは」と追加しているのは変わらず。

• 文字型データを中身とするテキストファイルをファイル型に添付。– 既にファイルが添付されていても、このファイルだけになる

• 他のデータ型については、以下にある R2301のサンプルを参照http://www.questetra.com/ja/tour/m2/m230/

スクリプトタスクでファイル型データの書き換え

プロセスを動かし、スクリプトが意図通りに動作することを確認してください

Page 27: Questetra ハンズオンセミナー 業務プロセス設計中級編(データ自動更新)

まとめ

1. データの初期値– プロセスの開始時に自動的に設定される

2. ヒューマンタスクの自動処理– タスクの処理完了時に、処理ユーザ等をデータにコピー

3. サービスタスク(データ設定)– ほぼデータの初期値の設定と同じで簡単

4. サービスタスク (Add-on)の活用– 自動工程を追加(アドオン)することができる

– クエステトラからも、多数のデータを変更するアドオンが提供

5. スクリプトタスク– Javascriptでデータの参照/書き換えができる

– メンテナンスも大変なので、サービスタスク (データ設定 / Add-on)ですませるのが基本