> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alforse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 材料

> 物質、形状、寸法、仕上げ、等級、タイプで原材料を定義し、それらのプロパティから各材料の ID、名前、コードを Alforse に作成させます。

**材料**は、鋼板やアルミ棒など、原材料在庫として保有する、*材料*タイプの[アイテム](https://docs.alforse.com/ja/docs/reference/items.md)です。自由記述で説明する代わりに、構造化されたプロパティテーブルから値を選ぶと、Alforse がそれらから材料の識別子、表示名、コードを組み立てます。エンジニアや購買担当者はこれを使って、同じ在庫が別の名前で二重に入力されるのを防ぎます。

## 概念

### 6 つのプロパティ

材料は最大 6 つのプロパティで記述されます。それぞれが、材料が ID で参照するルックアップです。`materialSubstanceId`、`materialFormId`、`dimensionId`、`finishId`、`gradeId`、`materialTypeId`。

FieldType

<details>
  <summary>**物質**`materialSubstance`</summary>

  在庫が何でできているか。鋼、アルミニウム、ステンレス、チタンなど。`name` と `code` を持ちます。
</details>

<details>
  <summary>**形状**`materialForm`</summary>

  製品の形。シート、プレート、丸棒、インゴットなど。`name` と `code` を持ちます。
</details>

<details>
  <summary>**寸法**`materialDimension`</summary>

  名前付きのサイズ。シートとバーでサイズが異なるため、**形状**に属します。`isMetric` を持ちます。
</details>

<details>
  <summary>**仕上げ**`materialFinish`</summary>

  表面仕上げ。**物質**に属します。
</details>

<details>
  <summary>**等級**`materialGrade`</summary>

  **物質**内の等級。たとえば鋼の等級 1018。
</details>

<details>
  <summary>**タイプ**`materialType`</summary>

  **物質と形状**の両方に結び付いた製品タイプ。たとえば熱間圧延鋼板。`name` と `code` を持ちます。
</details>

### 選択肢が互いにどう依存するか

**物質**と**形状**は単独で成り立ちます。それ以外のすべてのプロパティは、そのどちらか、または両方で絞り込まれます。

| プロパティ | 選択肢の絞り込み条件 |
| - | - |
| 寸法 | 選択した形状 |
| 仕上げ | 選択した物質 |
| 等級 | 選択した物質 |
| タイプ | 選択した物質と形状の両方 |

新しい材料のフォームが上から順に入力する理由はこれです。先に物質と形状を選ぶと、その下のリストがそれに合わせて絞り込まれます。物質を変更すると、等級と仕上げのリストも変わります。

NOTE

**すべての材料は内部的に整合しています**

リストは親で絞り込まれるため、シート材にバーの寸法を、アルミニウムにステンレスの等級を付けることはできません。有効な組み合わせだけが提示されます。

## プロパティ値の出どころ

Alforse は、すべての会社が見られる初期の値のセットを提供します。会社は、その上に独自の値を追加します。

| ソース | 保存先 | 見られる範囲 |
| - | - | - |
| システムの値 | `materialStandardDefinition` | すべての会社 |
| 自社の追加 | `materialCompanyDefinition` | 自社のみ |

どちらのテーブルも、6 種類のプロパティすべてを保持し、`definitionKind`（*substance*、*form*、*type*、*grade*、*finish*、*dimension*）で区別されます。それぞれの種類が必要とするもの:

FieldType

<details>
  <summary>**物質、形状**`definitionKind`</summary>

  名前と、最大 10 文字の必須の `code`。大文字、数字、ハイフン。
</details>

<details>
  <summary>**タイプ**`definitionKind`</summary>

  **物質と形状**の両方に紐づく、名前とコード。
</details>

<details>
  <summary>**寸法**`definitionKind`</summary>

  **形状**に紐づく名前と、`isMetric`。
</details>

<details>
  <summary>**仕上げ、等級**`definitionKind`</summary>

  **物質**に紐づく名前。
</details>

NOTE

**重複のルール**

会社内で、値は種類、名前（大文字小文字を区別しない）、コード、物質と形状のスコープで一意である必要があります。そのため、同じ名前が 2 つの異なる親の下に存在することはできますが、同じ親の下に 2 つ存在することはできません。編集は冪等なコマンドログ（`materialDefinitionCommand`）を通じて適用されるため、同じリクエストを繰り返しても重複は作成されません。

## 材料を作成する

材料がどのように ID を得るかは、**設定 → アイテム → 材料ID**にある会社設定 `materialGeneratedIds` で決まります。

| 設定 | 入力するもの | Alforse の動作 |
| - | - | - |
| **オン**（生成） | 物質と形状、および任意のプロパティ | **材料ID**と短い説明のフィールドを非表示にし、プロパティから導出します。プロパティを変更すると、ID と名前が再生成されます。 |
| **オフ**（手動） | **材料ID**（必須） | 入力した ID を使用します。 |

ID を生成する場合、最低限必要なのは物質と形状です。材料は少なくとも「ある形状の物質」であり、寸法、仕上げ、等級、タイプはそれを絞り込みます。

### 名前とコードの作られ方

* **表示名**は、物質名と形状名に、選択した仕上げ、等級、寸法の名前を組み合わせたものです。
* **材料コード**は、物質、形状、タイプのコードを組み合わせたものです。

### ID、リビジョン、サイズ

材料の読み取れる ID は材料 ID なので、部品番号と材料 ID は同じ値です。1 つの材料が、複数のアイテムレコードにまたがることがあります。**リビジョン**ごとに 1 つ、在庫のサイズごとに 1 つです。割り当てた `sizes` は、[ジョブ](https://docs.alforse.com/ja/docs/reference/jobs.md)と発注書で選択できるバリエーションになります。各サイズは、材料の ID を共有する独自のアイテム行です。

## トラブルシューティング

材料のエラーの多くは、必須のプロパティが欠けていることが原因です。どのプロパティが必須かは、ID を生成するかどうかで決まります。

### "Substance is required" または "Shape is required"

**原因:** ID の生成をオンにして材料を作成しています。このモードでは、Alforse がプロパティから ID と名前を作るため、物質と形状（"Shape"）の両方が必須です。
**対処:** 物質と形状を選択します。寸法、仕上げ、等級、タイプは空のままで構いません。

### "Material ID is required"

**原因:** ID が手動のため、**材料ID**フィールドが表示されており、空欄にはできません。
**対処:** ID を入力するか、ID の生成をオンにして Alforse に導出させます。

### 材料IDフィールドが予期せず表示されたり消えたりする

**原因:** フィールドは `materialGeneratedIds` の設定に従います。オンで非表示、オフで表示され必須になります。
**対処:** **設定 → アイテム → 材料ID**を確認します。

### 新しいプロパティの値が拒否される

**原因:** 各値には親が必要で、名前とコードが必要なものもあります。

| 作成するもの | 必要なもの | 不足時のエラー |
| - | - | - |
| 仕上げまたは等級 | 物質 | "Substance is required" |
| 寸法 | 形状 | "Shape is required" |
| タイプ | 物質と形状 | "Substance is required"、"Shape is required" |
| 物質、形状、またはタイプ | 名前とコード | "Name is required"、"Code is required" |
| 寸法、仕上げ、または等級 | 名前 | "Name is required" |

**対処:** 先に親を選択し、その後で値に名前を付けます。

### "Failed to insert material" または "Failed to update material"

**原因:** サーバー上で保存に失敗しました。ID がすでに存在する材料に解決される場合が多く、材料は組み立てられたプロパティで一意であるため、データベースの制約が拒否します。
**対処:** プロパティまたは ID を変更して、組み合わせを一意にします。

## 関連

**アイテム**

材料は、*材料*タイプのアイテムです。追跡、単位、その他のアイテムのフィールドはこちらで説明しています。

[Open](https://docs.alforse.com/ja/docs/reference/items.md)

**方法と調達**

材料は、方法の部品表の構成要素になります。

[Open](https://docs.alforse.com/ja/docs/reference/methods.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.