kintoneプラグイン『機能拡張スタンダード All-In』を使ってルックアップ編集や再利用指定などなど条件毎に設定する

[『機能拡張スタンダード All-In』](https://spica.tokyo/bluelaunch)を使用します。
このプラグインはフィールドの各種設定の他に、[条件書式](http://qiita.com/spica/items/24027003e9dfb9363819)や自動計算、[ユーザー選択など複数項目の選択数を制御する](http://qiita.com/spica/items/1c3ba3927b844b6bb72b)などの機能もありますがここでは、<strong>各種のフィールド設定を変更する使い方</strong>に絞って説明していきます。
（ここでは各種のフィールド設定を”フィールド属性”と呼称します）

#kintoneアプリでプラグインの利用を開始する
まず歯車アイコンからkintoneシステム管理画面にアクセスしプラグインをインストールします。
次にプラグインを利用するアプリ設定画面の「プラグイン」からプラグインの追加を選択。
インストール済みのプラグインが表示されるので、チェックボックスにチェックして「追加」。
利用を開始したプラグインが表示されるので、歯車アイコンからプラグインの設定画面にアクセスします。
『機能拡張スタンダード All-In』の設定画面はこのようになっています。

![ss_plugin_config2.png](https://qiita-image-store.s3.amazonaws.com/0/67365/7e9526e8-832c-779c-bbbf-03e8f68e1728.png)

説明のためのサンプルとして、
・<strong>商品ルックアップ</strong>（ルックアップフィールド）
・<strong>金額</strong>（数値フィールド）
・<strong>WEBアドレス</strong>（リンクフィールド）
を配置したアプリを使用します。
<strong>商品ルックアップ</strong>は別のアプリを参照して<strong>金額</strong>をコピーするように設定しました。

##変更できるフィールド設定

●A. フィールド編集の可不可
・フィールドの編集を不可にすることができます。
・ルックアップにコピー先に設定されたフィールドの編集ができるようにします。
<strong>※編集権限を変更するものではありません。</strong>

●B. レコード再利用時に除外する
レコードの再利用を行う際に、特定のフィールドの再利用を行わないようにします。
※初期値になるのではなく未入力の状態になります。

●C. フィールドの非表示
フィールドを非表示にすることができます。
一覧表示画面では項目名は表示され、フィールドの値だけが非表示となります。

●D. 印刷時に非表示にする
印刷を行う時にだけフィールドを非表示とすることができます。
例としてはパスワード入力欄などでの使用が考えられます。

これらを適用条件を指定して設定することができます。

#基本的な使い方

1. フィールド属性を適用するフィールドを選択
2. 適用する条件を作成
3. フィールド属性の内容を設定する

という工程で作成します。

##A. フィールド編集の可不可

<strong>商品ルックアップ</strong> でルックアップのコピー先として <strong>金額</strong> が設定されているとします。
通常は<strong>金額</strong>フィールドを編集することはできませんが、これを編集できるようにします。

###A-1. フィールド属性を適用するフィールドを選択

フィールド属性の適用対象となるフィールドは、「対象フィールドセット」に列挙されています。クリックすると青く反転して選択状態になります。

###A-2. 適用する条件を作成

条件は”条件判定と対象フィールドに設定する属性”に入力していくことで設定します。
今回は「常に適用する」とします。

###A-3. フィールド属性の内容を設定する

「編集」のプルダウンメニューで「可」を選択します。

![ss_plugin_config2_1.png](https://qiita-image-store.s3.amazonaws.com/0/67365/33e79d1a-a186-0b34-b21f-2a0bec2571f2.png)
※ここまでの設定を行った状態

この設定で<strong>ルックアップのコピー対象である金額フィールドが編集できるように</strong>なります。

設定を反映するには「すべて適用」ボタンでプラグイン設定を保存して、アプリの変更を保存します。
アプリのレコード追加を試すと、金額フィールドが編集できるようになっています。
![ss_plugin_config2_2.png](https://qiita-image-store.s3.amazonaws.com/0/67365/b22eefb6-39e5-5b45-a8f1-c2a89929181b.png)

##B. レコード再利用時に除外する

kintoneでは新しいレコードを作成する時に既存のレコードを再利用することができます。
![ss_plugin_config2_3.png](https://qiita-image-store.s3.amazonaws.com/0/67365/11b86d50-35e9-ec85-befc-412353543d71.png)
※※レコード詳細画面で右上に表示されるアイコンに再利用ボタンがあります

この時に再利用したくないフィールドを設定することができます。

###B-1. フィールド属性を適用するフィールドを選択

今回は「商品ルックアップ」を選択します。

###B-2. 適用する条件を作成

<strong>商品ルックアップが商品Aと等しい</strong> という条件で行うとします。

1. 左端のプルダウンで「商品ルックアップ」を選択
2. ２番めのプルダウンで「＝（等しい）」を選択
3. ３番めのプルダウンで「（直接入力）」を選択
4. ４番めの入力ボックスに「商品A」と入力

###B-3. フィールド属性の内容を設定する

「レコード再利用の対象外」のチェックボックスをチェックします。
![ss_plugin_config2_5.png](https://qiita-image-store.s3.amazonaws.com/0/67365/b653c8de-4718-1e53-d00c-dccac63b35d8.png)
※ここまでの設定を行った状態

「すべて適用」ボタンで設定を保存し、アプリの変更を保存します。
アプリのレコード追加で動作を確認すると再利用時に商品ルックアップが空欄になります。
![ss_plugin_config2_4.png](https://qiita-image-store.s3.amazonaws.com/0/67365/6991126c-4977-7034-61e2-31cd3c515d7f.png)

##C. フィールドの非表示

フィールドを非表示とすることができます。
一覧画面では項目名は非表示とならずフィールドの値だけが表示されなくなります。

サンプルとして以下2件のレコードを用意しました。
![ss_plugin_config2_6.png](https://qiita-image-store.s3.amazonaws.com/0/67365/1f161106-745f-e0e6-9570-190e78376c9d.png)
###C-1. フィールド属性を適用するフィールドを選択

今回は「WEBアドレス」を非表示の対象とします

###C-2. 適用する条件を作成

<strong>商品ルックアップに「B」を含む</strong> という条件で行うとします。

1. 左端のプルダウンで「商品ルックアップ」を選択
2. ２番めのプルダウンで「条件値を含む」を選択
3. ３番めのプルダウンで「（直接入力）」を選択
4. ４番めの入力ボックスに「B」と入力

###C-3. フィールド属性の内容を設定する

「非表示」のチェックボックスをチェックします。
![ss_plugin_config2_7.png](https://qiita-image-store.s3.amazonaws.com/0/67365/4e6fd74d-0a35-3ab1-0c4e-86be8c0efd09.png)
※ここまでの設定を行った状態

「すべて適用」ボタンで設定を保存し、アプリの変更を保存します。
アプリのレコード追加で動作を確認するとWEBアドレスが、レコード一覧画面では空白に。
![ss_plugin_config2_8.png](https://qiita-image-store.s3.amazonaws.com/0/67365/cfdeeb3f-0de0-24b4-f5a7-41cd8d5a51dd.png)
レコード詳細画面では表示されなくなります。
![ss_plugin_config2_9.png](https://qiita-image-store.s3.amazonaws.com/0/67365/4fc064e9-b7b2-c9d6-e7b8-211527a1fd3c.png)
※印刷時にも表示されません

##D. 印刷時に非表示にする

通常では表示され、印刷する時には含まれないフィールドを設定することができます。

###D-1. フィールド属性を適用するフィールドを選択

今回は「WEBアドレス」を非表示の対象とします

###D-2. 適用する条件を作成

<strong>WEBアドレスが「http:」ではじまる</strong> という条件で行うとします。

1. 左端のプルダウンで「WEBアドレス」を選択
2. ２番めのプルダウンで「正規表現」を選択
3. ３番めのプルダウンで「（直接入力）」を選択
4. ４番めの入力ボックスに「$http:B」と入力

※文字列の先頭がhttp:という条件なので単純にhttp:を含むだけでは不十分で正規表現が必要となります

###C-3. フィールド属性の内容を設定する

「印刷時に非表示」のチェックボックスをチェックします。

![ss_plugin_config2_10.png](https://qiita-image-store.s3.amazonaws.com/0/67365/9320bc68-c687-7373-5511-57d1cbc9afee.png)
※ここまでの設定を行った状態

「すべて適用」ボタンで設定を保存し、アプリを更新。
WEBアドレスがhttp:で始まる文字列のレコードで確認します。

![ss_plugin_config2_11.png](https://qiita-image-store.s3.amazonaws.com/0/67365/edf9185f-2605-4d2b-22df-2d576f1046b9.png)
※レコード詳細画面で右上のメニュー（「・・・」アイコン）ボタン内に「レコードを印刷」という項目があります

印刷画面ではWEBアドレスが非表示となっています。
![ss_plugin_config2_12.png](https://qiita-image-store.s3.amazonaws.com/0/67365/58ed84d2-6369-0edb-1707-5ae318f3a392.png)

#その他にできること

・条件判定として日付を比較する。今日から10日後、や1週間後、といった判定を行う
・年月日を数値として扱って未満や以上といった条件判定を行う

など自由度の高い条件が設定できます。
（※これはそのうち詳しく解説していこうと思います）

このプラグインのフィールド属性設定についての説明は以上です。