【初心者向け】カスタムフィールドの作成の仕方

こんにちは！株式会社IT働楽研究所の鈴木です!

最近のYoutubeやNetflixなどの動画サイトは、倍速で視聴出来て便利ですよね。
見たいアニメ・ドラマも倍速で見ることで、時間を切り詰めながらも数多くの作品を見ることが出来ます。
そんな自分も、今ではそれが当たり前になってしまっていますが、弊害として登場人物の名前がしばらく経つと思い出せないといったことが増えてきました。
（まだ若いので年齢のせいではないと信じています。。。）

友達と「あのアニメ面白かったよね！」と話していても、
「あのキャラが良かったよね！あのキャラ、、、名前なんだっけ？」など。笑
むしろ子供の頃に見たアニメの方が意外と覚えていたりするのは、心当たりがある人もいるのではないでしょうか。

便利になった反面、「**何事も時間をかけて没頭すること**」が記憶に残るという点で大事なんだなと改めて気づかされた社会人3年目でした。


## はじめに
NetSuiteを勉強し始めて、おそらく最初にカスタマイズするものは、このカスタム・フィールドの人が多いのではないでしょうか。しかし、「フィールド」と聞いて画面を操作をすると、**様々な「フィールドの種類」が存在することや、どこに何を設定したら、どのように使用されるか**が分かりづらいですよね？

この記事では、NetSuiteを活用するうえで基本となる「カスタム・フィールド」の概要について紹介します！


## 対象者
- NetSuiteを始めたての方
- カスタムフィールドを深く理解したい方
- 短時間で学びたい方
- 基礎を固めたい方



## この記事でわかること・できること
- カスタムフィールドの概要の理解
- 作成にあたっての注意点の理解
- 補足事項の理解

## フィールド作成の手順
1.作成するフィールドの種類(どこの画面にフィールドを追加したいかを決定する
2.対象のフィールド新規作成画面に移動する
3.必要情報を入力し保存
4.必要に応じてフォーム毎の設定をする



## カスタムフィールドの種類

まずは、NetSuiteに存在するフィールドと呼ばれるものの種類をご紹介します！

### １. エンティティ・フィールド
対象：**顧客、仕入先、従業員、リード**など
用途：マスタ情報にカスタム項目を追加
例）顧客の管理項目として、別途「取引先コード」が必要になった場合等
`リンク：カスタマイゼーション＞リスト、レコード、およびフィールド＞エンティティ・フィールド`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/06e4ed7c-ebab-42f4-8e31-c0313381891f.png)


### ２.トランザクション・ボディ・フィールド
対象：**見積、受注、請求書などのトランザクションの「ヘッダー部分」**
用途：伝票単位の独自情報
例）発注書の管理項目に、「承認者」をリスト形式で追加が必要になった場合等
`リンク：カスタマイゼーション＞リスト、レコード、およびフィールド＞トランザクション・ボディ・フィールド`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/257f56b6-8688-4ff4-a768-f2a1186a16b7.png)


### ３.トランザクション・ライン・フィールド
対象：**見積や受注などの「行（ライン）」部分**
用途：商品明細ごとの独自情報
 例）発注書のアイテム明細行に、アイテム毎の「受領予定日」を設定したい場合等
`リンク：カスタマイゼーション＞リスト、レコード、およびフィールド＞トランザクション・ライン・フィールド`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/3e64d70f-9459-4ff8-8128-bf13e72ebc95.png)



### ４.トランザクション・アイテム・フィールド
対象：**在庫品、非在庫品、サービス品**など
用途：商品情報に属性を追加
例）アイテムごとに、「製造元メーカー名」を追加したい場合等
`リンク：カスタマイゼーション＞リスト、レコード、およびフィールド＞トランザクション・ライン・フィールド`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/82313033-376e-49ab-8414-d9d7e1db1857.png)



### ５. CRMフィールド
対象：**商談、タスク、通話記録、ミーティング、イベント、キャンペーン管理**
 例）見込み客に「見込みランク」を追加する場合等
`リンク：カスタマイゼーション＞リスト、レコード、およびフィールド＞CRMフィールド`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/7e7354d2-5616-44be-899c-876e37c3dc57.png)

### ６.その他
対象：プロジェクトやケースなど、他の標準レコード用
 例）紙やExcelで管理していた社内申請を、「社内申請管理レコード」で管理したい場合等
