目次
ワークフローで利用できる表現式、関数
ワークフローのアクション(フィールドを更新、レコードを作成)はフィールドの値や表現式を利用してデータの作成、データの更新の設定を行います。
関連記事
ワークフローの設定方法
ワークフローで利用できる【値の設定】
データを更新・作成する各フィールドにセットできる値は以下の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,or | and条件、or条件 | |
| チェックボックスフィールド | false/no は 0 true/yes は 1 | |
| アルファベット | 小文字で記述 |
まとめ
表現式を理解することはワークフローを効果的に利用する重要なポイントになります。ご参考にしていただければ幸いです。