フィールドとウィジェット

フィールドは、データベースの:doc:`モデル <models_modules_apps>`を構造化します。モデルをテーブルやスプレッドシートと考えると、フィールドは列であり、レコードは個々の行です。フィールドはまた、その中に格納されるデータの種類も定義します。フィールドのデータが:abbr:`UI(ユーザインターフェース)`上でどのように表示およびフォーマットされるかは、そのウィジェットによって制御されます。

ワンルームでは、次のことが可能です:

  • データベースに:ref:`新しいフィールドを追加 <studio/fields/add-new>`できます。技術的な観点から、Odooには15の:ref:`フィールドタイプ <studio/fields/field-types>`があります。ただし、一部のフィールドタイプは異なるデフォルトウィジェットで複数回利用できるため、ワンルームでは21のフィールドタイプから選択できます。

  • :ref:`既存のフィールドを追加 <studio/fields/add-existing>`できます。つまり、すでにモデル上に存在するフィールドを、そのモデルの任意のビューに追加できます。

  • :ref:`フィールドの物件を変更 <studio/fields/modify>`する、または

  • :ref:`ビューからフィールドを削除 <studio/fields/remove>`する。

ワンルームフィールドと物件フィールド

ワンルームを使用して作成されたフィールドは、Odooデータベースの列として保存されます。一方、:doc:`物件フィールド <../essentials/property_fields>`は疑似フィールドとして機能します。これらは同じ親レコードにリンクされているすべてのレコード(たとえば、タスクの場合はプロジェクト、プロダクトの場合はプロダクトカテゴリ)で共有されますが、データベースの列としては保存されません。

Example

ワンルームを使用してタスクのフォームビューに:guilabel:`期限`フィールドを追加すると、そのフィールドはデータベース内のすべてのタスクで表示されます。タスクに:guilabel:`特別な指示`物件フィールドを追加すると、そのフィールドは*同じプロジェクト内*(つまり、その親)のすべてのタスクで表示されますが、他のプロジェクトのタスクには影響しません。

フィールドの種類

フィールドは大きく2つのカテゴリに分けられます。

  • 文字列、数値、ファイルなどの基本的な値を含む:ref:シンプルフィールド <studio/fields/simple-fields>

  • 別のモデル上のレコードからデータをリンクして表示するために使用される:ref:リレーショナルフィールド <studio/fields/relational-fields>

AIフィールド

:doc:`AIフィールド <../productivity/ai/fields>`は、基本的には標準のOdooフィールドにAI機能を追加したもので、プロンプトを通じて値を自動的に生成できます。

シンプルフィールド

注釈

デフォルト以外のウィジェットは、対応可能な場合、箇条書きまたはサブ見出しとして表示されます。

テキスト (char)

テキストフィールドは、任意の文字を含む短いテキストに使用されます。フィールドに入力する際、1行のテキスト行が表示されます。

  • バッジ:タグのような丸い形状の中に値を表示します。UIで値を編集することはできませんが、デフォルト値を設定できます。

  • クリップボードにコピー:ユーザはボタンをクリックして値をコピーできます。

  • Eメール:値がクリック可能な*mailto*リンクになります。

  • 画像:URLを使用して画像を表示します。値を手動で編集することはできませんが、デフォルト値を設定できます。

    注釈

    これは、:ref:`画像フィールド <studio/fields/simple-fields-image>`を直接選択する場合とは異なります。:guilabel:`文字列`フィールドで:guilabel:`画像`ウィジェットを使用する場合、画像はOdooに保存されません。たとえば、ディスク容量を節約したい場合に便利です。

  • 電話:値がクリック可能な*tel*リンクになります。

    ちなみに

    Odooのフィールドの横からSMSを直接送信するオプションを追加するには、:guilabel:`SMSを有効にする`にチェックを入れます。

  • URL: 値がクリック可能なURLになります。

Example

異なるウィジェットを使用した文字列フィールドの例

複数行テキスト (text)

