フィールドタイプに応じたフィールド値の記述方法

概要

フィールドに値をセットする」やフィールドマッピングで、フィールドに何かの値をセットしたい場合、セット先のフィールドタイプに応じて適切な形式の値をセットする必要があります。

以下のフィールドをいくつかのタイプに分類し、タイプ毎の挙動を説明します。なお、ここでのタイプ分類は Customine 独自の分類で、kintone 公式のものではありません。

文字列タイプ

以下のフィールドタイプが該当します。

  • 文字列(1行)
  • 数値
  • 文字列(複数行)
  • リッチエディター
  • ラジオボタン
  • ドロップダウン
  • リンク
  • ルックアップ
  • 日付
  • 時刻
  • 日時

固定値をセットしたい場合は、式を使用しなくても「値」パラメーターにセットしたい文字列をそのまま記載することができます。

式で指定する場合は、文字列で解釈できる形式である必要があります。

同じ「文字列タイプ」のフィールド値は、そのままセットすることが可能です。

(OK例)
= 文字列_1行

演算結果が文字列になる場合も OK です。

(OK例)
= 数値 & "円"

式の結果が配列になった場合は、その値がカンマ区切りになります。

(OK例: チェックボックスの選択値がカンマ区切りで返ります。)
= チェックボックス

人やグループ、組織を表すフィールドは、単純な文字列形式ではないので、「文字列タイプ」のフィールドにセットしようとすると、そのままではうまくいきません。

(NG例: [object Object] となってしまいます。)
= 作成者

この場合、code や name を指定すればうまくいきます。

(OK例)
= 作成者.name

日時タイプ

以下のフィールドタイプが該当します。

  • 日付
  • 時刻
  • 日時

これらのフィールドは「文字列タイプ」の一種でもあります。「文字列タイプ」の制約の上に、更に書式に制約がかかります。

以下で YYYY 等の記号は以下を表しています。

  • YYYY - 4桁の年
  • MM - 2桁の月(ゼロ埋め)
  • DD - 2桁の日(ゼロ埋め)
  • HH - 2桁の時(ゼロ埋め)
  • mm - 2桁の分(ゼロ埋め)
  • ss - 2桁の秒(ゼロ埋め)
フィールドタイプ 形式
日付 YYYY-MM-DD 2020-07-01
時刻 hh:mm 06:00
日時 YYYY-MM-DDTHH:mm:ssZ (ISO8601形式)
または YYYY-MM-DD HH:mm:ss
2020-07-01T08:00:00Z
2020-07-01 17:00

秒はつけても省略してもどちらでも OK です。

フィールドに値をセットする」でセット先が日時フィールドの場合は、上の表に記載されている形式でなくても、変換可能な形式であればセット可能です。例えば「YYYY/M/D H:m」形式でもセット可能です。フィールドマッピング等ではこの変換は行われません。

以下の例はセット先が日時フィールドとします。

(OK例)
= 日時_1
(OK例: ログインユーザーのタイムゾーンでセットされる)
= "2020-07-01 09:00"
(OK例: 日付フィールドと時刻フィールドを合成して日時フィールドにセットする)
= 日付 & " " & 時刻
(「フィールドに値をセットする」に限りOK、それ以外ではNG: 時刻がゼロ埋めされていない。)
= "2020-07-01 9:00"

文字列配列タイプ

以下のフィールドタイプが該当します。

  • チェックボックス
  • 複数選択

これらは本来は文字列の配列を指定しなければなりません。Customine では、配列ではない文字列を指定した場合、要素が1つの配列に変換してセットされますので、配列ではない文字列も指定可能です。

他のフィールド値を指定する場合は、「文字列タイプ」「文字列配列タイプ」が指定可能です。「文字列タイプ」で指定した場合は、要素が1つの配列とみなされます。

(OK例)
= ["sample1", "sample2"]
(OK例)
= チェックボックス
(OK例)
= "sample1"
(OK例)
= 文字列_1行
(NG例: ユーザー選択は文字列配列タイプでないので)
= ユーザー選択

ユーザー配列タイプ

以下が該当します。

  • ユーザー選択
  • グループ選択
  • 組織選択

このタイプは配列で、しかも要素が単純な文字列ではないので、注意を要するタイプです。

ユーザー、グループ、組織のいずれも、code(ログイン名)と name(表示名)の組み合わせで表現されます。

式を使用せずに文字列を指定した場合は、それを code(ログイン名)とみなして、要素が1つの配列としてセットします。

また式で結果が文字列になる場合も同様に、式の結果を code(ログイン名)とみなして、要素が1つの配列としてセットします。

(OK例: 文字列_1行に入っている値を code とみなしてセット)
= 文字列_1行

文字列の配列を指定した場合、それらは code(ログイン名) の配列とみなされます。

(OK例)
= ['suzuki', 'yamada', 'sato']

もちろん、式の結果が「ユーザー配列タイプ」のフィールド値であれば、それはそのままセットされます。

(OK例)
= ユーザー選択_2

作成者、更新者は配列ではありませんが、配列に変換されるので、そのまま指定することができます。

(OK例)
= 作成者

フィールドに値をセットする」の場合に限り「所属組織を取得する」や「所属グループ(ロール)を取得する」の結果を指定することができます。

(「フィールドに値をセットする」に限りOK、それ以外ではNG: 1番アクションで「所属組織を取得する」している場合)
= $1

ゲストユーザーを指定したい場合、code(ログイン名)が “guest/メールアドレス” の形式である必要があります。

(OK例)
= "guest/xxxxx@r3it.com"

添付ファイルタイプ

以下が該当します。

  • 添付ファイル

これは Customine においては特殊で、「添付ファイルをコピーする」でコピーした添付ファイルを別レコードにフィールドマッピングしながら保存するタイプのカスタマイズのみでセット可能です。

フィールドに値をセットする」等ではセットできません。

参考情報

やや専門的なドキュメントになりますが、以下の Cybozu 公式ドキュメントも参照してください。

https://developer.cybozu.io/hc/ja/articles/202166330