現在、ベータ(Beta)機能として提供しています。
ベータ(Beta)機能に関する注意点は、「このマニュアルについて」-「ベータ(Beta)機能について」を参照してください。
アプリ管理権限を持つユーザが対象です。
ECMAスクリプトおよびJavaの使用経験者を対象としています。| ワークフロー図 |
ワークフロー図の作成を行います。 スイムレーンや各ノードを配置し、フローを作成して、作業の順序を定義します。 |
|---|---|
| ヒューマンタスク |
プロセスにおいて、処理担当者が作業する手動工程を表します。 プロセス実行時に、データを入力するフォーム(タスク処理画面)が表示されます。 |
| データ更新 |
プロセスにおいて、システムが処理する自動工程を表します。 数値型、日付型/日時型、文字型、選択型データ項目に、動的な値や演算結果を代入します。 |
| PDF ファイル生成 |
プロセスにおいて、システムが処理する自動工程を表します。 業務データ(各データ項目に保持されている値)を埋め込んだPDF帳票を生成します。 |
| 選択肢マスタ更新 |
プロセスにおいて、システムが処理する自動工程を表します。 指定の選択型データ項目の内容を、アプリ共有アドオンまたはアドオンの[選択型データ項目で使用する選択肢マスタ]として更新します。 |
| スクリプトタスク |
プロセスにおいて、システムが処理する自動工程を表します。 ECMAスクリプトを使用して、業務データ(各データ項目に保持されている値)を編集します。 |
| 受信タスク (フォーム) |
プロセスにおいて、システムが処理する自動工程を表します。 アカウントを持たないユーザに対して、プロセスの途中での入力フォームを提供します。 メッセージ開始イベント(フォーム)を使用してユーザにWeb入力フォームを提供したあとに、メールによる本人確認を経て、詳細情報を入力するようなWeb入力フォームを表示します。 |
| 受信タスク (Webhook) |
プロセスにおいて、システムが処理する自動工程を表します。 外部サービス側のWebhook通知の受信まで待機し、受信後にトークンが進みます。 |
| サービスタスク (アドオン) |
プロセスにおいて、システムが処理する自動工程を表します。 ユーザ独自定義の自動処理タスクを実行します。 |
| タイマー開始イベント |
プロセスにおいて、システムが処理する自動工程を表します。 設定した日時にプロセスを自動的に開始します。 |
| タイマー中間イベント |
プロセスにおいて、システムが処理する自動工程を表します。 指定した日時まで待機し、指定日時を経過するとトークンが進みます。 |
| メッセージ開始・ 受信中間イベント(HTTP) |
プロセスにおいて、システムが処理する自動工程を表します。 メッセージ開始イベント(HTTP): 外部システムまたはDataSpider BPMの他のプロセスから受け取ったメッセージをもとにプロセスを開始します。 メッセージ受信中間イベント(HTTP): プロセスの実行途中で、外部システムまたはDataSpider BPMの他のプロセスから受け取ったメッセージをもとにデータを入力できます。 |
| メッセージ開始イベント (フォーム) |
プロセスにおいて、システムが処理する自動工程を表します。 Webページの入力フォームから受け取ったメッセージをもとにプロセスを開始します。 入力フォームは、データ項目のレイアウトをWebページに埋め込んで使用します。 |
| メッセージ開始イベント (Webhook) |
プロセスにおいて、システムが処理する自動工程を表します。 外部サービス側のWebhook通知の受信を起点とし、プロセスを自動的に開始します。 |
| メッセージ送信中間イベント (HTTP) |
プロセスにおいて、システムが処理する自動工程を表します。 指定したURLに、HTTPリクエストを送信します。 外部システムまたはDataSpider BPMの他のプロセスへのデータ送信が可能となります。 |
| メッセージ送信中間イベント (メール) |
プロセスにおいて、システムが処理する自動工程を表します。 設定した内容でメールを送信します。 送信先は任意に設定できます。 メール本文に、データ項目の入力内容を埋め込むことができます。 |
| メッセージ送信中間イベント (DataSpider Servista) |
プロセスにおいて、システムが処理する自動工程を表します。 指定したDataSpider Servistaのスクリプトを実行することができます。 イベントの実行時には、DataSpider BPM側のデータ項目の値を、DataSpider Servista側で定義されている入力変数へ渡すことができます。 スクリプト終了時には、DataSpider Servista側で定義されている出力変数の値を、DataSpider BPM側のデータ項目の値として受け取ることができます。 スクリプトの実行結果(結果の戻り値:ExitStatusおよびエラー内容)を受け取り、その後のタスクや条件分岐処理等で使用することができます。 |
| 分岐 | ワークフロー図に分岐がある場合、分岐・遷移先の設定を行います。 |
プロパティ設定ダイアログ表示されるプロパティは、定義ファイル(アドオンXML)で定義した内容に依存します。
| 項目名 | 必須 | 説明 |
|---|---|---|
| 工程名 | 任意 | タスクの名称を入力します。 |
| メモ | 任意 | タスクの注意点や目的などに関するメモを入力します。 |
| 処理失敗時に、 トークンをエラー境界イベントに移動 |
任意 |
処理が失敗した際のフローを定義したい場合は、有効にします。 有効にした場合は、タスクの下部にエラー境界イベントが表示されます。
|
| サービスタスク定義ファイル | 必須 |
ユーザ独自定義のプロパティを表示します。 表示されるプロパティおよび実行時の処理内容は、定義ファイル(アドオンXML)で定義した内容に依存します。 定義ファイル(アドオンXML)に関する詳細は、こちらを参照してください。
|
| 表示 | 操作メニュー | 説明 |
|---|---|---|
| [ヘルプ]アイコン |
このマニュアルページを表示します。 定義ファイル(アドオンXML)に、<help-page-url>要素が定義されている場合に表示されます。
|
|
![]() |
[この工程のみデバッグ]ボタン |
以下のワークフローが自動で作成され、この工程のみのデバッグプロセスを開始します。
「デバッグ対象工程」の実行に必要なテストデータを入力するための、[テストデータを入力]という工程名が付いた「ヒューマンタスク」が用意されます。
|
| [参照を挿入する...]アイコン |
定義したプロパティに、プロセス情報や変数の参照を挿入します。
定義ファイル(アドオンXML)に、<config>要素のform-type属性に「TEXTFIELD」および「TEXTAREA」が定義されている場合に表示されます。 アプリ変数に関する詳細は、「変数設定(アプリ変数)」を参照してください。 システム変数に関する詳細は、「設定ファイル(qbpms.config)」を参照してください。
|
|
![]() |
[適用して閉じる]ボタン | 設定した値を適用して、サービスタスク(アドオン)のプロパティ設定ダイアログを閉じます。 |
![]() |
[適用する]ボタン | 設定した値を適用します。 |
![]() |
[キャンセル]ボタン | 設定した値を適用せずに、サービスタスク(アドオン)のプロパティ設定ダイアログを閉じます。 |
アプリ共有アドオンに関する詳細は、「アプリ共有アドオン(管理)」を参照してください。
アドオンに関する詳細は、「アドオンの管理」を参照してください。
<?xml version="1.0" encoding="UTF-8"?>
<service-task-definition>
<label>ラベル名を定義します。</label>
<help-page-url>マニュアルページを定義します。</help-page-url>
<summary>サービスタスクの概要説明を定義します。</summary>
<license>サービスタスクのライセンス情報を定義します。</license>
<engine-type>定義したスクリプトの実行エンジンの種類を設定します。</engine-type>
<last-modified>定義したスクリプトの最終更新日を設定します。</last-modified>
<configs>
<config プロパティ設定ダイアログに表示するプロパティを定義します。>
<label>プロパティの説明を定義します。</label>
</config>
...
</configs>
<script><![CDATA[
実行時の処理内容をスクリプトで定義します。
...
]]></script>
<icon>
サービスタスク(アドオン)に表示するロゴアイコンを定義します。
</icon>
</service-task-definition>
| 要素名 | 説明 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| <service-task-definition> | 定義ファイル(アドオンXML)のルート要素です。 | ||||||||||||||||
| <label> |
ラベル名を定義します。 プロパティ設定ダイアログのタイトル名称およびパレットでのポップアップで表示します。 多言語対応する場合は、locale属性を以下のように指定します。
64文字以下で定義してください。
|
||||||||||||||||
| <help-page-url> |
マニュアルへのURLリンクを定義します。 プロパティ設定ダイアログに[ヘルプ]アイコンを表示します。 多言語対応する場合は、locale属性を以下のように指定します。
250文字以下で定義してください。
|
||||||||||||||||
| <summary> |
サービスタスクの概要説明を定義します。 多言語対応する場合は、locale属性を以下のように指定します。
250文字以下で定義してください。
|
||||||||||||||||
| <license> |
サービスタスクのライセンス情報を定義します。 プロパティ設定ダイアログには表示されません。
|
||||||||||||||||
| <engine-type> |
定義したスクリプトの実行エンジンの種類を設定します。
プロパティ設定ダイアログには表示されません。 DataSpider BPM 2.6.1では、「GraalJS」のみであるため[2]を設定してください。
|
||||||||||||||||
| <last-modified> |
定義したスクリプトの最終更新日を設定します。 プロパティ設定ダイアログの名前をフォーカスすると、ツールチップとして表示します。
|
||||||||||||||||
| <configs> | プロパティ設定ダイアログに表示するプロパティ定義のルート要素です。 | ||||||||||||||||
| <config> |
プロパティ設定ダイアログに表示する1つのプロパティを定義します。 複数のプロパティを指定する場合は、繰り返し定義してください。 config要素の以下の属性において、そのプロパティの選択および入力方法を指定します。
上記の例では、データの接頭辞を指定するプロパティで、「conf_DataPrefix」という名前の、任意指定項目で文字型(単一行)のデータ項目から選択するプロパティとなります。
|
||||||||||||||||
| <label> |
プロパティの説明を定義します。 多言語対応する場合は、locale属性を以下のように指定します。
64文字以下で定義してください。
|
||||||||||||||||
| <item> |
form-type="SELECT_ITEM"を指定した際の選択肢リストを定義します。
<item value="JP"><label>日本</label></item> <item value="US"><label>アメリカ</label></item> |
||||||||||||||||
| <script> |
実行時の処理内容を定義します。 スクリプトタスクと同様に、ECMAスクリプトを使用して記述します。 <script><![CDATA[ ~この間にスクリプトを記述します~ ]]></script> スクリプトの記述方法に関しての詳細は、「スクリプトタスク」を参照してください。また、記述するスクリプト内で、設定したプロパティの値を取得するには、以下の方法があります。
|
||||||||||||||||
| <icon> |
サービスタスク(アドオン)に表示するロゴアイコンを定義します。 画像ファイル(JPEG, GIF, PNG)をBase64エンコードした値を設定します。 64px以下の画像ファイルにしてください。
|
||||||||||||||||
<?xml version="1.0" encoding="UTF-8"?>
<service-task-definition>
<label>Generate Random</label>
<label locale="ja">乱数生成</label>
<summary>Generates a random number. When a token reaches this automated step, ~.</summary>
<summary locale="ja">乱数を生成します。案件トークンがこの自動工程に到達すると、~</summary>
<engine-type>2</engine-type>
<last-modified>2023-10-31</last-modified>
<configs>
<config name="conf_Lower" required="true" el-enabled="true" form-type="TEXTFIELD">
<label>A: Set Lower Limit (e.g. "0", "-0.5")</label>
<label locale="ja">A: 下限値をセットしてください (例 "0", "-2.5")</label>
</config>
<config name="conf_Upper" required="true" el-enabled="true" form-type="TEXTFIELD">
<label>B: Set Upper Limit (e.g. "10", "0.5")</label>
<label locale="ja">B: 上限値をセットしてください (例 "10 ", "2.5 ")</label>
</config>
<config name="conf_DataIdC" required="true" form-type="SELECT" select-data-type="DECIMAL">
<label>C: Select NUMERIC DATA for Generated Number (update)</label>
<label locale="ja">C: 生成された乱数が格納される数値型データを選択してください (更新)</label>
</config>
</configs>
<script><![CDATA[
//////// START "main()" ////////
main();
function main(){
//// == Config Retrieving / 工程コンフィグの参照 ==
const lower = configs.get( "conf_Lower" ) + ""; // config required
const upper = configs.get( "conf_Upper" ) + ""; // config required
const dataIdC = configs.get( "conf_DataIdC" ) + ""; // config required
// 'java.lang.String' (String Obj) to javascript primitive 'string'
// Design-time Config Format Check
const numLower = parseFloat( lower );
engine.log( " AutomatedTask Lower Limit: " + numLower );
const numUpper = parseFloat( upper );
engine.log( " AutomatedTask Upper Limit: " + numUpper );
if( isNaN(numLower) ){
throw new Error( "¥n AutomatedTask ConfigError:" +
" Config {Lower} is not a number ¥n" );
}
if( isNaN(numUpper) ){
throw new Error( "¥n AutomatedTask ConfigError:" +
" Config {Upper} is not a number ¥n" );
}
if( numLower > numUpper ){
throw new Error( "¥n AutomatedTask ConfigError:" +
" Config {Lower} is greater than {Upper} ¥n" );
}
//// == Data Retrieving / ワークフローデータの参照 ==
// nothing (This Service Task is a CREATE type)
//// == Calculating / 演算 ==
let numDiff = numUpper - numLower;
let mathRand = Math.random(); // Math.random(): 0.00 to 0.99
engine.log( " AutomatedTask Math.random(): " + mathRand );
let numRand = mathRand * numDiff + numLower;
engine.log( " AutomatedTask Generated Random: " + numRand );
//// == Data Updating / ワークフローデータへの代入 ==
engine.setDataByNumber( dataIdC, new java.math.BigDecimal( numRand ) );
} //////// END "main()" ////////
]]></script>
<icon>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABv0lEQVRYR+1XPU7DMBj1l0xpJcQFUBkZYe2Cx9bJ0CP0COUEl
BPAEXqEDo1ToQ6uxA5HgBuwVJ3qD32ortxUKc5PE4HIEiV+iV/e+75nB1jqEEKMAeA+fb+Ka0R8kFKO7XfBP4GfFCDZyshv21
nIgjiOD2w6RkgIcU3jUso3OodhiAZ/cgI0udb6CgDOEPF5Pp+/10qg2+126GtbrdbFYrF4aUKBMbVZGIajOI6faidAE1KOaK0
nJH8lBBBxLzjydgQA7J4vVIR5JzyG/50EEHGZ9VUAcEtjLpgtLv9acCyITI+7YCohIIRQUkpuFKmNQK/XuwSAjud5SmvNEfHD
TjlSwGCs2N3DlFJACDFkjA3J863fEynlxFbAYKx62cOUImBLbvtdmwWGQBRFfDabqVprgDzPakOqCRpzwRS2oPEkdAkZF0xhB
VxCxgVTigDn/DwIAp4kybTf7w/W67VSSn3aXUAFqrX+jmY6PM9bUsFWsiMiAu12WyHiKwDcrFYrnkFgV7BUoJUR2G4sRoyxR8
bYXXq3c3ILKGZ9359uNpuBOaejOP1HZdb+SizIasVaktAlZFwwhbug8SD68wS+AAh8Lj/CJSvYAAAAAElFTkSuQmCC
</icon>
</service-task-definition>