:guilabel:`複数行テキスト`フィールドは、あらゆる種類の文字を含む長いテキストに使用されます。フィールドに入力する際、UIには2行のテキスト行が表示されます。

  • クリップボードにコピー:ユーザはボタンをクリックして値をコピーできます。

Example

異なるウィジェットを使用した複数行テキストフィールドの例

整数 (integer)

整数`フィールドは、すべての整数(:dfn:`正、負、またはゼロで、小数点なし)に使用されます。

  • パーセンテージ円グラフ: 通常は計算値に対して、値をパーセンテージの円の中に表示します。UIで値を編集することはできませんが、デフォルト値を設定することができます。

  • プログレスバー: 通常は計算値に対して、値をパーセンテージバーの横に表示します。フィールドを手動で編集することはできませんが、デフォルト値を設定することができます。

  • ハンドル: :ref:`リストビュー <studio/views/multiple-records/list>`でレコードを手動で並べ替えるためのドラッグハンドルアイコンを表示します。

Example

異なるウィジェットを使用した整数フィールドの例

小数 (float)

小数`フィールドは、すべての小数(:dfn:`正、負、またはゼロで、小数点あり)に使用されます。

注釈

小数はUIでは小数点以下2桁で表示されますが、データベースにはより高い精度で保存されます。

  • 金額: :ref:`金額フィールド <studio/fields/simple-fields-monetary>`の使用に似ています。後者の方がより多くの機能を提供するため、そちらを使用することをお勧めします。

  • パーセンテージ: 値の後にパーセント記号 % を表示します。

  • パーセンテージ円グラフ: 通常は計算値に対して、値をパーセンテージの円の中に表示します。フィールドを手動で編集することはできませんが、デフォルト値を設定することができます。

  • プログレスバー: 通常は計算値に対して、値をパーセンテージバーの横に表示します。フィールドを手動で編集することはできませんが、デフォルト値を設定することができます。

  • 時刻: 値は hh:mm 形式に従う必要があり、最大59分です。

Example

異なるウィジェットを使用した小数フィールドの例

金額 (monetary)

:guilabel:`金額`フィールドは、すべての金額値に使用されます。

注釈

:guilabel:`金額`フィールドを初めて追加する際、モデルに:guilabel:`通貨`フィールドがまだ存在しない場合、追加するように求められます。Odooは:guilabel:`通貨`フィールドの追加を提案します。追加されたら、:guilabel:`金額`フィールドを再度追加してください。

Example

金額フィールドと通貨フィールドの例

HTML (html)

:guilabel:`HTML`フィールドは、Odoo HTMLエディタで編集できるテキストを追加する際に使用されます。

  • 複数行テキスト: Odoo HTMLエディタを無効化し、生のHTMLを編集できるようにします。

Example

異なるウィジェットを使用したHTMLフィールドの例

日付 (date)

:guilabel:`日付`フィールドは、カレンダーで日付を選択する際に使用されます。

  • 残り日数: 選択された日付までの残り日数が現在の日付に基づいて表示されます(例: 5日後)。このフィールドは:guilabel:`読み取り専用`に設定する必要があります。

Example

異なるウィジェットを使用した日付フィールドの例

日時 (datetime)

:guilabel:`日時`フィールドは、カレンダーで日付を選択し、時計で時刻を選択する際に使用されます。時刻が設定されていない場合、ユーザの現在時刻が自動的に使用されます。

ちなみに

:ref:`一般的なプロパティ <studio/fields/properties>`に加えて、:guilabel:`日時`フィールドで:guilabel:`日時`または:guilabel:`期間`ウィジェットが設定されている場合、いくつかの:ref:`特定のプロパティ <studio/fields/properties-date-datetime>`が利用できます。

期間 (daterange)

:guilabel:`期間`ウィジェットは、開始日と終了日で定義される期間を1行で表示する際に使用されます。期間には、複数日にわたるイベントのように必須の開始日と終了日を持たせることも、フィールドサービス作業対応やプロジェクトタスクのように任意の開始日または終了日を許可することもできます。

