kintoneでCSV出力を行った場合、「ユーザー選択」フィールドの値は、ユーザーの名前では無く、ログイン名(ログイン時に使うID)が出力される仕様になっています。
そのため、CSVファイルを見ても名前が分からず、ユーザーを判別しにくいという事があります。
今回は「ユーザー選択」フィールドで選択したユーザーの名前を自動的に別のフィールドにコピーするカスタマイズを行い、CSVにユーザー名が出力されるようにします。
Customineの基本的な事柄は、こちらの「はじめてのカスタマイズ」をご参照ください。
利用想定シーン
今回は「ユーザー選択」フィールドで選択した担当者名を、「文字列(1行)」フィールドの「担当者(表示用)」にコピーするカスタマイズを作成します。
アプリのフォームは以下の通りです。
「ユーザー選択」フィールドのフィールドコードは以下のように設定しています。
・「担当者」(ユーザー選択):ユーザー選択
Customineの設定
以下のステップでカスタマイズを作成していきます。
- フィールド値をクリアする
- フィールドに値をセットする
- フィールドを無効化する
1. フィールド値をクリアする
フィールドの値を編集した場合に、編集前の内容が残らないようにするカスタマイズを行います。手順は以下の通りです。
- 「やること」でカテゴリー:フィールドの中から「フィールド値をクリアする」を選択します
- 「フィールド」には「担当者(表示用)」を選択します
「条件」には「フィールドの値を編集して値が変わった時」を選択します
- 「フィールド」には「担当者」を選択します
- 「一覧画面の鉛筆を押した時」は「一覧画面の鉛筆を押した時も含める」にしておきます
以下の設定になります。
2. フィールドに値をセットする
今回のカスタマイズのメインである、「ユーザー選択」フィールドで選択されたユーザーの名前を別のフィールドにコピーするカスタマイズを行います。
手順は以下の通りです。
- 「やること」でカテゴリー:フィールドの中から「フィールドに値をセットする」を選択します
- 「フィールド」には「担当者(表示用)」を選択します
- 「値」には「= ユーザー選択.name」もしくは「${ユーザー選択.name}」を入力します。「フィールドを選択」から「担当者」フィールドを選択し、その下に現れる「表示名」を選択すると、自動的に「= ユーザー選択.name」と入力されます。
- 「条件」には「他のアクションの実行が完了した時」を選択します
- 「アクション」には「1」を選択します
- 「一覧画面の鉛筆を押した時」は「一覧画面の鉛筆を押した時も含める」にしておきます
- 「条件」を追加し、「フィールド値が特定の値ならば」を選択します
- 「フィールド」には「担当者」を選択します
- 「条件」には「等しくない」を選択します
- 「比較値」は入力しません(自動的に「<入力されていません>」と表示されます)
以下の設定になります。
※ユーザー選択フィールドは複数のユーザーを選択することができます。値を「= ユーザー選択.name」もしくは「${ユーザー選択.name}」にすると、選択したすべてのユーザーのユーザー名をカンマ区切りでセットします。
もし、選択したユーザーのうち一人目のみセットしたい場合は「= ユーザー選択[0].name]もしくは「${ユーザー選択[0].name}」と入力してください。
また、「= ユーザー選択.name」と「${ユーザー選択.name}」の二種類の記述方法については式の記述方法をご覧ください。
3. フィールドを無効化する
コピー先である「文字列(1行)」フィールドを無効化することで、変更されることを防ぎます。
手順は以下の通りです。
- 「やること」でカテゴリー:フィールドの中から「フィールドを無効化する」を選択します
- 「フィールド」に「担当者(表示用)」を選択します
「条件」には「追加画面・編集画面を表示した時」を選択します
「一覧画面の鉛筆を押した時」は「一覧画面の鉛筆を押した時も含める」にしておきます
以下の設定になります。
以上でカスタマイズは完了です!
「kintoneアプリへ登録」し、CSV出力を含めた動作を確認してみてください。
まとめ
今回のカスタマイズは、CSV出力を行った際にユーザー名が出力される、といった利便性に加えて、コピーしたユーザー名を用いることで一覧画面をユーザー名でソートすることも可能になります。