イベントハンドラ一覧

文書系イベントハンドラ

表 文書系イベントハンドラ一覧

タグ サンプル サンプル結果 配下に指定可能なタグ・必須のタグ 備考
文書部品 <文書部品 document="doc01" item-id="10002"/> 文書情報格納先doc01に格納された文書中の部品ID"10002"に登録された値を返す 無し 関数系アクションタグとして利用し、文書内の部品の値を返す。
部品と戻り値型については【文書系アクションタグに対応する部品一覧】を参照。
文書部品代入 <文書部品代入 document="doc01" item-id="10002">
<文字列 value="abc"/>
</文書部品代入>
文書情報格納先doc01に格納された文書中の部品ID"10002"に文字列"abc"を代入する 【必須のタグ】
代入先の文書部品に代入可能な型の値を返すタグ
コマンド系アクションタグとして利用し、文書内の部品に値を代入する。部品と戻り値型については【文書系アクションタグに対応する部品一覧】を参照。
文書代入 <文書代入>
<文書部品代入 document="doc01" item-id="10004">
<文字列 value="Hello" />
</文書部品代入>
<文書部品代入 document="doc01" item-id="10005">
<文字列 value="こんにちは" />
</文書部品代入>
</文書代入>
文書情報格納先doc01に格納された文書中の部品ID"10004"に文字列"Hello"を、文書情報格納先doc01に格納された文書中の部品ID"10005"に文字列"こんにちは"を代入する 【必須のタグ】
一つ以上の文書部品代入タグ
複数の<文書部品代入>タグを一括して実行したい際に使用する。
非担当者レイアウトブロック権限 <非担当者レイアウトブロック権限 document="doc01">
<編集可能 block-id="10002"/>
</非担当者レイアウトブロック権限>
文書情報格納先doc01に格納された文書中のレイアウトブロックID"10002"について非担当者に対して編集権限を与える 【必須のタグ】
<編集可能><閲覧可能><非公開><フォーム定義>のうち一つ以上
コマンド系アクションタグとして利用する。
再計算 <再計算 document="doc01"/> 文書情報格納先doc01に格納された文書に定義されているすべての自動更新部品の再計算を行う 無し 文書代入タグの外でも使用でき、部品の代入が全て終わった後に再計算させることが可能。
更新するべき部品がなかった場合は、文書は更新されない(最終更新日時は更新されない)。

以下のような自動更新部品も再計算の対象となる。
・アカウント部品の付属情報(名前や社員番号など)を参照している
・更新権限がないレイアウトブロックに配置されている
・lookup()で外部のバインダを参照している
変数型 文書 <変数 name="doc01"/> 変数"doc01"を返す 無し 関数系アクションタグとして利用する。文書型変数docを使用するにはあらかじめ同一プロセス内で変数docに文書を代入する必要がある。

コマンド系イベントハンドラ

表 コマンド系イベントハンドラ一覧

タグ サンプル サンプル結果 配下に指定可能なタグ・必須のタグ 備考
- 遷移先 <遷移先 key="APPROVE"/> 遷移先を key"APPROVE"に設定する 無し
- プロセス強制終了 <プロセス強制終了/> プロセスを強制終了する 無し
- アクティビティ実施待機終了 <アクティビティ実施待機終了/> 未実施の担当者グループがあってもアクティビティを終了する 無し このタグが設定されているアクティビティに、終了時のイベントハンドラが設定されている場合は、終了時のイベントハンドラを実行してから終了する。未設定の場合は即時アクティビティを終了する。
- 変数代入 <変数代入 name="account01">
<アカウントvalue="1000001"/>
</変数代入>
変数"account01"にアカウント"1000001"を代入する 【必須のタグ】
代入する変数の型と合致した型を返すタグ
変数の形式は以下のとおり
文書型:doc01
アカウント:account01
論理値:bool
数値:number01
文字列:string01
- 担当者追加 <担当者追加 number="1">
<文書部品 document="doc01" item-id="10012"/>
</担当者追加>
アクティビティの担当グループ"1"の担当者に、文書情報格納先"doc01"のアカウント型文書部品"10012"に格納された値を追加する 【必須のタグ】
配下にアカウント型の値を返すタグ
numberには担当グループの番号を指定する。
このタグにより変更された担当者の代行者は、“default.xml”の” default-values.hibiki.workflow.event-handler.update-principal”の設定により、指定された担当者の代行者を、アクティビティの代行者に追加する、またはアクティビティ代行者に反映しない、のいずれかを選択する事ができます。
- 代行者追加 <代行者追加 number="1">
<文書部品 document="doc01" item-id="10012"/>
</代行者追加>
アクティビティの担当グループ"1"の代行者に、文書情報格納先"doc01"のアカウント型文書部品"10012"に格納された値を追加する 【必須のタグ】
配下にアカウント型の値を返すタグ
numberには担当グループの番号を指定する。
- 担当者変更 <担当者変更 number="1">
<文書部品 document="doc01" item-id="10012"/>
</担当者変更>
アクティビティの担当グループ"1"の担当者を、文書情報格納先"doc01"のアカウント型文書部品"10012"に格納された値に変更する 【必須のタグ】
配下にアカウント型の値を返すタグ
numberには担当グループの番号を指定する。
このタグにより変更された担当者の代行者は、“default.xml”の” default-values.hibiki.workflow.event-handler.update-principal”の設定により、指定された担当者の代行者を、①置き換える、②アクティビティの代行者に追加する、③アクティビティ代行者に反映しない、のいずれかを選択する事ができます。
- 代行者変更 <代行者変更 number="1">
<文書部品 document="doc01" item-id="10012"/>
</代行者変更>
アクティビティの担当グループ"1"の代行者を、文書情報格納先"doc01"のアカウント型文書部品"10012"に格納された値に変更する 【必須のタグ】
配下にアカウント型の値を返すタグ
numberには担当グループの番号を指定する。
- メッセージ送信 <メッセージ送信 document="doc01" target="mail,chiwawa"> doc01に格納された文書を使用した通知を送信する 【必須のタグ】
配下に次のタグ全てが必須
・宛先
・件名
・本文
使い方やサンプルなど詳細は【イベントハンドラのメール送信機能】を参照。
※「メール送信」タグから変更になりました。これまでの「メール送信」タグは、「メッセージ送信」タグと同じ動きになります。
- アカウント追加 <アカウント追加 document="doc01" item-id="account">
<変数 name="account01"/>
</アカウント追加>
文書情報格納先"doc01"のアカウント型文書部品"account"に対して、アカウント型変数"account01"に格納されたアカウントを追加する 【必須のタグ】
配下にアカウント型の値を返すタグ
アカウント選択部品にアカウントを追加する場合、イベントハンドラが部品の設定に優先される
■アカウント選択(ポップアップ)部品の場合
「複数選択不可」設定でも、複数のアカウントを追加できる
「選択できるアカウント」設定にないアカウントを追加できる
アカウント選択(メニュー)の場合
「選択可能アカウント」設定にないアカウントを追加できる

■アカウント変数へのアカウント追加も可能。

■次の場合、アカウント選択部品やアカウント変数のデータは変化しない
追加対象の箇所に、イベントハンドラで定義した「追加アカウント」が追加済みの場合
「追加対象アカウント」が「存在しないアカウント」の場合
- アカウント削除 <アカウント削除 name="account01" >
<担当者 />
<業務開始者/>
</アカウント削除>
アカウント型変数"account01"より、「担当者」と「業務開始者」を削除する 【必須のタグ】
配下にアカウント型の値を返すタグ
次の場合、アカウント選択部品やアカウント変数のデータは変化しない

制御系イベントハンドラ

表 制御系イベントハンドラ一覧

タグ サンプル サンプル結果 配下に指定可能なタグ・必須のタグ 備考
- 条件判定 <条件判定>
<条件>
<文字列AはBを含む>
<A><文字列 value="abc"/></A>
<B><文字列 value="a"/></B>
</文字列AはBを含む>
</条件>
<真>
<遷移先 key="OK"/>
</真>
<偽>
<遷移先 key="NG"/>
</偽>
</条件判定>
<条件>タグの中が"true"を返した場合は遷移先を key"OK"に設定し、"false"が返された場合は遷移先を"NG"に設定する。 【必須のタグ】
<条件></条件>,<真></真>
<偽></偽>