期間を追加するには2つのフィールドが必要です。:guilabel:`期間`ウィジェットが設定された:guilabel:`日時`フィールドと、開始日*または*終了日として選択される別のフィールドです。この基礎となるフィールドは、既存の:ref:`日付 <studio/fields/simple-fields-date>`または:guilabel:`日時`フィールドでも、この目的のために特別に作成されたフィールドでも構いません。

期間を追加するには:

  1. 基礎となる開始/終了日フィールドとして使用できる既存の:guilabel:`日付`または:guilabel:`日時`フィールドを特定するか、新しいフィールドを追加します。期間が:

    • 必須の開始日と終了日があり、このフィールドは開始日または終了日のいずれかになります。結果は同じです。

    • オプションの開始日または終了日を許可します。このフィールドはそれぞれ開始日または終了日です。

    ちなみに

    同じ情報を2回表示しないようにするには、基になる開始日/終了日フィールドを:guilabel:`非表示`を有効にして非表示にするか、:guilabel:`ビューから削除`をクリックしてビューから削除できます。

  2. :guilabel:`日時`フィールドを追加し、:guilabel:`ウィジェット`フィールドを:guilabel:`日付範囲`に設定します。

  3. 適切な:guilabel:`ラベル`を入力します。

  4. :guilabel:`開始日フィールド`または:guilabel:`終了日フィールド`ドロップダウンから、関連する基になる開始日/終了日フィールドを選択します。

  5. 日付範囲に必須の開始日と終了日が必要な場合は、:guilabel:`常に範囲`を有効にします。

  6. 必要に応じて他の:ref:`一般プロパティ <studio/fields/properties>`または特定の:ref:`日時フィールドのプロパティ <studio/fields/properties-date-datetime>`を更新し、画面右上の:guilabel:`閉じる`をクリックします。

Example

