ワークフローで利用できる表現式、関数

ワークフローのアクション(フィールドを更新レコードを作成)はフィールドの値や表現式を利用してデータの作成、データの更新の設定を行います。

ワークフローで利用できる【値の設定】

データを更新・作成する各フィールドにセットできる値は以下の3つのパターンから方式を選択し値の設定を行います。

設定方式内容
RAWテキスト設定する値をテキストや数値で設定します。
例えば、2023、Vtigerなどです。
フィールドワークフローの対象となっているモジュールのフィールド、そのモジュールに関連するモジュールのフィールドが設定可能です。関連するモジュールはモジュール毎に異なります。
表現式ワークフローで利用可能な関数とフィールドの値を使って様々な式を設定することが可能です。
例えば、
・年間売上/12 → 年間売上という名称のフィールドの値を12で割った値
・if mailingcountry == ‘India’ then concat(firstname,’ ‘,lastname) else concat(lastname,’ ‘,firstname) end → 国(送付先)が、インドだったら名+姓の値を、インドでなかったら姓+名の値

表現式で利用可能な関数

分類記述方法内容
算術演算子   +、-、*、/加算(+)、減算(-)、乗算(*)、除算(/)
比較演算子==[ = ]
!=[ ≠ ]
>[ > ]
<[ < ]
>=[ >= ]
<=[ <= ]
関数concat(a,b)テキストフィールド値を連結します。
time_diffdays(a,b)二つの日付フィールド間の差を計算します。
time_diffdays(a)指定した日付フィールドと現在の日付の差を計算します。
time_diff(a,b)二つの日付フィールド間の時間(秒単位)の差を計算します。
time_diff(a)指定した日付フィールドの時間と現在の時間(秒単位)の差を計算します。
add_days(a,数字)指定した日付フィールドに指定した日数を追加した日付を計算します。
sub_days (a,数字)指定した日付フィールドに指定した日数を差し引いた日付を計算します。
add_time(a,数字)指定した日付フィールド(時間)に指定した時間数(分単位)を追加した日付(時間)を計算します。
sub_time(a,数字)指定した日付フィールド(時間)に指定した時間数 (分単位)を差し引いた日付(時間)を計算します。
get_date(‘today‘)今日の日付を取得します。
get_date(‘tomorrow‘)明日の日付を取得します。
get_date(‘yesterday‘)昨日の日付を取得します。
power(数字a,数字b)[a]の[b]乗を計算します。
substring(x,数字a,数字b)xフィールドのテキストのa番目からb番目までを抽出します。
preg_replace_str_only(対象文字列,置換文字列,subject)New:調査中
その他if ~ else条件分岐を表現できます。
‘テキスト値’テキストの値は、[’’]で囲みます。
※空白は[’ ‘]で表現します(スペースを”で囲います)。
and,orand条件、or条件
チェックボックスフィールド    false/no は 0
true/yes は 1
アルファベット小文字で記述

まとめ

表現式を理解することはワークフローを効果的に利用する重要なポイントになります。ご参考にしていただければ幸いです。