<条件>タグは配下に論理値を返すタグを必要とし、<真><偽>タグは配下に一つ以上のアクションタグを必要とする

関数系イベントハンドラ

表 関数系イベントハンドラ一覧

タグ サンプル サンプル結果 配下に指定可能なタグ・必須のタグ 備考
論理値・アカウント系
論理値 アカウントAとBが同じである <アカウントAとBが同じである>
<A>
<アカウント value="1000012"/>
</A>
<B>
<文書部品 document="doc01" item-id="10036"/>
</B>
</アカウントAとBが同じである>
アカウントAとBが同じであれば"true"、異なっていれば"false"を返す 【必須のタグ】
<A></A>,<B></B>

<A>タグ<B>タグそれぞれが配下にアカウント型の値を返すタグを必要とする
論理値 アカウントAはBを含む <アカウントAはBを含む>
<A>
<アカウント value="1000012"/>
</A>
<B>
<文書部品 document="doc01" item-id="10036"/>
</B>
</アカウントAはBを含む>
アカウントリスト(場合によっては単一アカウント)AとBを比較して AにBが含まれていれば"true"、含まれていなければ"false"を返す 【必須のタグ】
<A></A>,<B></B>

<A>タグ<B>タグそれぞれが配下にアカウント型の値を返すタグを必要とする
AとBを比較する際、Bのすべての上位アカウントを取得し、AがBの上位アカウントに存在するかどうかをチェックします。プロジェクトや役職グループの場合、上位アカウントは空になります。そのため、Bにプロジェクトや役職グループを指定すると、AはBを含んでいないと判断されます。
論理値 グループAにユーザBがプライマリ所属している <グループAにユーザBがプライマリ所属している>
<A>
<アカウント value="1000012"/>
</A>
<B>
<文書部品 document="doc01" item-id="10036"/>
</B>
</グループAにユーザBがプライマリ所属している>
グループAにユーザBがプライマリ所属していれば"true"、していなければ"false"を返す 【必須のタグ】
<A></A>,<B></B>

<A>タグは配下にグループを示すアカウント型の値を返すタグを、 <B>タグは配下にアカウント型の値を返すタグを必要とする
論理値・数値系
論理値 数値AとBは等しい <数値AとBは等しい>
<A>
<数値 value="10000"/>
</A>
<B>
<文書部品 document="doc01" item-id="10016"/>
</B>
</数値AとBは等しい>
数値AとBが等しければ"true"を、それ以外は"false"を返す 【必須のタグ】
<A></A>,<B></B>

<A>タグ<B>タグそれぞれが配下に数値型の値を返すタグを必要とする
論理値 数値AはB以上 <数値AはB以上>
<A>
<数値 value="10000"/>
</A>
<B>
<文書部品 document="doc01" item-id="10016"/>
</B>
</数値AはB以上>
数値AがB以上であれば"true"を、それ以外は"false"を返す 【必須のタグ】
<A></A>,<B></B>

<A>タグ<B>タグそれぞれが配下に数値型の値を返すタグを必要とする
論理値 数値AはBより大きい <数値AはBより大きい>
<A>
<数値 value="10000"/>
</A>
<B>
<文書部品 document="doc01" item-id="10016"/>
</B>
</数値AはBより大きい>
数値AがBより大きければ"true"を、それ以外は"false"を返す 【必須のタグ】
<A></A>,<B></B>

<A>タグ<B>タグそれぞれが配下に数値型の値を返すタグを必要とする
論理値 数値AはB以下 <数値AはB以下>
<A>
<数値 value="10000"/>
</A>
<B>
<文書部品 document="doc01" item-id="10016"/>
</B>
</数値AはB以下>
数値AがB以下であれば"true"を、それ以外は"false"を返す 【必須のタグ】
<A></A>,<B></B>

<A>タグ<B>タグそれぞれが配下に数値型の値を返すタグを必要とする
論理値 数値AはBより小さい <数値AはBより小さい>
<A>
<数値 value="10000"/>
</A>
<B>
<文書部品 document="doc01" item-id="10016"/>
</B>
</数値AはBより小さい>
数値AがBより小さければ"true"を、それ以外は"false"を返す 【必須のタグ】
<A></A>,<B></B>

<A>タグ<B>タグそれぞれが配下に数値型の値を返すタグを必要とする
論理値 数値AとBは異なる <数値AとBは異なる>
<A>
<数値 value="10000"/>
</A>
<B>
<文書部品 document="doc01" item-id="10016"/>
</B>
</数値AとBは異なる>
数値AとBが異なっていれば"true"を、等しければ"false"を返す 【必須のタグ】
<A></A>,<B></B>

<A>タグ<B>タグそれぞれが配下に数値型の値を返すタグを必要とする
論理値・文字列系
論理値 文字列AはBを含む <文字列AはBを含む>
<A>
<文字列 value="こんにちは"/>
</A>
<B>
<文書部品 document="doc01" item-id="10016"/>
</B>
</文字列AはBを含む>
文字列AがBを含んでいれば"true"を、含んでいなければ"false"を返す 【必須のタグ】
<A></A>,<B></B>

<A>タグ<B>タグそれぞれが配下に文字列型の値を返すタグを必要とする
論理値 文字列AとBは等しい <文字列AとBは等しい>
<A>
<文字列 value="こんにちは"/>
</A>
<B>
<文書部品 document="doc01" item-id="10016"/>
</B>
</文字列AとBは等しい>
文字列AとBが同じであれば"true"を、異なっていれば"false"を返す 【必須のタグ】
<A></A>,<B></B>

<A>タグ<B>タグそれぞれが配下に文字列型の値を返すタグを必要とする
論理値 文字列AとBは異なる <文字列AとBは異なる>
<A>
<文字列 value="こんにちは"/>
</A>
<B>
<文書部品 document="doc01" item-id="10016"/>
</B>
</文字列AとBは異なる>
文字列AとBが異なっていれば"true"を、同じであれば"false"を返す 【必須のタグ】
<A></A>,<B></B>

<A>タグ<B>タグそれぞれが配下に文字列型の値を返すタグを必要とする
論理値 全ての担当グループが実施済みか <全ての担当グループが実施済みか/> 全ての担当者グループが実施済みであれば"true"を、実施済みでなければ"false"を返す 無し
論理値 AND <AND>
<数値AはBより大きい>
<A><数値 value="3"/></A>
<B><数値 value="1"/></B>

</数値AはBより大きい>

<文字列AはBを含む>
<A><文字列 value="abc"/></A>
<B><文字列 value="a"/></B>
</文字列AはBを含む>
</AND>
<AND>タグで囲まれた範囲内の全てのタグが"true"を返した場合のみ全体として"true"を、それ以外は"false"を返す 【必須のタグ】
配下に一つ以上の関数系論理値型アクションタグが必要となる
論理値 OR <OR>
<数値AはBより大きい>
<A><数値 value="3"/></A>
<B><数値 value="1"/></B>
</数値AはBより大きい>