異なるウィジェットを使用した日時フィールドの例
残り日数(remaining_days

:guilabel:`残り日数`ウィジェットは、現在の日時に基づいて、選択した日付までの残り日数(例:5日後)を表示します。このフィールドは:guilabel:`読み取り専用`に設定する必要があります。

チェックボックス(boolean

:guilabel:`チェックボックス`フィールドは、チェックボックスのオン/オフで示される真または偽の値のみを持つ場合に使用されます。

  • ボタン:ラジオボタンを表示します。このウィジェットは編集モードに切り替えることなく機能します。

  • トグル:トグルボタンを表示します。このウィジェットは編集モードに切り替えることなく機能します。

Example

異なるウィジェットを使用したチェックボックスフィールドの例

選択(selection

:guilabel:`選択`フィールドは、ユーザーが事前定義された値のグループから単一の値を選択する必要がある場合に使用されます。

  • バッジ:タグのような丸い形状の中に値を表示します。UIで値を編集することはできませんが、デフォルト値を設定できます。

  • バッジ:選択可能なすべての値を長方形の形状で水平に整理して同時に表示します。

  • 優先度:値の代わりに星のシンボルを表示します。これは、例えば重要度や満足度レベルを示すために使用できます。これは:ref:`優先度フィールド <studio/fields/simple-fields-priority>`を選択した場合と同じ効果がありますが、後者の場合は4つの優先度値がすでに事前定義されています。

  • ラジオボタン: 選択可能なすべての値をラジオボタンとして同時に表示します。

    ちなみに

    デフォルトでは、ラジオボタンは縦に配置されます。:guilabel:`横に表示`を有効にすると、表示方法が切り替わります。

  • ステータスバー: 選択可能なすべての値を矢印の進行状況バーとして同時に表示します。

    ちなみに

    デフォルトでは、ステータスバーの値は選択可能です。:guilabel:`クリック可能`を無効にすると、UI上で値が編集されなくなります。

Example

異なるウィジェットを使用した選択フィールドの例

優先度 (selection)

優先度`フィールドは、重要度や満足度を示すために使用できる3段階の星評価システムを表示するために使用されます。このフィールドタイプは、デフォルトで:guilabel:`優先度`ウィジェットが選択され、4つの優先度値が事前定義された:ref:`選択フィールド <studio/fields/simple-fields-selection>`です。そのため、:guilabel:`バッジバッジ(複数)ラジオボタン、:guilabel:`選択`ウィジェットは、:ref:`選択 <studio/fields/simple-fields-selection>`で説明したものと同じ効果があります。

ちなみに

利用可能な星の数を変更するには、値を追加または削除して:guilabel:`値を編集`をクリックします。最初の値は0個の星(つまり、選択されていない状態)に相当するため、4つの値がある場合は3段階の星評価システムになることに注意してください。

Example

優先度フィールドの例

ファイル (binary)

:guilabel:`ファイル`フィールドは、あらゆる種類のファイルをアップロードしたり、フォームに署名(:guilabel:`署名`ウィジェット)したりするために使用されます。

  • 画像: ユーザーは画像ファイルをアップロードでき、:ref:`フォームビュー <studio/views/general/form>`に表示されます。これは:ref:`画像フィールド <studio/fields/simple-fields-image>`を使用するのと同じ効果があります。

  • PDFビューア: ユーザーはPDFファイルをアップロードでき、:ref:`フォームビュー <studio/views/general/form>`から閲覧できます。

  • 署名: ユーザーはフォームに電子署名できます。これは:ref:`署名フィールド <studio/fields/simple-fields-sign>`を選択するのと同じ効果があります。

Example

異なるウィジェットを使用したファイルフィールドの例

画像 (binary)

画像`フィールドは、画像をアップロードして:ref:`フォームビュー <studio/views/general/form>`に表示するために使用されます。このフィールドタイプは、デフォルトで:guilabel:`画像`ウィジェットが選択された:ref:`ファイルフィールド <studio/fields/simple-fields-file>`です。そのため、:guilabel:`ファイルPDFビューア、:guilabel:`署名`ウィジェットは、:ref:`ファイル <studio/fields/simple-fields-file>`で説明したものと同じ効果があります。

ちなみに

アップロードした画像の表示サイズを変更するには、サイズ`オプションで:guilabel:`小、または:guilabel:`大`を選択します。

署名 (binary)

署名`フィールドは、フォームに電子署名するために使用されます。このフィールドタイプは、デフォルトで:guilabel:`署名`ウィジェットが選択された:ref:`ファイルフィールド <studio/fields/simple-fields-file>`です。そのため、:guilabel:`ファイル画像、:guilabel:`PDFビューア`ウィジェットは、:ref:`ファイル <studio/fields/simple-fields-file>`で説明したものと同じ効果があります。

ちなみに

ユーザが署名を描画する際に:guilabel:Auto`オプションを使用できるようにするには、利用可能な:guilabel:`Auto-complete with`フィールド(:ref:`Text <studio/fields/simple-fields-text>Many2One、およびモデル上の:ref:`Related Field <studio/fields/relational-fields-related-field>`のみ)のいずれかを選択します。選択したフィールドのデータを使用して、署名が自動的に生成されます。

リレーショナルフィールド

注釈

デフォルト以外のウィジェットは、対応可能な場合、箇条書きまたはサブ見出しとして表示されます。

Many2One (many2one)

:guilabel:`Many2One`フィールドは、(別のモデルから)別のレコードを編集中のレコードにリンクするために使用されます。編集中のレコードには、他のモデルからのレコード名が表示されます。

Example

*Sales Order*モデルでは、:guilabel:`Customer`フィールドは*Contact*モデルを参照する:guilabel:`Many2One`フィールドです。これにより、**多数**の販売オーダを**1つ**の連絡先(顧客)にリンクできます。

多対一リレーションシップを示す図

ちなみに

  • リンクされたモデルで新しいレコードをユーザが作成できないようにするには、:guilabel:`Disable creation`にチェックを入れます。

  • ポップアップウィンドウでレコードをユーザが開けないようにするには、:guilabel:`Disable opening`にチェックを入れます。

  • ユーザが適切なレコードのみを選択できるようにするには、:guilabel:`Domain`をクリックしてフィルターを作成します。

  • リンクされたレコードの検索を最小文字数入力後にのみトリガーするには、:guilabel:`Typeahead search`フィールドに希望する文字数を入力します。データセットが大きい場合、これにより検索の関連性とパフォーマンスの両方が向上します。

  • Badge: タグと同様に、丸みを帯びた形状内に値を表示します。UI上で値を編集することはできません。

  • ラジオボタン: 選択可能なすべての値をラジオボタンとして同時に表示します。

One2Many (one2many)

:guilabel:`One2Many`フィールドは、現在のモデルのレコードと別のモデルの複数のレコード間の既存のリレーションを表示するために使用されます。

Example

*Contact*モデルに:guilabel:`One2Many`フィールドを追加して、**1人**の顧客の**多数**の販売オーダを確認できます。

一対多リレーションシップを示す図

注釈

:guilabel:`One2Many`フィールドを使用するには、2つのモデルが:ref:`Many2One field <studio/fields/relational-fields-many2one>`を使用してすでにリンクされている必要があります。One2Manyリレーションは独立して存在せず、既存のMany2Oneリレーションの逆検索が実行されます。

Lines (one2many)

:guilabel:`Lines`フィールドは、行と列を持つテーブルを作成するために使用されます(例: 販売オーダ上のプロダクトの明細行)。

ちなみに

列を変更するには、:guilabel:`Lines`フィールドをクリックしてから:guilabel:`Edit List View`をクリックします。ユーザが:guilabel:`Add a line`をクリックしたときに表示されるフォームを編集するには、代わりに:guilabel:`Edit Form View`をクリックします。

Example

Linesフィールドの例

Many2Many (many2many)

Many2Many`フィールドは、別のモデルの複数のレコードを現在のモデルの複数のレコードにリンクするために使用されます。Many2Manyフィールドは、:ref:`Many2Oneフィールド <studio/fields/relational-fields-many2one>`と同様に、:guilabel:`作成の無効化開くことの無効化、:guilabel:`ドメイン`を使用できます。

Example

*タスク*モデルでは、:guilabel:`担当者`フィールドは*連絡先*モデルを指す:guilabel:`Many2Many`フィールドです。これにより、1人のユーザが**複数**のタスクに割り当てられ、**複数**のユーザが1つのタスクに割り当てられることが可能になります。

many2many関係を示す図

ちなみに

リンクされたレコードの検索を最小文字数入力後にのみトリガーするには、:guilabel:`Typeahead search`フィールドに希望する文字数を入力します。データセットが大きい場合、これにより検索の関連性とパフォーマンスの両方が向上します。

  • チェックボックス:ユーザはチェックボックスを使用して複数の値を選択できます。

  • タグ:ユーザは丸みを帯びた形状で表示される複数の値を選択できます。これは*タグ*とも呼ばれます。これは:ref:`タグフィールド <studio/fields/relational-fields-tags>`を選択するのと同じ効果があります。

タグ(many2many)

:guilabel:`タグ`フィールドは、別のモデルから取得した複数の値を丸みを帯びた形状(いわゆる*タグ*)で表示するために使用されます。このフィールドタイプは、デフォルトで:guilabel:`タグ`ウィジェットが選択された:ref:`Many2Manyフィールド <studio/fields/relational-fields-many2many>`です。したがって、:guilabel:`チェックボックス`および:guilabel:`Many2Many`ウィジェットは、:ref:`Many2Many <studio/fields/relational-fields-many2many>`で説明されているものと同じ効果があります。

ちなみに

異なる背景色でタグを表示するには、:guilabel:`色を使用`にチェックを入れます。

Example

タグフィールドの例

ビューにフィールドを追加

ワンルームでは、次のことが可能です。

  • モデルの:ref:`フォーム <studio/views/general/form>`または:ref:`リストビュー <studio/views/multiple-records/list>`に:ref:`新しいフィールド <studio/fields/add-new>`を追加

  • :doc:`モデル <models_modules_apps>`上に既に存在するフィールド、つまり:ref:`既存のフィールド <studio/fields/add-existing>`を、そのモデルの*任意の*ビューに追加

ちなみに

フォームまたはリストビューに新しいフィールドを追加すると、モデルに保存され、同じモデルの他のビューで既存のフィールドとして使用できるようになります。

新しいフィールドの追加

ちなみに

新しいフィールドを追加する*前に*:ref:`開発者モード <developer-mode>`を有効にすると、設定中にフィールドの技術名を確認し、編集できるようになります。

新しいフィールドを追加するには、以下の手順に従います。

  1. 関連するフォームまたはリストビューに移動し、右上隅の (ワンルームを切り替え) アイコンをクリックします。または、任意のアプリを開いた状態で (ワンルームを切り替え) アイコンをクリックし、関連するフォームまたはリストビューに移動します。

  2. 追加 タブで、新規フィールド セクションから該当する フィールドタイプ をドラッグし、目的の位置にドロップします。新しいフィールドが リレーショナルフィールド の場合は、ポップアップで関連する相互フィールド、モデル、または関連フィールドを選択します。

  3. 物件 タブで、フィールドの プロパティ を設定します。

    • UI上でフィールド名として表示される ラベル を入力します。これはフィールドのデフォルトの技術名を生成するためにも使用されます。

    • ラベル フィールドの外側をクリックすると、技術名 がデフォルトの技術名で更新されます。

      注釈

      • 新しいフィールドの 技術名 は、設定プロセス中にワンルームで編集できます。それ以外の場合、フィールドの技術名は データベースの技術設定から変更 することのみ可能です。

      • ワンルームを使用して追加された新しいフィールドの技術名は、デフォルトで x_studio_ がプレフィックスとして付けられます。

    • オプションで、ドロップダウンから別の ウィジェット を選択します。フィールドタイプ のデフォルトウィジェットがデフォルトで選択されています。

    • オプションで、その他の フィールドプロパティ を設定します。

  4. 右上隅の 閉じる をクリックして、ワンルームを閉じます。

既存のフィールドを追加

モデルに存在するが現在のビューには表示されていないフィールドを追加するには、以下の手順に従います。

  1. 関連するビューに移動し、右上隅の (ワンルームを切り替え) アイコンをクリックします。または、任意のアプリを開いた状態で (ワンルームを切り替え) アイコンをクリックし、関連するビューに移動します。

  2. 追加 タブで、左パネルの 既存のフィールド をクリックすると、現在ビューに表示されていないモデルのすべてのフィールドのリストが表示されます。

  3. 該当するフィールドをドラッグし、目的の位置にドロップします。

  4. 物件 タブで、現在のビューにおけるフィールドの関連する プロパティ を設定します。

    注釈

    必要に応じて、ラベルウィジェット、特定のユーザグループに対するフィールドの公開設定、フィールドが 非表示必須、または 読み取り専用 かどうかなど、さまざまなプロパティを異なるビューごとに独立して設定できます。

  5. 右上隅の 閉じる をクリックして、ワンルームを閉じます。

フィールドのプロパティ

:ref:`一般的なプロパティ <studio/fields/properties-general>`のシリーズは、ほとんどの:ref:`フィールドタイプとウィジェット <studio/fields/field-types>`の組み合わせで設定できます。選択した特定のフィールドタイプとウィジェットに応じて、追加のプロパティが利用可能です。たとえば、:guilabel:`日時`フィールドで:guilabel:`日時`または:guilabel:`日付範囲`ウィジェットを使用する場合、設定可能なさまざまな:ref:`固有のプロパティ <studio/fields/properties-date-datetime>`があります。

一般的な物件

  • クラス: `Bootstrap <https://getbootstrap.com/docs/5.3/examples/cheatsheet/>`_またはOdooで定義されている他のカスタムクラスを使用して、UIでのフィールドのスタイルと表示方法をカスタマイズします。

  • 非表示:UIでフィールドを表示する必要がない場合は、この物件を有効にします。これにより、特定の状況に応じて必要不可欠なフィールドのみを表示し、UIをすっきりさせることができます。

  • 必須:先に進む前にユーザが常にフィールドを入力する必要がある場合は、この物件を有効にします。

  • 読み取り専用:ユーザがフィールドを変更できないようにする場合は、この物件を有効にします。

ちなみに

  • :guilabel:`非表示`プロパティは、Studio内でも適用されます。Studioで非表示フィールドを表示するには、ビューの:guilabel:`ビュー`タブをクリックし、:guilabel:`非表示要素を表示`を有効にします。

  • 非表示必須、:guilabel:`読み取り専用`プロパティは、:guilabel:`条件付き`をクリックしてフィルターを作成することで、特定のレコードに対してのみ有効にできます。

    Example

    *連絡先*モデルのフォームビューでは、:guilabel:`敬称`フィールドは:guilabel:`個人`が選択された場合にのみ表示されます。このフィールドは:guilabel:`会社`の連絡先には役立たないためです。

  • ラベル: これはUI上のフィールド名です。ラベルはフィールドの技術名を生成するために使用されます。

  • ヘルプツールチップ:フィールドの目的を説明するには、説明を追加します。フィールドのラベルの横にある疑問符にマウスを重ねると、ツールチップボックス内にテキストが表示されます。

  • 技術名: Studioでフィールドの技術名を表示する(および新しいフィールドの設定中に必要に応じて編集する)には、:ref:`開発者モード <developer-mode>`を有効にします。

    ちなみに

    このフィールドを更新する必要があるがStudio経由では編集できなくなった場合、技術名は:ref:`データベースの技術設定から変更 <studio/fields/properties-technical-name-change>`できます。

  • ウィジェット:フィールドのデフォルトの外観や機能を変更するには、利用可能なウィジェットの1つを選択します。

  • プレースホルダー: フィールドの入力方法の例を示すには、固定のプレースホルダーテキストを追加します。テキストは値が入力されるまで薄いグレーで表示されます。

  • 動的プレースホルダー: 選択したフィールドの値をフィールドの入力方法の例として提供します。テキストは値が入力されるまで薄いグレーで表示されます。

  • デフォルト値:レコードが作成されたときにフィールドにデフォルト値を表示するには、値を追加します。

  • グループへの公開設定の許可:フィールドを表示できるユーザを制限するには、1つ以上のユーザアクセス:ref:`グループ <access-rights/groups>`を選択します。

  • グループへの公開を禁止: 特定のユーザがこのフィールドを見られないようにするには、1つ以上のユーザアクセス:ref:`グループ <access-rights/groups>`を選択します。

日付&時刻フィールドのプロパティ

:guilabel:`日時`フィールドで:guilabel:`日時`または:guilabel:`日付範囲`ウィジェットを使用する場合、いくつかの固有のプロパティが利用できます:

  • 最小精度: 日付セレクターで選択する必要がある最小の日付単位を決定します。可能な値は`日`、、または`10年`です。値が選択されていない場合、ユーザーは日付セレクターで日を選択する必要があります。

  • 最大精度: 日付セレクターをナビゲートするために使用できる最大の日付単位を決定します。可能な値は`日`、、または`10年`です。値が選択されていない場合、ユーザーは日付セレクターを10年単位でナビゲートできます。

  • 将来の日付の警告: このプロパティを有効にすると、将来の日付が選択された場合に警告アイコンが表示されます。

  • 日付形式: デフォルトでは日付は`Apr 2, 2025, 08:05 AM`のように表示されます。このプロパティを有効にすると、日付が`4/2/2025 08:05:00`の形式で表示されます。数値モードは現在の言語に設定された形式です。このモードでは秒が常に表示されます。

  • 日付を表示: このプロパティは:guilabel:`日付&時刻`フィールドでデフォルトで有効になっています。このプロパティを無効にすると、時刻のみが表示されます。

  • 時刻を表示: このプロパティは:guilabel:`日付&時刻`フィールドでデフォルトで有効になっています。読み取り専用フィールドでこのプロパティを無効にすると、日付のみが表示されます。これにより、例えばリストビューをすっきりと保つことができます。

  • 秒を表示: このプロパティは:guilabel:`日付&時刻`フィールドでデフォルトで無効になっています。このプロパティを有効にすると、秒が表示されます。

  • 時間間隔: 値を入力して、時刻選択で表示される分の間隔を決定します。例えば、15分間隔を許可するには15と入力します。デフォルト値は5分に設定されています。

  • 最も早い受付可能日付: 日付選択で選択できる最も早い日付をISO形式(YYYY-MM-DD)で入力します。現在の日付が常に最も早い受付可能日付である場合は、`today`と入力します。日付選択では、最も早い受付可能日付より前の日付はグレー表示されます。

  • 最も遅い受付可能日付: 日付選択で選択できる最も遅い日付をISO形式(YYYY-MM-DD)で入力します。現在の日付が常に最も遅い受付可能日付である場合は、`today`と入力します。日付選択では、最も遅い受付可能日付より後の日付はグレー表示されます。

フィールドのプロパティを変更

フィールドのプロパティを変更するには、次の手順に従います:

  1. 関連するビューに移動し、右上隅の (ワンルームを切り替え) アイコンをクリックします。または、任意のアプリを開いた状態で (ワンルームを切り替え) アイコンをクリックし、関連するビューに移動します。

  2. 該当するフィールドをクリックします。

  3. :guilabel:`プロパティ`タブで、:ref:`フィールドプロパティ <studio/fields/properties>`に必要な変更を加えます。

    ちなみに

    さまざまなプロパティは、ラベルウィジェット、特定のユーザーグループに対するフィールドの公開設定、およびフィールドが:guilabel:非表示必須、または:guilabel:`読み取り専用`であるかどうかなど、異なるビューに対して個別に設定できます。

  4. 右上隅の 閉じる をクリックして、ワンルームを閉じます。

注釈

フィールドの:guilabel:`技術名`(:ref:`開発者モード <developer-mode>`を有効にするとStudioに表示されます)は、Studioでは変更できません。これは:ref:`データベースの技術設定から <studio/fields/properties-technical-name-change>`実行できます。

フィールドの技術名を変更

フィールドの技術名を変更するには、:ref:`開発者モード <developer-mode>`を有効にしてから、次の手順に従います:

  1. ワンルームでフィールドを開いた状態で、フィールドの技術名をコピーします。

  2. ワンルームで*すべて*のビューから:ref:`フィールドを削除 <studio/fields/remove>`してから、:guilabel:`閉じる`をクリックしてワンルームを閉じます。

  3. :menuselection:`設定アプリ --> 技術 --> フィールド`に移動します。

  4. コピーした技術名を検索バーに貼り付けてから、該当するフィールドを開きます。

  5. 必要に応じて:guilabel:`フィールド名`を変更します。

フィールドの技術名が更新されたら、既存のフィールドのリストから、該当するビューに:ref:`フィールドを(再度)追加 <studio/fields/add-existing>`できます。

重要

フィールドの技術名を更新する際は、少なくとも x_ プレフィックスを保持してください。これはカスタムフィールドに必要です。ワンルームを使用して作成されたフィールドの場合は、x_studio_ プレフィックスを保持することで、そのようなフィールドをより簡単に識別できるようになります。

ビューからフィールドを削除

ビューからフィールドを削除するには、次の手順に従います:

  1. 関連するビューに移動し、右上隅の (ワンルームを切り替え) アイコンをクリックします。または、任意のアプリを開いた状態で (ワンルームを切り替え) アイコンをクリックし、関連するビューに移動します。

  2. 該当するフィールドをクリックします。

  3. :guilabel:`物件`タブの下部までスクロールしてから、:guilabel:`ビューから削除`をクリックします。

  4. :guilabel:`OK`をクリックして、操作を確定します。

ちなみに

  • 削除されたフィールドは、必要に応じて後のステージで簡単に:ref:`ビューに追加し直す <studio/fields/add-existing>`ことができます。

  • ビューを整理することが目的の場合は、:ref:`フィールドを変更 <studio/fields/modify>`して、該当するビューで:guilabel:`非表示`にすることもできます。