`リンク：カスタマイゼーション＞リスト、レコード、およびフィールド＞その他のレコード・フィールド`
`リンク：カスタマイゼーション＞リスト、レコード、およびフィールド＞その他のサブリスト・フィールド`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/68e1b6c0-fcb3-43dc-9326-7a7f4b522644.png)


## カスタムフィールドの作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/f1d2ed17-090d-41b0-9053-5452647b3929.png)




- 種類
NetSuiteのカスタム・フィールドには、**様々なタイプ**のフィールドを設定することが出来ます。（細かいので表形式で）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/9fc42a65-a641-49a9-b5fe-d9fa6bc372df.png)


:::note warn
自由形式テキスト・・・300文字まで入力が可能だが、レイアウト崩れや保存検索で一部しか表示されない可能性があります
整数・・・15桁まで（負数OK）
チェックボックス・・・レポートや検索、インポートで「T」「F」として扱われる
日付/時刻・・・タイムゾーン設定で表示が変わります
※「長いテキスト」から「自由形式テキスト」に変換した場合、データが切り捨てられる可能性がある
:::

## 適用先：トランザクションへの反映の仕方
①カスタム・フィールドから反映
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/539b749c-138c-4138-999b-c2a27d28855e.png)


:::note warn
トランザクションのライン（行）に、フィールドを追加する場合は
①の方法では出来ないため②を参照
例）支払請求書＞経費サブタブ内にフィールドを追加
:::




②カスタム・フィールド＞「フォームに適用」から反映
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/a19aaabd-03c6-4f48-a074-e477ce767ab2.png)




③トランザクション＞トランザクション・フォームで反映
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/dbec19ab-2a7f-46f2-b599-0d7a6694d649.png)

:::note warn
「要素の保存と移動」内にカスタムフィールドが保存されている可能性があります。
その際は、下記記載の「カスタム」サブタブ内からサブタブを"メイン"に変更すると、「トランザクション・フォーム」に反映されます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/6dc88dbf-beff-457b-8e65-aef07edf50a0.png)

:::

## ソースおよびフィルター

- 他のレコード値をカスタムフィールドに自動反映させる

例）同一部門の従業員を選択できる「従業員リスト」を作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/ab4bb08d-77e5-44c4-bb8f-d72036f979fa.png)

発注書トランザクション
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/e6c3151d-be29-4a75-8fef-8b53dfc561cc.png)



## カスタムフィールドの作成（上級編）

- 計算式フィールドの作成
目的例）高額な案件を事前に識別し、経理の方が事前に確認する場合等


例）高額判定(50,000円越え)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/f07ad501-8b57-4a48-8a1c-358a4bbb1188.png)


 カスタムフィールド
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/e67731b9-fa6a-4b62-9e50-906a2a1e2d65.png)


:::note info

「表示用のフィールド」として使用することで、値を保存せずに計算結果のみを表示するため、
① **「常に最新の情報を計算式で表示」**
② **「保存検索で行うような判定をトランザクション単位で行うことが出来る」**
という利点も存在します。
:::


## 小ネタ・補足
### ロックされているもの
このフィールドは、NetSuiteの標準で存在するフィールドのため、ユーザーが編集できない・変更不可な状態になっています。
（ロール設定やフィールドの設定・スクリプトなどの別途要因もあり得ます）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/a6564e9e-18ce-4f2e-a96d-df757ee50f46.png)


### トランザクション毎で名称を変えたい場合
トランザクションごとにフィールド名を変えたい場合は、適用先：トランザクションへの反映の仕方③で記載されているカスタム・フォームから表示を変えることが可能になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/e6971ebf-27d8-4a71-a696-f04274d1ed5a.png)


:::note info
NS導入時
顧客目線：
現行の業務で使われている言葉に寄り添うことでスムーズに運用が進められます。

提供する側目線：
似たような機能のフィールドを複数作成するより、可能な限りまとめたほうが管理上良い設計といえるでしょう。
:::

## その他補足
- カスタムフィールド内で設定できるチェックボックスの概要
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4050659/c8659162-b132-412c-ac88-d444dbb07656.png)








## 最後に
いかがでしたでしょうか？
カスタマイズの基礎を磨けば磨くほど、提案の幅が広がると思います！

また、以下のNetSuiteのヘルプから気になる点があれば調べて見るのも解決に役立つかもしれません！
NetSuite ヘルプ：https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/index.html
サポートコミュニティ：https://community.oracle.com/netsuite/japanese/

この記事が少しでもお役に立てれば嬉しいです。次回の投稿をお楽しみに！