<文字列AはBを含む>
<A><文字列 value="abc"/></A>
<B><文字列 value="a"/></B>
</文字列AはBを含む>
</OR>
<OR>タグで囲まれた範囲内の一つ以上のタグが"true"を返した場合、全体として"true"を、全てが"false"を返した場合は"false"を返す 【必須のタグ】
配下に一つ以上の関数系論理値型アクションタグが必要となる
論理値 NOT <NOT>
<数値AはBより大きい>
<A><数値 value="3"/></A>
<B><数値 value="1"/></B>
</数値AはBより大きい>
</NOT>
<NOT>直下に指定されているタグが"true"を返した場合は"false"を、"false"を返した場合は"true"を返す 【必須のタグ】
配下に一つの論理値を返すタグを必要とする
アカウント型
アカウント型 アカウントセット <アカウントセット>
<アカウント value="1015839,1015840"/>
<アカウント value="1015841,1015842"/>
</アカウントセット>
タグ内に列記されたアカウントを一つのリストとして扱う 【必須のタグ】
配下に一つ以上のアカウント型を返すタグが必要となる
アカウント型 担当者 <担当者/> 全ての担当者(代行者除く)を返す 無し
アカウント型 代行者 <代行者/> 全ての代行者(担当者除く)を返す 無し
アカウント型 担当者や代行者 <担当者や代行者/> 全ての担当者及び代行者を返す 無し
アカウント型 未実行の担当者や
代行者
<未実行の担当者や代行者/> 未実行の担当者及び代行者を返す 無し 実行済み/未実行はグループ単位で認識される為、ここで含まれるのはそれぞれ未実行グループと実行済みグループ内の担当者となる。
アカウント型 実行済みの
担当者や代行者
<実行済みの担当者や代行者/> 実行済みの担当者や代行者を返す 無し
アカウント型 開始バインダ管理者 <開始バインダ管理者/> 業務プロセスの開始バインダ定義に指定されたバインダのバインダ管理者を返す 無し あらかじめ業務プロセス定義で開始バインダ定義を設定する必要がある。
アカウント型 開始文書登録者 <開始文書登録者/> 業務プロセスで開始バインダ定義を使用した場合に、業務開始した文書を登録したユーザを返す 無し あらかじめ業務プロセス定義で開始バインダ定義を設定する必要がある。
アカウント型 バインダ管理者 <バインダ管理者/> アクティビティ定義の「文書情報格納先」の文書が格納されたバインダのバインダ管理者を返す 無し あらかじめ同一アクティビティの中で文書情報格納先に文書型変数を設定する必要がある。
アカウント型 文書管理者 <文書管理者/> アクティビティ定義の「文書情報格納先」の文書が格納されたバインダの文書管理者を返す 無し あらかじめ同一アクティビティの中で文書情報格納先に文書型変数を設定する必要がある。
アカウント型 バインダ設計者 <バインダ設計者/> アクティビティ定義の「文書情報格納先」の文書が格納されたバインダのバインダ設計者を返す 無し あらかじめ同一アクティビティの中で文書情報格納先に文書型変数を設定する必要がある。
アカウント型 文書登録者 <文書登録者/> アクティビティ定義の「文書情報格納先」の文書を登録したユーザを返す 無し あらかじめ同一アクティビティの中で文書情報格納先に文書型変数を設定する必要がある。
アカウント型 プロセス開始可能者 <プロセス開始可能者/> プロセス開始可能者を返す 無し
アカウント型 プロセス定義閲覧可能者 <プロセス定義閲覧可能者/> プロセス定義 閲覧可能者を返す 無し
アカウント型 プロセス定義更新可能者 <プロセス定義更新可能者/> プロセス定義 更新可能者を返す 無し
アカウント型 進行管理者 <進行管理者/> 進行管理者を返す 無し
アカウント型 履歴追加公開先 <履歴追加公開先/> 履歴追加公開先を返す 無し
アカウント型 直前アクティビティ
実施者
<直前アクティビティ実施者/> 直前アクティビティ実施者を返す 無し
アカウント型 直前アクティビティ
実施者の上長
<直前アクティビティ実施者の上長/> 直前アクティビティ実施者の上長を返す 無し
アカウント型 直前アクティビティ
実施者の上長代行
<直前アクティビティ実施者の上長代行/> 直前アクティビティ実施者の上長代行を返す 無し
アカウント型 業務開始者 <業務開始者/> 業務開始者を返す 無し
アカウント型 業務開始者の上長 <業務開始者の上長/> 業務開始者の上長を返す 無し
アカウント型 業務開始者の上長代行 <業務開始者の上長代行/> 業務開始者の上長代行を返す 無し
アカウント型 実施者 <実施者/> 現在の実施者を返す 無し 直近にボタンを押下したアカウント一人。
アカウント型 プライマリ所属組織 <プライマリ所属組織>
<担当者/>
</プライマリ所属組織>
アクティビティ担当者のプライマリ所属組織をアカウント型で返す 【必須のタグ】
配下にアカウント型の値を返すタグ
対象が複数アカウントの場合は、プライマリ所属組織が同じ場合はまとめて表示され、別々の場合はそれぞれのプライマリ所属組織を返す。
また、入力されたアカウントが組織以外の場合は入力値を返す。
アカウント型 アカウントに変換 <アカウントに変換>
<文書部品 document="doc01" item-id="10002"/> </アカウントに変換>
文書情報格納先doc01に格納された文書中の部品ID"10002"の値(MID)をアカウントに変換して返す 【必須のタグ】
配下に文字列型の値を返すタグ
文字列型として入力されたMID(7桁の数字)のみ変換可能。
ユーザIDや名前は変換対象外。
アカウント型 ステップ担当者 <ステップ担当者/> ステップ担当者を返す 決裁ルート自動生成アクティビティの中で配置する。
アカウント型 ステップ代行者 <ステップ代行者/> ステップ代行者を返す 決裁ルート自動生成アクティビティの中で配置する。
数値型
数値型 切り捨て <切り捨て>
<数値 value="2.3"/>
</切り捨て>
小数点以下を切り捨てた数値を返す 【必須のタグ】
数値型の値を返すタグ
数値型 和AB <和AB>
<A><数値 value="2"/></A>
<B><数値 value="1"/></B>
</和AB>
数値Aと数値Bを足した数値を返す 【必須のタグ】
<A></A>,<B></B>

<A>タグ <B>タグそれぞれが配下に数値型の値を返すタグを必要とする
数値型 商AB <商AB>
<A><数値 value="2"/></A>
<B><数値 value="1"/></B>
</商AB>
数値Aを数値Bで割った商を返す 【必須のタグ】
<A></A>,<B></B>

<A>タグ <B>タグそれぞれが配下に数値型の値を返すタグを必要とする
数値Bに0が入るとプロセスが異常終了してしまうので、0が入らない状態に設定する。
数値型 積AB <積AB>
<A><数値 value="2"/></A>
<B><数値 value="1"/></B>
</積AB>
数値Aと数値Bをかけた数値を返す 【必須のタグ】
<A></A>,<B></B>

<A>タグ <B>タグそれぞれが配下に数値型の値を返すタグを必要とする
数値型 剰余AB <剰余AB>
<A><数値 value="2"/></A>
<B><数値 value="1"/></B>
</剰余AB>
数値Aを数値Bで割ったときの余りを返す 【必須のタグ】
<A></A>,<B></B>

<A>タグ <B>タグそれぞれが配下に数値型の値を返すタグを必要とする
数値Bに0が入るとプロセスが異常終了してしまうので、0が入らない状態に設定する。
数値型 差AB <差AB>
<A><数値 value="1"/></A>
<B><数値 value="5"/></B>
</差AB>
数値Aから数値Bを引いた数値を返す 【必須のタグ】
<A></A>,<B></B>

<A>タグ <B>タグそれぞれが配下に数値型の値を返すタグを必要とする
数値型 数値に変換 <数値に変換>
<文書部品 document="doc01" item-id="10002"/>
</数値に変換>
文書情報格納先doc01に格納された文書中の部品ID"10002"に登録された値を数値に変換して返す 【必須のタグ】
文字列型を返すタグ
変換可能なものは文字列として扱われている数値のみ
数値型 差戻し元アクティビティID <変数代入 name="number01">
<差戻し元アクティビティID/>
</変数代入>
差戻し元アクティビティのIDを返す 無し 「差戻し元へ」ボタンのイベントハンドラーのみに使用可能。それ以外の場合、0を返す
数値型 取戻し元アクティビティID <変数代入 name="number01">
<取戻し元アクティビティID />
</変数代入>
取戻し元アクティビティのIDを返す 無し 「取戻し元へ」ボタンのイベントハンドラーのみに使用可能。それ以外の場合、0を返す
文字列型
文字列型 文字列連結 <文字列連結>
<文字列 value="a"/>
<文字列 value="b"/>
</文字列連結>
文字列を連結し、文字列"ab"を返す 【必須のタグ】
配下に一つ以上の文字列型を返すタグを必要とする
文字列型 文字列に変換 <文字列に変換>
<変数 name="number01"/>
</文字列に変換>
変数"number01"に格納された値を文字列に変換してを返す 【必須のタグ】
配下に一つの値を返すタグを必要とするすべての変数型の値を指定可能
文字列型 文字列評価式 <文字列評価式 document="doc01">
sum([10002],[10003])
</文字列評価式>
文書情報格納先doc01に格納された文書中の部品ID"10002"と部品ID"10003"の値の和を算出し、算出した値を文字列で返す 【必須のタグ】
評価式に合わせた変数型の値を返すタグ
上位のタグに返す値は評価式と入力値に関わらず全て文字列型となる。評価式は自動更新部品と同様のものが使用可能であり、配下に必須になるタグの変数型は以下になる。

