今回は編集画面で文字列とユーザー選択間の相互コピーやユーザー選択間のコピーの方法などをご紹介します。
Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください。
今回のカスタマイズで出来ること
今回のカスタマイズでは以下の内容を行います。
文字列(1行)フィールドからユーザー選択フィールドへ値をコピーする
ユーザー選択フィールドから文字列(1行)フィールドへ値をコピーする
ユーザー選択フィールドからユーザー選択フィールドへ値をコピーする
ログインユーザーを取得し、ユーザー選択フィールドに値を上書きする
ログインユーザーを取得し、ユーザー選択フィールドに値を追記する
アプリのフォーム
次のようにフィールドを設定してください。なお、フィールドコードとフィールド名は同一のものを設定します。
「文字列1行」:文字列(1行)フィールド
「文字列1行のコピー先」:ユーザー選択フィールド
「ユーザー選択A」:ユーザー選択フィールド
「ユーザー選択Aのコピー先」:文字列(1行)フィールド
「ユーザー選択B」:ユーザー選択フィールド
「ユーザー選択Bのコピー先」:ユーザー選択フィールド
「ログインユーザーのセット先」:ユーザー選択フィールド
「ログインユーザーの追記先」:ユーザー選択フィールド
文字列(1行)からユーザー選択へ値をコピーする
設定はこちらです。
やること「フィールドの値を編集して値が変わった時」に条件「フィールドに値をセットする」を使用します。
kintoneでの画面イメージ(以下、「画面イメージ」と記載)はこちらです。
前提として、ユーザー選択フィールドに値をセットする場合、ログイン名の値をセットする必要があります。
(今回の例ですと、ログイン名は「test」、表示名は「検証 太郎」というユーザーを指定しています。)
※編集画面での値セット直後は、上の画像のようにユーザー選択フィールド(文字列_1行のコピー先)にログイン名がセットされますが、保存すると以下のように表示名が表示されます。
※ログイン名ではなく、表示名がセットされた状態でコピーすると、保存前は成功しているように見えますが、保存すると反映されませんので、ご注意ください。
〇保存前
〇保存後
また、条件「フィールド値が空でないならば」を入れていない場合、空文字を入力した場合にも「フィールドの値を編集して値が変わった時」が発動し、値がコピーされる動きとなります。
このため、今回の例では条件の2つ目に「フィールド値が空でないならば」を設定して、そういった動きとならないように設定しています。
ユーザー選択フィールドから文字列(1行)フィールドへ値をコピーする
画面イメージはこちらです。
「ユーザー選択」から「ユーザー選択のコピー先」へ値(ユーザーの表示名)をコピーしました。
設定はこちらです。
ここでのポイントは「値」を設定する際に「ユーザー選択」フィールドを指定するだけでは文字列(1行)フィールド(ユーザー選択のコピー先)に値をセットできないということです。
ユーザー選択フィールドから文字列(1行)フィールドに値をコピーする際は、「.code(ログイン名)」あるいは「.name(表示名)」というようにユーザー選択の情報の中から具体的にどんな情報をセットするのか指定する必要があります。
※直接記述するだけでなく、補助入力として用意している「フィールド選択」で「ユーザー選択」フィールドを選択すると以下のように表示名やログイン名を選択できます。
ユーザー選択フィールドからユーザー選択フィールドへ値をコピーする
画面イメージはこちらです。
設定はこちらです。
ユーザー選択からユーザー選択への値のセットはフィールド指定のみ指定すればセット可能です。
ログインユーザーを取得し、ユーザー選択フィールドに値を上書きする
画面イメージはこちらです。
〇詳細画面(編集画面表示前)
〇編集画面表示後
設定はこちらです。
単にログインユーザーを取得し、ユーザー選択フィールドに上書きする動きの場合、1アクションで実現ができます。
※フィールドに値をセットする際によく使う「フィールドに値をセットする」を使った場合も同様の動きになります。
ログインユーザーを取得し、ユーザー選択フィールドに値を追記する
先ほどの例(ログインユーザーを取得し、ユーザー選択フィールドに値を上書きする)だと、元々ある値を上書きする動きとなっていましたが、ユーザー選択フィールドに上書きするのではなく、ユーザーを追記する場合は次のようになります。
画面イメージはこちらです。
〇詳細画面(編集画面表示前)
〇編集画面表示後
設定はこちらです。
まず「ログインユーザーを取得する」を利用し、ログインユーザーの情報を取得します。
そして「フィールドの選択を追加する」で、「ログインユーザーを取得する」で取得したアクションの結果を用い、ユーザー選択フィールドに値を追加します。
まとめ
今回は編集画面で文字列とユーザー選択の相互コピーやユーザー選択間のコピーの方法などをご紹介しました。
ぜひこのカスタマイズを参考にユーザー選択フィールドへのカスタマイズを試してみてください!
カスタマイズについての質問や疑問があれば、Customineドキュメントやサポートサイトもぜひご活用いただければと思います!