式の記述方法

概要

「やること」や「条件」のパラメーターの多くには、式を記述することができます。

式を記述することで、カスタマイズ中のフィールドの値や、別のアクションで行った計算結果などを参照することが可能になります。

式を使える箇所

式が使えるのはパラメーターの入力時で、以下のパラメーター種別になります。

式を使えない箇所

  • フィールド選択に限定されたパラメーター

  • 他のアクションの結果を参照するパラメーター

  • やること「JavaScriptを実行する

2種類の記述方法

式の記述方法は大きく2種類あります。

=式

文字列タイプのパラメーターでは、パラメーターを「=」から始めることにより、それ以降を式とみなします。Excel のセルに = 式を入力するような感覚です。

= 1 + 2

フィールドマッピングは各セット先フィールドに対してそれぞれこの形式で式を記述します。詳細は「フィールドマッピングの記述方法」をご覧ください。

${式}

複数行文字列やリッチテキストタイプのパラメーターでは、「=式」は使用できません。代わりに${}の中に式を埋め込みます。${}の外側は通常のテキストになります。

1 + 2 の結果は ${1 + 2} になります!

文字列タイプのパラメーターでも ${式}を使用することができます。ただし、=式と${式}を混在させることはできません。

使用可能な記述方法

パラメーター種別 使用可能な式の記述方法
文字列 =式, ${式}
複数行文字列 ${式}
リッチテキスト ${式}
フィールドマッピング =式

フィールドの値を参照する

式の中にフィールドコードを記述すると、そのフィールドの値を取得できます。以下の例では「数値_1」「数値_2」というフィールドの比率を計算します。

= 100 * 数値_1 / 数値_2

「どのレコードから参照するか」は文脈によります。基本的には「現在表示・編集している画面のレコード」を参照しますが、フィールドマッピングではマッピング元のレコードになる場合もあります。

文脈によらず、明示的に「現在の画面のレコード」を参照したい場合は「$$」を使用します。以下の例では、「数値_1」は明示的に「現在の画面のレコード」を参照するように指定し、「数値_2」は文脈に依存します。

= 100 * $$.数値_1 / 数値_2

さらに細かい属性値を参照する(*上級者向け)

フィールドの中には「ユーザー選択」の「ログイン名と表示名」のように、さらに細かい属性を持っているものがあります。これらの属性は、「.」で参照できます。以下の例は、レコード作成者のログイン名を参照します。どのフィールドタイプがどのような属性を持つかは、kintone の公式ドキュメントをご覧ください。

= 作成者.code

他のアクションの結果を参照する

式の中に $1 など、「$数字」を記述すると、その数値をアクションの番号とみなし、アクションの結果値を取得します。

= $12 + $13

この「$数字」を、${式}記法で記述する場合は、以下の例のようになります。

正:12番アクションの結果は${$12}です。

以下の記述だと、$12 の部分が式にならないので、思った結果になりません。

誤:12番アクションの結果は$12です。

文字列

式の中で固定の文字列を扱う場合は、ダブルクォーテーションで囲みます。

文字列に改行を含めたい場合は文字の代わりに「\n」と記述するとその部分が改行となります。以下の例は「東京、名古屋、大阪」を改行で区切った文字列を作成します。

= "東京\n名古屋\n大阪"

複数の文字列を結合する場合は、「&」で結合します。「+」ではないので注意してください。

= "今日の日付は" & 日付_1 & "です"

数値

数値に対しては四則演算(+-/*)と剰余(%)が使用可能です。

掛け算は「×」ではなくて半角の「*」になります。

割り算は「÷」ではなくて半角の「/」になります。

配列(*上級者向け)

フィールドに中には、チェックボックスやユーザー選択のように複数の値を持つものがあります。このようなフィールドは、値を「配列」と呼ばれる形式で持ちます。

配列の各要素には、JavaScript と同じように [] でアクセスできます。以下の例は「チェックボックス」フィールドで選択されている最初の値を取得します。

= チェックボックス[0]

以下の例は、”sample1”, “sample2” という2つの要素を持つ配列を作成します。

= ["sample1", "sample2"]

配列に対して属性指定を行った場合、結果は元の配列の各要素に対して、属性値を取り出した配列になります。以下の例は、ユーザー選択フィールドで選択されているすべてのユーザーのログイン名を配列で表した結果を返します。

= ユーザー選択.code

使用例