数値型:
sum,average,min,max,abs,roundNumber,formatNumber
日付型:
addDays,addMonths,addYears,formatDate,firstDayInWeek,now 文字列型:concatenate,substring

※評価式についての詳細は【評価式関連資料】を参照して下さい。
文字列型 ISESOAP <ISESOAP>
<文字列 value="渡したい文字列"/>
</ISESOAP>
SOAPサーバに文字列"渡したい文字列"を渡し、対応する情報としてINSUITE®またはアカウント情報の管理サーバにある情報を文字列で返す 【必須のタグ】
文字列型を返すタグ
SOAPサーバから返された値は文字列型となる
管理サーバとSOAPを通して連携し、SOAPサーバを利用して文字列を渡し、対応する情報として管理サーバの情報を返す。
文字列型 差戻し元アクティビティ名 <条件>
<文字列AとBは等しい>
<A>
<差戻し元アクティビティ名/>
</A>
<B>
<文字列 value="承認1"/>
</B>
</文字列AとBは等しい>
</条件>
差戻し元アクティビティの名を返す 無し 「差戻し元へ」ボタンのイベントハンドラにみに使用可能。それ以外に場合、空文字列を返す
文字列型 差戻し元アクティビティの決裁レベル名 <条件>
<文字列AとBは等しい>
<A>
<差戻し元アクティビティの決裁レベル名/>
</A>
<B>
<文字列 value="決裁レベル4"/>
</B>
</文字列AとBは等しい>
</条件>
差戻し元が決裁ルートアクティビティのあるステップならば、該当ステップ名(決裁レベル名)を返す 無し 「差戻し元へ」ボタンのイベントハンドラのみに使用可能。それ以外の場合、空文字列を返す
文字列型 取戻し元アクティビティ名 <条件>
<文字列AとBは等しい>
<A>
<取戻し元アクティビティ名/>
</A>
<B>
<文字列 value="承認2"/>
</B>
</文字列AとBは等しい>
</条件>
取戻し元アクティビティの名を返す 無し 「取戻し元へ」ボタンのイベントハンドラのみに使用可能。それ以外の場合、空文字列を返す
文字列型 取戻し元アクティビティの決裁レベル名 <条件>
<文字列AとBは等しい>
<A>
<取戻し元アクティビティの決裁レベル名/>
</A>
<B>
<文字列 value="決裁レベル5"/>
</B>
</文字列AとBは等しい>
</条件>
取戻し元が決裁ルートアクティビティのあるステップならば、該当ステップ名(決裁レベル名)を返す 無し 「取戻し元へ」ボタンのイベントハンドラのみに使用可能。それ以外の場合、空文字列を返す
定数型
定数型 アカウント <アカウント value="1000002"/> アカウント
ID"1000002"に登録されたアカウントを返す
無し ""内はアカウントIDでの設定となる。
定数型 論理値 <論理値 value="true"/> 論理値として"true"を返す 無し
定数型 数値 <数値 value="2"/> 数値として"2"を返す 無し
定数型 文字列 <文字列 value="ああああ"/> 文字列として"ああああ"を返す 無し 数値を入力しても文字列として扱われる
定数型 アカウント <変数 name="account01"/> 変数"account01"を返す 無し 同一プロセスの中で先に当該変数に値が設定されている必要がある。
定数型 論理値 <変数 name="bool01"/> 変数"bool01"を返す 無し 同一プロセスの中で先に当該変数に値が設定されている必要がある。
定数型 数値 <変数 name="number01"/> 変数"number01"を返す 無し 同一プロセスの中で先に当該変数に値が設定されている必要がある。
定数型 文字列 <変数 name="string01"/> 変数"string01"を返す 無し 同一プロセスの中で先に当該変数に値が設定されている必要がある。
定数型 宛先 <宛先>
<文書部品 document="doc01" item-id="itemKey"/>
<担当者/>
</宛先>
メールの宛先に、次を設定する。
"文書型プロセス変数"doc01"に格納された文書にて、部品キーが"itemKey"の部品に設定されたユーザ、またはメールアドレス※メッセージ送信イベントハンドラが記述されているアクティビティの「担当者」
アカウント型や文字列型のデータを返す
タグを指定可能
使い方やサンプルなど詳細は【イベントハンドラのメール送信機能】を参照。
定数型 件名 <件名>$contents.get("mailTitle")</件名> メールの件名に、フォーム定義の
「mailTitle」部品に登録された
データを設定する
任意の文字列や、文書に登録されたデータや
実施中プロセスのデータを指定可能
同上
定数型 本文 <本文>
申請が承認されました。
●承認日
$contents.get("Date").value
</本文>
メールの本文に、フォーム定義の
「Date」部品に登録されたデータを設定する
任意の文字列や、文書に登録されたデータや
実施中プロセスのデータを指定可能
同上
定数型 添付ファイル <添付ファイル document="doc01" item-id="fileFolder" /> メールの添付ファイルとして、
doc01に格納された文書の
「fileFolder」部品に登録された
ファイルを設定する。
無し 同上

特殊系イベントハンドラ

表 特殊系イベントハンドラ一覧

タグ サンプル サンプル結果 配下に指定可能なタグ・必須のタグ 備考
- イベントハンドラ <イベントハンドラ>
<変数代入 name="account01">
<アカウント value="100001"/>
</変数代入>
<文書部品代入 document="doc01" item-id="10002">
<変数 name="account01"/>
</文書部品代入>
</イベントハンドラ>
変数にアカウントを代入し、その変数を文書部品に代入する。 イベントハンドラの設定枠一つに対して最上位階層にコマンド系や制御系のタグを設定したい場合に、より上位階層に設定する

外部連携イベントハンドラ

<js>タグはカスタムクラスのメソッドの実行、および、プロセス変数への値の受け渡しをするためのタグです。<js>タグの中でサポートされる機能は以下の通りです。

※ 下記以外の機能はサポートされません。
※ <js>タグをご利用の際は、システム管理者に確認のうえ、セキュリティポリシー等に十分配慮してください。

プロセス変数(string01~string10, number01~number10)からの値取得関数

■構文
context.getPVarValue([プロセス変数名])

■引数
string01~string10, number01~number10

■戻り値
string01~string10の場合は文字列
number01~number10の場合は数値

■使用例

<js>
var str = context.getPVarValue("string01");
var num = context.getPVarValue("number01");
</js>
プロセス変数(string01~string10, number01~number10)への値代入関数

■構文
context.setPVarValue([プロセス変数名], [値])

■引数
プロセス変数名:string01~string10, number01~number10

値:プロセス変数の型と同じ値

■戻値
string01~string10の場合は文字列

number01~number10の場合は数値

■使用例

<js>
var str = "Text";
context.setPVarValue("string01", str);
var num = 123;
context.setPVarValue("number01", num);
</js>

カスタムクラス・メソッドの呼び出し

利用するクラスを設定ファイル(default.xml)に設定することで、<js>タグ内でカスタムクラス・メソッドを呼び出すことができます。設定ファイル(default.xml)を変更する方法については、「Sm@rtDB運用ガイド システム初期値に関する設定(default.xml)」をご確認頂くか、システム管理者にご確認ください。(利用するカスタムクラス群をjarファイルにまとめる必要があります。)

※ カスタムクラス・メソッドのフルパス名は、貴社のドメイン名から作成したものを使用してください。

■default.xmlで利用するクラスの設定例

設定ファイル(default.xml)にて、利用するクラスのフルパスを「hibiki.workflow.js.packages」タグで囲みます。

カンマ区切りにすることで複数のクラスを指定することができます。また「*(アスタリスク)」を用いることで全てのクラスを指定することができます。(利用するクラスはアクセスレベルがpublicである必要があります)

  • 設定ファイル(default.xml)の記述例
<hibiki.workflow.js.packages>
jp.co.mycompany.mypackage.*
</hibiki.workflow.js.packages>

■モジュールの配置

利用するカスタムクラス群をjarファイルにまとめ、以下のディレクトリに配置してください。なお利用するモジュールの構文チェックは行いませんので、事前に確認した上で配置してください。

/var/hibiki/modules/

■イベントハンドラでの使用例

カスタムクラス・メソッドを呼び出す場合は、先頭に「Packages」と記述しフルパスで記述します。

  • イベントハンドラの記述例
