「フィールドに値をセットする」やフィールドマッピングで、フィールドに何かの値をセットしたい場合、セット先のフィールドタイプに応じて適切な形式の値をセットする必要があります。
以下のフィールドをいくつかのタイプに分類し、タイプ毎の挙動を説明します。なお、ここでのタイプ分類は Customine 独自の分類で、kintone 公式のものではありません。
以下のフィールドタイプが該当します。
固定値をセットしたい場合は、式を使用しなくても「値」パラメーターにセットしたい文字列をそのまま記載することができます。
式で指定する場合は、文字列で解釈できる形式である必要があります。
同じ「文字列タイプ」のフィールド値は、そのままセットすることが可能です。
(OK例)
= 文字列_1行
演算結果が文字列になる場合も OK です。
(OK例)
= 数値 & "円"
式の結果が配列になった場合は、その値がカンマ区切りになります。その際、空の値は除去されます。
(OK例: チェックボックスの選択値がカンマ区切りで返ります。)
= チェックボックス
人やグループ、組織を表すフィールドは、単純な文字列形式ではないので、「文字列タイプ」のフィールドにセットしようとすると、そのままではうまくいきません。
(NG例: [object Object] となってしまいます。)
= 作成者
この場合、code や name を指定すればうまくいきます。
(OK例)
= 作成者.name
以下のフィールドタイプが該当します。
これらのフィールドは「文字列タイプ」の一種でもあります。「文字列タイプ」の制約の上に、更に書式に制約がかかります。
以下で YYYY 等の記号は以下を表しています。
フィールドタイプ | 形式 | 例 |
---|---|---|
日付 | 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例: 変換されてセットされる)
= "2020-07-01 9:00"
以下のフィールドタイプが該当します。
これらは本来は文字列の配列を指定しなければなりません。Customine では、配列ではない文字列を指定した場合、要素が1つの配列に変換してセットされますので、配列ではない文字列も指定可能です。
他のフィールド値を指定する場合は、「文字列タイプ」「文字列配列タイプ」が指定可能です。「文字列タイプ」で指定した場合は、要素が1つの配列とみなされます。
(OK例)
= ["sample1", "sample2"]
(OK例)
= チェックボックス
(OK例)
= "sample1"
(OK例)
= 文字列_1行
人やグループ、組織を表すものをセットした場合、特例としてその code(ログイン名)の配列がセットされます。
(OK例: 選択されているユーザーの code(ログイン名)配列がセットされる)
= ユーザー選択
以下が該当します。
このタイプは配列で、しかも要素が単純な文字列ではないので、注意を要するタイプです。
ユーザー、グループ、組織のいずれも、code(ログイン名)と name(表示名)の組み合わせで表現されます。
式を使用せずに文字列を指定した場合は、それを code(ログイン名)とみなして、要素が1つの配列としてセットします。
また式で結果が文字列になる場合も同様に、式の結果を code(ログイン名)とみなして、要素が1つの配列としてセットします。
(OK例: 文字列_1行に入っている値を code とみなしてセット)
= 文字列_1行
文字列の配列を指定した場合、それらは code(ログイン名) の配列とみなされます。
(OK例)
= ['suzuki', 'yamada', 'sato']
もちろん、式の結果が「ユーザー配列タイプ」のフィールド値であれば、それはそのままセットされます。
(OK例)
= ユーザー選択_2
作成者、更新者は配列ではありませんが、配列に変換されるので、そのまま指定することができます。
(OK例)
= 作成者
セット先が組織選択フィールドであれば「ログインユーザーの所属組織を取得する」や「選択されているユーザーの所属組織を取得する」の結果を指定することができます。同様に、セット先がグループ選択フィールドであれば「ログインユーザーの所属グループ(ロール)を取得する」や「選択されているユーザーの所属グループ(ロール)を取得する」の結果を指定することができます。
(OK例: 1番アクションで「ログインユーザーの所属組織を取得する」している場合)
= $1
ゲストユーザーを指定したい場合、code(ログイン名)が “guest/メールアドレス” の形式である必要があります。
(OK例)
= "guest/xxxxx@r3it.com"
以下が該当します。
これは Customine においては特殊で、「添付ファイルをコピーする」でコピーした添付ファイルを別レコードにフィールドマッピングしながら保存するタイプのカスタマイズのみでセット可能です。
「フィールドに値をセットする」等ではセットできません。
やや専門的なドキュメントになりますが、以下の kintone 公式ドキュメント も参照してください。