<js>
Packages.jp.co.mycompany.mypackage.MyClass.myMethod();
context.setPVarValue("string01","+str);
</js>
無限ループ処理への対応

<js>タグ内に記述されたJavascript実行時のインストラクション数をカウントし、指定した上限値を超えた場合にプロセスを終了させることが可能です。なお初期値は「1000000」となっています。

■default.xmlでのインストラクション数の上限値の設定例

設定ファイル(default.xml)にて、上限値を「hibiki.workflow.js.instructionLimit」タグで囲みます。未設定の場合は「1000000」に設定されます。設定ファイル(default.xml)を変更する方法については、システム管理者にご確認ください。

  • 設定ファイル(default.xml)の記述例
<hibiki.workflow.js.instructionLimit>
1000000
<hibiki.workflow.js.instructionLimit>

イベントハンドラのメッセージ送信機能

イベントハンドラを設定して行うメッセージ送信について説明します。
イベントハンドラのメッセージ送信機能では、次の項目を設定できます。

表 イベントハンドラで設定できるメッセージの項目

設定項目 設定できるデータ 知話輪対応
宛先 ・アカウント型のデータ
・文字列型のデータ
アカウント型のデータのみ対応
差出人 ・アカウント型のデータ
・文字列型のデータ
非対応(無視されます)
件名 ・任意の文字列
・文書に登録されたデータや実施中プロセスのデータ
ノートの件名として表示
本文 ・任意の文字列
・文書に登録されたデータや実施中プロセスのデータ
ノートの本文として表示
添付ファイル ファイルフォルダ部品に登録された添付ファイル ファイル件数は10件、1ファイル10MBまで

また、知話輪へのイベントハンドラのメッセージ送信で、次の項目を設定できます。

表 知話輪へのイベントハンドラで設定できるメッセージの項目

設定項目 設定できるデータ 説明
メッセージ ・任意の文字列
・文書に登録されたデータや実施中プロセスのデータ
メッセージとして表示
プッシュ通知先 ・アカウント型のデータ
・allタグ
通知が届くと同時に、指定された個人にバッチが表示される
all - プッシュ通知先に設定することで、通知が届くと同時に、宛先グループに所属するユーザすべてにパッチが表示される

件名・本文の内容は、タグの配下に直接記述する以外に、任意に作成したテンプレートファイルを指定して利用することも可能です。

メールテンプレートファイルの参照方法・作成方法については【テンプレートファイルの使用方法】を参照してください。

なお、差出人は設定必須ではありません。未設定の場合は、メッセージ送信イベントハンドラが記述されたアクティビティの実施者がメールの差出人となります。ただし、”default.xml”の「通知メールの送信元の設定」と「イベントハンドラの差出人タグのデフォルト値の設定」の値により差出人として適用される値の優先順序が変わります。

メッセージ送信方法として、「メール」と「知話輪」があります。業務プロセス定義で設定した送信方法が、メッセージ送信イベントハンドラの送信方法として適用されます。なお、「メッセージ送信」タグのtargetパラメータで送信方法を強制的に指定することも可能です。その際に指定可能な値は、「mail」と「chiwawa」です。

【default.xml の 「通知メールの送信元の設定」が設定済みの場合】
いかなる設定にも関わらず、”default.xml”の「通知メールの送信元の設定」の設定値が有効となります。
プロセス側での設定によらず、アクティビティのメール通知の差出人をSm@rtDB全体で統一したい場合はこの設定を使用します。

【default.xml の 「通知メールの送信元の設定」が未設定かつ、差出人タグが設定されている場合】
差出人タグの設定値が有効となります。
アクティビティのメール通知の差出人を、アクティビティごとに設定したい場合はこの設定を使用します。

【default.xml の 「通知メールの送信元の設定」が未設定かつ、差出人タグが未設定、かつdefult.xml の「イベントハンドラの差出人タグのデフォルト値の設定」が設定済みの場合】
default.xml の「イベントハンドラの差出人タグのデフォルト値の設定」の値が有効となります。
アクティビティのメール通知の差出人をSm@rtDB全体で統一したいが、プロセスのアクティビティによっては柔軟に差出人を変更したい場合に設定します。

【default.xml の 「通知メールの送信元の設定」が未設定かつ、差出人タグが未設定、かつdefault.xml の「イベントハンドラの差出人タグのデフォルト値の設定」が未設定の場合】
メール通知イベントハンドラが記述されたアクティビティの実施者がメールの差出人となります。

【差出人設定の優先順序】
“default.xml”の「通知メールの送信元の設定」による設定 > 差出人タグ > “default.xml”の「イベントハンドラの差出人タグのデフォルト値の設定」 > アクティビティ実施者

メールが送信できない場合、設定された差出人に対して送信に失敗した旨のメールが送信されます。

※件名と本文を設定する際に、イベントハンドラで使用しているタグは使用できません。
件名と本文の設定方法については次項【メッセージ送信処理の設定方法】を参照してください。

メッセージ送信処理の設定方法

メッセージ送信機能(メール)で使用するタグは以下の通りです。

  • メッセージ送信
  • 宛先
  • 差出人
  • 件名
  • 本文
  • 添付ファイル

メッセージ送信機能(知話輪)で使用するタグは以下の通りです。

  • メッセージ送信
  • 宛先
  • メッセージ
  • 件名
  • 本文
  • 添付ファイル
  • プッシュ通知先
  • all

以下は、上記のタグを利用したメッセージ送信イベントハンドラのサンプルです。
※本章にて文書部品タグの「item-id」属性に設定されている文字列は、タグにて利用したい部品の「部品キー」となります。

送信するメッセージ(メール)の内容

宛先     :アカウント型プロセス変数"account01"に代入されたユーザ、業務開始者
差出人    :文書型プロセス変数"doc01"に格納された文書にて、部品キーが"mailfromuser"となっている「アカウント選択部品(メニュー)」に設定されたユーザ。
件名     :「申請が差し戻されました」(固定の内容)
本文     :------------------------------------

■承認担当者:(アクティビティ実施者の名前)

■文書URL:(メッセージに利用している文書のURL)

■申請タイトル: (メッセージに利用している文書にて、部品キーが"title"である文字列入力ボックス部品のデータ)

■差戻し理由: (メッセージに利用している文書にて、部品キーが"comment"であるリッチテキスト部品のデータ)


添付ファイル:文書型プロセス変数"doc01"に格納されている文書にて、部品キーがそれぞれ"fileFolder"と"fileFolder_2"の部品に登録されているファイル

メッセージ送信イベントハンドラのサンプル

<メッセージ送信 document="doc01" >
<宛先>
<変数 name="account01"/>
<業務開始者/>
</宛先>
<差出人>
<文書部品 document="doc01" item-id="mailfromuser"/>
</差出人>
<件名>申請が差し戻されました</件名>
<本文>

------------------------------------
■承認担当者:$sender.name
■文書URL:$url.documentDetail
■申請タイトル: $!document.getText("title")
■差戻し理由: $!document.getPlainText("comment")
------------------------------------
</本文>
<添付ファイル document="doc01" item-id="fileFolder"/>
<添付ファイル document="doc01" item-id="fileFolder_2"/>
</メッセージ送信>

メール送信の設定方法を、サンプルに記述されているタグの順番に説明します。

メッセージ送信タグの設定方法

イベントハンドラでメッセージを送信したい場合、メッセージ送信タグを記述します。メッセージ送信タグの配下には、次のタグを指定する必要があります。

  • 宛先
  • 件名
  • 本文

件名や本文で文書情報格納先に格納された文書のデータを使用する場合は、<メッセージ送信>タグの属性に文書型のプロセス変数を指定する必要があります。

サンプル

<メッセージ送信 document="doc01">

サンプル結果
doc01に格納された文書を使用したメッセージを送信する。

宛先タグの設定方法

<メッセージ送信>タグ配下に必須のタグです。
宛先を設定したい場合、宛先タグを記述します。宛先タグは、配下に指定されたタグによって返されたデータをメッセージの宛先として扱います。
タグは複数指定でき、複数のデータが返された場合は全てのデータを宛先に設定します。
宛先タグでは、以下のようなタグが設定可能です。

文字列型のデータを返すタグ
アカウント型のデータを返すタグ
<文書部品>タグ※

※ 宛先タグ配下に記述する文書部品タグにて、「item-id」属性に指定可能なのは次の部品です。

文字列入力ボックス部品
文章入力エリア部品
自動更新部品(「テキスト型」のみ)
アカウント選択(ポップアップ)部品
アカウント選択(メニュー)部品

「item-id」属性にて「文字列入力ボックス」、「文章入力エリア」、「自動更新部品(テキスト型)」部品を指定し、宛先として使用する場合の注意事項

  • カンマ区切りで複数のメールアドレスを指定することが可能です。
  • 宛先として有効な入力値は、メールアドレスと “, “(カンマ)です。
  • 入力の形式は、「ローカル部@ドメイン」というメールアドレスの形式(RFC5321による規定フォーマット)に合致している必要があります。<>(括弧)を使って宛先欄の表示を指定することはできません。(e.g.情報太郎様<ittaro@dreamarts.co.jp>)
  • 通知方法設定で通知先に「知話輪」を指定している場合、知話輪への通知には文字列属性の宛先は無視されます。 ※通知方法設定で通知先に「知話輪」を指定している場合、知話輪への通知には文字列属性の宛先は無視されます。

サンプル

<宛先>
<変数 name="account01"/>
<文書部品 document="doc01" item-id="itemKey"/>
<担当者/>
<アカウントvalue="1000013"/>
</宛先>

サンプル結果
メッセージの宛先に、次を設定する。
アカウント型プロセス変数"account01"に代入されているユーザ
文書型プロセス変数"doc01"に格納された文書にて、部品キーが"itemKey"の部品に設定された
ユーザ、またはメールアドレス※
メッセージ送信イベントハンドラが記述されているアクティビティの「担当者」
MID=1000013のユーザ

※ 宛先がグループの場合

宛先がグループの場合、グループに所属しているすべてのユーザを宛先として数えます。

グループに所属しているグループの全所属ユーザや、下位グループに所属しているユーザも、宛先として数えます。

差出人タグの設定方法

<メッセージ送信>タグ配下に設定する任意タグです。
差出人を設定したい場合、差出人タグを記述します。差出人タグは、配下に指定されたタグによって返されたデータをメッセージの差出人として扱います。
差出人タグを設定しない場合は、メッセージ送信イベントハンドラが記述されたアクティビティの実施者がメッセージの差出人となります。また、この差出人の設定はプロセス内で参照可能な「送信者」情報を示す変数「$sender.name」にも反映されます。

差出人タグでは、以下のようなタグが設定可能です。

  • アカウント型のデータを返すタグ
    アカウント側のタグ(<実施者/>、<担当者/>等)
    アカウント型の変数
    アカウント選択(ポップアップ)部品
    アカウント選択(メニュー)部品

  • 文字列型のデータを返すタグ
    文字列型の変数
    文字列入力ボックス部品
    文章入力エリア部品
    自動更新部品(データ型が「テキスト型」の場合のみ)

注意事項

  • 文字列型の部品を利用する場合、カンマ区切りで複数のメールアドレスを指定することが可能ですが、差出人には、最初に見つかったメールアドレスが設定されます。
  • 文字列型の部品に差出人のメールアドレスを設定する場合に有効な設定値は、メールアドレスと “, “(カンマ)です。尚、入力の形式は、「ローカル部@ドメイン」というメールアドレスの形式(RFC5321による規定フォーマット)に合致している必要があります。また、<>(括弧)を使って宛先欄の表示を指定することはできません。(e.g.情報太郎様<ittaro@dreamarts.co.jp>)
  • アカウント選択部品にグループが設定された場合は、差出人としては無効となり、メールの差出人はメール通知イベントハンドラが記述されたアクティビティの実施者となります。
  • “default.xml”に「通知メール送信元の設定」が設定されている場合は、”default.xml”の設定値が有効となり、差出人タグの内容は反映されません。
    該当の設定:

    • system.mail.smtp-header.from.address
    • system.mail.smtp-header.from.name

      ※詳細は『運用ガイド』を参照してください。

  • “default.xml”の「通知メール送信元の設定」が未設定で、尚且つ差出人タグが未設定の場合、メッセージの差出人はメッセージ通知イベントハンドラが記述されたアクティビティの実施者となります。

サンプル

<差出人>
<アカウント value="1000013"/>
</差出人>

メッセージの差出人に、MIDが”1000013”のユーザを設定する。

<差出人>
<変数 name="account01"/>
</差出人>

メッセージの差出人に、アカウント型プロセス変数"account01"に代入されているユーザを設定する。

<差出人>
<文書部品 document="doc01" item-id="mailfromuser"/>
</差出人>

メッセージの差出人に、文書型プロセス変数"doc01"に格納された文書にて、部品キーが"mailfromuser"となっている部品に設定されたユーザもしくはメールアドレスを設定する。(アカウント選択部品の場合はユーザとなり、文字列型のデータを入力できる部品の場合はメールアドレスとなります。)

<差出人>
<担当者/>
</差出人>

メッセージの差出人に、メッセージ送信イベントハンドラが記述されているアクティビティの「担当者」となっているユーザを設定する。

件名タグの設定方法

<メッセージ送信>タグ配下に必須のタグです。

件名を設定したい場合、件名タグを記述します。件名タグで囲んだ値は、メッセージの件名として扱われます。

タグの配下には、文字列型のデータ(任意の文字列)を直接記述するか、メッセージ送信イベントハンドラで利用可能な変数を記述します。利用可能な変数については、【メッセージ送信イベントハンドラで参照可能な情報】を参照してください。

また、件名を別ファイルに定義し、それを参照することも可能です。別ファイルの参照については【テンプレートファイルの使用方法】を参照してください。

サンプル

<件名>$!document.getText("mailTitle")</件名>

サンプル結果

メッセージの件名に、フォーム定義の「mailTitle」部品に登録されたデータを設定する。

  • 従来のイベントハンドラで使用するタグは、<件名>タグ配下では使用できません。
  • 件名に返されたデータが改行を含む場合、1行目に記載される文字列のみ反映されます。

本文タグの設定方法

<メッセージ送信>タグ配下に必須のタグです。

本文を設定したい場合、本文タグを記述します。本文タグで囲んだ値は、メールの本文として扱われます。

タグの配下には、文字列型のデータ(任意の文字列)を直接記述するか、メッセージ送信イベントハンドラで利用可能な変数を記述します。利用可能な変数については、【メッセージ送信イベントハンドラで参照可能な情報】を参照してください。

また、本文を別ファイルに定義し、それを参照することも可能です。別ファイルの参照については【テンプレートファイルの使用方法】を参照してください。

サンプル

<本文>
申請が承認されました。
●承認日
$!document.getDate("Date")
</本文>

サンプル結果
メールの本文に、フォーム定義の「Date」部品に登録されたデータを設定する。

※従来のイベントハンドラで使用するタグは、<本文>タグ配下では使用できません。

添付ファイルタグ

メールに添付ファイルを指定したい場合、添付ファイルタグを記述します。添付ファイルタグは、属性に指定した部品に登録されているファイルを添付ファイルとして扱います。

メールに添付できるのはバインダのファイルフォルダ部品に登録されたファイルのみです。

添付ファイルタグは1部品に対して1つのタグを記述します。異なるファイルフォルダ部品に設定されているファイルを同じメールに添付したい場合は、利用したい部品の数に合わせて添付ファイルタグを記述します。

サンプル

<添付ファイル document="doc01" item-id="fileFolder" />
<添付ファイル document="doc01" item-id="fileFolder_2" />

サンプル結果

メールの添付ファイルとして、doc01に格納された文書の「fileFolder」部品と「fileFolder_2」に登録されたファイルを設定する。

※<メッセージ送信>タグ配下に必須のタグではありません。

送信するメッセージ(知話輪)の内容

宛先     :アカウント型プロセス変数"account01"に代入されたユーザ、業務開始者
メッセージ  :プロセスからの担当者通知です!
       (メッセージに利用している文書にて、部品キーが"message"である文字列入力ボックス部品のデータ)
件名     :「申請が差し戻されました」(固定の内容)
本文     :------------------------------------

■承認担当者:(アクティビティ実施者の名前)

■文書URL:(メッセージに利用している文書のURL)

■申請タイトル: (メッセージに利用している文書にて、部品キーが"title"である文字列入力ボックス部品のデータ)

■差戻し理由: (メッセージに利用している文書にて、部品キーが"comment"であるリッチテキスト部品のデータ)


添付ファイル:文書型プロセス変数"doc01"に格納されている文書にて、部品キーがそれぞれ"fileFolder"と"fileFolder_2"の部品に登録されているファイル

プッシュ通知先:担当者

メッセージ送信イベントハンドラのサンプル

<メッセージ送信 document="doc01" >
<宛先>
<変数 name="account01"/>
<業務開始者/>
</宛先>
<メッセージ>
プロセスからの担当者通知です!
$!document.getText("message")
</メッセージ>
<件名>申請が差し戻されました</件名>
<本文>

------------------------------------
■承認担当者:$sender.name
■文書URL:$url.documentDetail
■申請タイトル: $!document.getText("title")
■差戻し理由: $!document.getPlainText("comment")
------------------------------------
</本文>
<添付ファイル document="doc01" item-id="fileFolder"/>
<添付ファイル document="doc01" item-id="fileFolder_2"/>
<プッシュ通知先>
<担当者/>
</プッシュ通知先>
</メッセージ送信>

メール送信の設定方法を、サンプルに記述されているタグの順番に説明します。

メッセージ送信タグの設定方法

メールのメッセージ送信と同様です。

宛先タグの設定方法

<メッセージ送信>タグ配下に必須のタグです。
宛先を設定したい場合、宛先タグを記述します。宛先タグは、配下に指定されたタグによって返されたデータを知話輪への投稿先として扱います。
タグは複数指定でき、複数のデータが返された場合は全てのデータを宛先に設定します。
宛先タグでは、以下のようなタグが設定可能です。

アカウント型のデータを返すタグ
<文書部品>タグ※

※ 宛先タグ配下に記述する文書部品タグにて、「item-id」属性に指定可能なのは次の部品です。

アカウント選択(ポップアップ)部品
アカウント選択(メニュー)部品

サンプル

<宛先>
<変数 name="account01"/>
<文書部品 document="doc01" item-id="itemKey"/>
<担当者/>
<アカウントvalue="1000013"/>
</宛先>

サンプル結果
メッセージの宛先に、次を設定する。
アカウント型プロセス変数"account01"に代入されているユーザ
文書型プロセス変数"doc01"に格納された文書にて、部品キーが"itemKey"の部品に設定された
ユーザ
メッセージ送信イベントハンドラが記述されているアクティビティの「担当者」
MID=1000013のユーザ

※ 宛先がグループの場合

宛先がグループの場合、そのグループの知話輪のタイムラインをメッセージの投稿先として扱います。

メッセージタグの設定方法

メッセージを設定したい場合、メッセージタグを記述します。メッセージタグで囲んだ値は、知話輪のメッセージとして扱われます。メールへのメッセージ送信ではこの設定は無視されます。

タグの配下には、文字列型のデータ(任意の文字列)を直接記述するか、メッセージ送信イベントハンドラで利用可能な変数を記述します。利用可能な変数については、【メッセージ送信イベントハンドラで参照可能な情報】を参照してください。

サンプル

<メッセージ>
プロセスからの担当者通知です!
$$!document.getText("Message")
</メッセージ>

サンプル結果
知話輪のメッセージに、フォーム定義の「Message」部品に登録されたデータを設定する。

※文字数制限は1000文字です。
※従来のイベントハンドラで使用するタグは、<本文>タグ配下では使用できません。

件名タグの設定方法

メールのメッセージ送信と同様の設定方法です。

本文タグの設定方法

メールのメッセージ送信と同様の設定方法です。

添付ファイルタグ

メールのメッセージ送信と同様の設定方法です。

プッシュ通知先タグ

プッシュ通知先を設定したい場合、プッシュ通知先タグを記述します。プッシュ通知タグは、配下に指定されたタグによって返されたデータを知話輪へのプッシュ通知先として扱います。宛先が個人の場合、プッシュ通知先タグに関係なくプッシュ通知されます。メールへのメッセージ送信では無視されます。 タグは複数指定でき、複数のデータが返された場合は全てのデータをプッシュ通知先に設定します。※

※allタグを設定した場合は、allタグ以外の他のタグが無効になります。

プッシュ通知先タグでは、以下のようなタグが設定可能です。

アカウント型のデータを返すタグ
<文書部品>タグ※
allタグ

※ 宛先タグ配下に記述する文書部品タグにて、「item-id」属性に指定可能なのは次の部品です。

アカウント選択(ポップアップ)部品
アカウント選択(メニュー)部品

サンプル

<宛先>
<変数 name="account01"/>
<文書部品 document="doc01" item-id="itemKey"/>
<担当者/>
<アカウントvalue="1000013"/>
</宛先>

サンプル結果
プッシュ通知先に、次を設定する。
アカウント型プロセス変数"account01"に代入されているユーザ
文書型プロセス変数"doc01"に格納された文書にて、部品キーが"itemKey"の部品に設定された
ユーザ
メッセージ送信イベントハンドラが記述されているアクティビティの「担当者」
MID=1000013のユーザ

※ プッシュ通知先がグループの場合

プッシュ通知先がグループの場合、グループに所属しているユーザすべてをプッシュ通知先として扱います。 宛先グループに所属していないユーザにはプッシュ通知先として扱いません。

allタグ

プッシュ通知先にallを設定したい場合、allタグを記述します。allタグは、プッシュ通知先タグ配下でのみ設定可能であり、宛先グループに所属するユーザすべてをプッシュ通知先として扱います。メールへのメッセージ送信は無視されます。 allタグを指定すると、プッシュ通知先タグに配下に設定した他のタグが無効になります。

サンプル

<プッシュ通知先>
<all>
</プッシュ通知先>

サンプル結果
宛先タグに設定されているグループに所属するユーザすべてをプッシュ通知先として扱う。

テンプレートファイルの使用方法

件名や本文では、あらかじめ定義しておいたファイルをイベントハンドラ内で利用することができます。

複数のイベントハンドラで同一のファイルを利用することでメンテナンス性が向上します。

本項では、イベントハンドラにて利用する定義ファイルを「テンプレートファイル」として、その使用方法を説明します。

テンプレートファイル使用の条件

テンプレートファイルを使用するための条件は次となります。

テンプレートファイルの拡張子は「vm」である

使用するテンプレートファイルはAPサーバのディレクトリ(/var/hibiki/data/custom-templates)へ配置する※

※ 全てのAPサーバから参照できる必要があります。

テンプレートファイルの作成方法

① テキストエディタ等で、「件名」や「本文」に設定したい文字列型のデータ(任意の文字列)や「メッセージ送信イベントハンドラで利用可能な変数」を記述します。
② 次のように設定して、ファイルを保存します。

表 テンプレートファイルの設定項目

設定項目 内容
拡張子 vm
文字コード UTF-8

③ 作成したファイルを、FTPソフト等を利用して上述のディレクトリ(/var/hibiki/data/custom-templates)へアップロードします。
ファイルの権限は次のように設定してください。

表 テンプレートファイルの権限設定

設定項目 内容
パーミッション -rw-r--r-- hibiki hibiki

イベントハンドラでの記述方法

記述式では、ファイル名を指定します。
【メール送信処理の設定方法】での「メッセージ送信イベントハンドラのサンプル」をテンプレートファイル参照で記述する場合

<メッセージ送信 document="doc01" >
 <宛先><アカウント変数 name="account01" /><アカウント value="1000013"/> </宛先>
  <件名>申請が差し戻されました</件名>
  <本文>
   #parse("TurnDown.vm")
  </本文>
  <添付ファイル document="doc01" item-id="fileFolder"/>
</メッセージ送信>

メッセージ送信イベントハンドラで参照可能な情報

メッセージ送信イベントハンドラで参照可能な情報と、参照のために記述する変数を説明します。

参照する情報には、高度な使用法を必要とするものもあります。

高度な使用法については本ドキュメントではサンプルの提示にとどめます。高度な使用法についての詳細は「Sm@rtDB API説明書」を参照してください。

文書情報の参照方法
次の一覧にまとめられている情報は、「変数」欄の内容と、必要に応じて該当する部品の部品IDや部品キーを( )内に代入することで参照できます。

「$recipient.name」を除き、バインダ通知定義で使用できるすべての変数を使用可能です。

バインダ通知定義で使用できる変数については、「Sm@rtDBリファレンスガイド~文書管理編~」を参照してください。

表 文書情報の参照方法

分類 取得する情報 変数
バインダ情報 バインダ名 $binder.name
部品情報
(部品IDまたは部品キー)に定義された項目名 $contents.get(部品ID/"部品キー").title
(部品IDまたは部品キー)に入力されたデータ $contents.get(部品ID/"部品キー").value
文字列入力ボックス・文章入力エリア・入力可能な単一選択に入力されたデータ $!document.getText(部品ID/"部品キー")
数値部品に入力されたデータ $!document.getNumber(部品ID/"部品キー")
リッチテキスト部品に入力されたタグなしのデータ $!document.getPlainText(部品ID/"部品キー")
日付部品に登録されたデータ $!document.getDate(部品ID/"部品キー")
リンク部品の「URL」に入力されたデータ $!document.getLinkUrl(部品ID/"部品キー")
リンク部品の「タイトル」部品に入力されたデータ $!document.getLinkTitle(部品ID/"部品キー")
文字列型に変換した自動更新部品のデータ $!document.getDynaChangeableGenericData(部品ID/"部品キー")
(部品IDまたは部品キー)の部品タイプ $!document.getItemType(部品ID/"部品キー")
(部品キー)の部品ID
部品キーが未設定の場合も部品IDを返す
$!document.getItemId("部品キー")
(部品ID)の部品キー
部品キーが未設定の場合は部品IDを返す
$!document.getItemKey(部品ID)
文書がデータを持っている全部品のIDリスト $!document.ItemIdList
文書情報
(絶対パス)
通知対象となった文書の詳細画面のURL $url.documentDetail
通知対象となった文書の詳細画面(フレームなし)のURL $url.documentDetailNoFrame
通知対象となった文書の簡易閲覧画面のURL $url.documentSimple
通知対象となったバインダの文書一覧のURL $url.documentList
通知対象となったバインダの文書一覧(フレームなし)のURL $url.documentListNoFrame
文書情報
(相対パス)
通知対象となった文書の詳細画面の相対パス $relUrl.documentDetail
通知対象となった文書の詳細画面(フレームなし)の相対パス $relUrl.documentDetailNoFrame
通知対象となった文書の簡易閲覧画面の相対パス $relUrl.documentSimple
通知対象となったバインダの文書一覧の相対パス $relUrl.documentList
通知対象となったバインダの文書一覧(フレームなし)の相対パス $relUrl.documentListNoFrame

高度な使い方が必要な文書情報の参照方法

次の一覧に表示まとめられている情報は、「変数」欄の内容に加えてさらに記述を必要とする、高度な使い方が必要な情報です。高度な使用法の詳細については、「Sm@rtDB API説明書」を参照してください。

表 高度な使い方が必要な文書情報の参照方法

分類 取得する情報 変数
部品情報
複数選択部品に入力されたデータ $!document.getMultiChoice(部品ID/"部品キー")
単一選択(項目)、単一選択(メニュー)部品の
データ
$!document.getChoice(部品ID/"部品キー")
ファイルフォルダ部品に登録されたデータ $!document.getFileList(部品ID/"部品キー")
画像部品に登録されたデータ $!document.getImage(部品ID/"部品キー")
アカウント選択(メニュー)部品のデータ $!document.getAccount(部品ID/"部品キー")
アカウント選択(ポップアップ)部品に登録された全アカウントのデータ $!document.getAccountList(部品ID/"部品キー")
文書リンク部品に入力されたデータ$!document.getLinkedDocumentList(部品ID/"部品キー") $!document.getLinkedDocumentList(部品ID/"部品キー")
バインダ参照部品に入力されたデータ $!document.getLinkedDocument(部品ID/"部品キー")
カテゴリ部品のデータ $!document.getCategory(部品ID/"部品キー")

以下は、「$!document.getMultiChoice(部品ID/"部品キー")」の利用例です。

「$!document.getMultiChoice(部品ID/"部品キー"」の利用例 (部品キーを"checkboxItem"とする)

サンプル結果: 部品キーが"checkboxItem"である部品にデータが入っていなかった場合、「未選択」という文字列を返す。データが入っている場合は、データを返す。

「$document.getMultiChoice(部品ID/"部品キー")」を使用したサンプル

#if($!document.getMultiChoice("checkboxItem").isEmpty())未選択
#else $contents.get("checkboxItem") #end

プロセス情報の参照方法

次の一覧にまとめられている情報は、「変数」欄の内容を記述することで参照できます。

表 プロセス情報の参照方法

分類 取得するデータ 変数
メール情報 送信者名 $sender.name
プロセス情報
見出し $!context.processInstance.title
業務開始時のコメント $!context.processInstance.comment
プロセス変数
("string01~10"/"number01~10")の値
$!context.getPVarValue("string01~10"/"number01~10")
遷移先のキー
(遷移矢印のキーが設定された場合に情報を取得する)
$!context.EndCode
プロセス情報
(絶対パス)
アクティビティ実施画面のURL $url.execute
ワークリストのURL $url.worklist
実施履歴画面のURL $url.history
プロセス情報
(相対パス)
アクティビティ実施画面のURL $relUrl.execute
ワークリストのURL $relUrl.worklist
実施履歴画面のURL $relUrl.history

送信者名($sender.name)については、送信メールの「差出人」となります。差出人の設定については「差出人タグの設定方法」をご参照ください。

高度な使い方が必要なプロセス情報の参照方法

下記の情報は、「変数」欄の内容を記述した上でさらに記述を追加する必要があります。参照方法については、「Sm@rtDB API説明書」を参照してください。

表 高度な使い方が必要なプロセス情報の参照方法

分類 取得するデータ 変数
実施者情報
業務開始者 $!context.ProcessStarter
直前アクティビティの実施者 $!context.PreviousTaskExecutor
実施中アクティビティの実施者 $!context.CurrentTaskExecutor

以下は、「$!context.ProcessStarter」を使用するタグの利用例です。

「$!context.ProcessStarter」の利用例

サンプル結果:取得する情報::業務開始者のMID

「!$context.ProcessStarter」を使用したサンプル

$!context.ProcessStarter.Id

メッセージが送信されない場合

イベントハンドラで設定されたメッセージが送信されない場合があります。次の場合です。
 宛先数が「宛先数の制限設定」を超えていた場合
 宛先のメールアドレスが無効である場合
それぞれの場合の動作について説明します。

宛先数が「宛先数の制限設定」を超えていた場合
設定値を越える宛先が設定されているメールは、どの宛先に対しても送信されません。
送信者には送信失敗の連絡メールが送信されます。
送信失敗の連絡メールについて、詳細は『運用ガイド』を参照してください。

宛先のメールアドレスが無効である場合
メールアドレスが無効な場合とは、次の場合を指します。
 メールアドレスが送信先の制限に一致した場合
 メールアドレスがメールアドレスのフォーマットに合致しない場合
無効なアドレスにはメールが送信されません。

複数の宛先が設定されている場合は、無効なアドレスのみにメールが送信されず、有効なアドレスにはメールが送信されます。送信者には送信失敗の連絡メールが送信されます。

送信される項目は次のとおりです。

表 送信失敗の連絡メール内容

項目 説明
宛先 送信者
差出人 送信者(定期処理の場合は通知定義の最終更新ユーザ)
件名 [Delivery Failed]メール通知は中止されました
内容 本文
以下のプロセスのメール通知は中止されました。
宛先が正しくありません。
中止された宛先を確認してください。その他の正しい宛先には送信しました。

失敗した宛先の情報(次のいずれか)
システムで送信制限されている宛先
入力が不正な宛先

プロセス・文書の情報
プロセス定義名
アクティビティ名
通知対象文書の文書番号
通知対象文書の詳細画面URL

注意事項

  • メールで文書の情報を参照する場合の権限

メールで文書の情報を参照する場合、アクティビティ実施者や宛先に設定されたユーザは、権限による制限を受けません。閲覧権限のないデータが含まれている場合も、イベントハンドラで送信されるメールにはデータが参照されます。
送信されるメールの内容はすべての宛先に対して同一です。

  • メール表示の言語

多言語対応環境の場合、イベントハンドラによって送信されるメールはアクティビティ実施者の言語設定に従います。言語設定の影響を受けるのは、ユーザ・グループ名の表示のみです。

  • 複数の宛先を指定した場合の受信者の見え方

複数の宛先が設定されていても、受信者からみた宛先には受信者本人のみが設定されています。