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

# Map Fields アクティビティ

> Map Fields アクティビティでは、ABBYY Vantage で抽出されたフィールド値を UiPath 変数にバインドでき、テキスト、日付、チェックマーク、グループ、テーブルの型マッピングをサポートします。

**Map Fields** は通常、UiPathワークフローにおける最後のVantageアクティビティです。**Get Results** の **Extracted Data** を受け取り、後続のアクティビティで使用できるように個々のfieldをUiPath変数にバインドします。マッピングは **Designer** パネルで定義します。

<div id="activity-properties">
  ## アクティビティのプロパティ
</div>

| グループ                | プロパティ          | 型        | 説明                                                                                                                                                   |
| ------------------- | -------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| Connection Settings | Skill Name     | `String` | Vantage Document skill の名前です。                                                                                                                        |
| Input               | Extracted Data | `String` | 抽出データを含む JSON 文字列を受け取ります。このプロパティには、**Get Results** アクティビティで受け取った該当の `DocumentResult` の `ExtractedData` プロパティの値を渡します。プロパティ間で値を受け渡すには、UiPath 変数を使用します。 |

<Warning>
  Map Fields アクティビティは、設定済みの Vantage Scope アクティビティ内でのみ使用できます。
</Warning>

アクティビティを設定する際は、コネクタが Skill の一覧を取得できるように、Vantage Scope アクティビティで **Password** または **Client Secret** プロパティ (認証フローに応じて異なります) を設定します。ワークフローの設定が完了したら、**Secure Password** または **Secure Client Secret** プロパティに切り替えてください — [Vantage Scope アクティビティ](/ja/vantage/connectors/uipath/activities/vantage-scope) を参照してください。

<div id="before-you-map">
  ### マッピングの前に
</div>

実行時には、**Extracted Data** プロパティに、この Map Fields アクティビティの設定対象である Document skill に対して **Get Results** が返した `DocumentResult` の `ExtractedData` 値を渡す必要があります。

データを Map Fields に渡す前に、次のことを確認してください。

* 文書の Document skill が、Map Fields で設定されているものと一致していることを確認します。文書タイプを識別するには、`DocumentResult` の `ClassName` プロパティを使用します。
* `ClassName` を設定するには、Process skill の **Extract** アクティビティで class と skill のマッピングを設定します。このとき、class 名は Document skill 名と一致している必要があります。

Extract アクティビティの設定について詳しくは、[Map Document skills to classes](/ja/vantage/documentation/skill-designer/process/extract-activity) を参照してください。

ABBYY Vantage field を UiPath 変数にマッピングするには、次の手順を実行します。

<Steps>
  <Step title="Map Fields アクティビティを開く">
    **Designer** パネルで **Map Fields** アクティビティを開き、利用可能な Skill の一覧をロードするため、**Skill Name** の下にあるドロップダウンリストの右側のボタンをクリックします。
  </Step>

  <Step title="Document skill を選択する">
    **Skill Name** ドロップダウンリストを展開し、抽出されたフィールド値を UiPath 変数に保存する Document skill を選択します。

    <Note>
      選択できるのは Document skill のみです。
    </Note>
  </Step>

  <Step title="フィールドツリーを更新する">
    **Refresh** ボタンをクリックします。**Vantage Extracted Field** 列にフィールドツリーが表示されます。
  </Step>

  <Step title="field を UiPath 変数にマッピングする">
    ツリーを展開し、マッピングする field の横にある **Plus** ボタンをクリックします。**UiPath Variable** 列に、UiPath 変数名と型が表示されます。既定では、変数名は Vantage field の名前と同じですが、必要に応じて変更できます。

    <Warning>
      Map Fields アクティビティで指定する UiPath 変数名が、UiPath プロセスで設定された Variables Naming Convention と一致していることを確認してください。変数名が命名規則に従っていない場合、UiPath 変数リストでは警告記号付きで表示されます。Variables Naming Convention の詳細については、[UiPath documentation](https://docs.uipath.com/) を参照してください。
    </Warning>

    <Frame>
      <img src="https://mintcdn.com/abbyy/Km9nwnkPeY8_wARd/images/vantage/developer/connectors/uipath/map-fields-activity.jpg?fit=max&auto=format&n=Km9nwnkPeY8_wARd&q=85&s=76f740256ad1baec40fdc56c7faebec7" alt="Vantage Extracted Field ツリーと UiPath Variable 列を示す Map Fields アクティビティ" width="1102" height="1346" data-path="images/vantage/developer/connectors/uipath/map-fields-activity.jpg" />
    </Frame>
  </Step>

  <Step title="残りの field をマッピングする">
    マッピングが必要な他の field について、前の手順を繰り返します。既存の UiPath 変数を指定することもできます。その場合は、変数の型が以下の表で推奨されているものと一致していることを確認してください。
  </Step>

  <Step title="マッピングを適用する">
    文書の field を UiPath 変数にマッピングしたら、変更を保存するために **Apply** をクリックします。実行時に **Map Fields** アクティビティが呼び出されると、変数の値に抽出データが設定されます。
  </Step>
</Steps>

<Note>
  指定した UiPath 変数は、Map Fields アクティビティに最も近い Sequence 内 (たとえば Flowchart 内) に作成されます。
</Note>

<Note>
  **Skill Name** パラメーターは、UiPath の `String` 変数を受け取ります。ドロップダウンリストから Document skill を選択すると、新しい値がその変数に書き込まれます。式や他の変数への参照はサポートされていません。
</Note>

<div id="field-type-mapping">
  ## Field type mapping
</div>

以下の表は、各 ABBYY Vantage field 型に対応する UiPath 変数の型を示しています。

| ABBYY Vantage Field Type          | UiPath Variable Type |
| --------------------------------- | -------------------- |
| Text                              | `String`             |
| Date                              | `String`             |
| Number                            | `String`             |
| Money                             | `String`             |
| Barcode                           | `String`             |
| Checkmark                         | `Boolean`            |
| チェックマークグループ (個別の チェックマーク として取得可能) | `FieldList`          |
| Group                             | `FieldList`          |
| Group (繰り返しグループの場合)               | `FieldList[]`        |
| テーブル                              | `FieldList[]`        |

<Note>
  繰り返しのリーフ fields (`Text` など) とテーブル columns は `String[]` にマッピングされます。繰り返しグループ (他の繰り返しグループ内にネストされているものを含む) は `FieldList[]` にマッピングされます。繰り返しグループ内では、個々の子 fields を単純型にマッピングすることもできます。
</Note>

<Frame>
  <img src="https://mintcdn.com/abbyy/Km9nwnkPeY8_wARd/images/vantage/developer/connectors/uipath/map-fields-groups.jpg?fit=max&auto=format&n=Km9nwnkPeY8_wARd&q=85&s=103c1a0f62e25c81d3636f855b18813b" alt="マッピングされたグループと繰り返しfieldsを含む、Vantage Extracted Field ツリーと UiPath Variable 列を表示する Map Fields アクティビティ" width="1308" height="920" data-path="images/vantage/developer/connectors/uipath/map-fields-groups.jpg" />
</Frame>

<div id="groupitem">
  ### GroupItem
</div>

`GroupItem` は、繰り返し object (field または field のグループ) の 1 つのインスタンスを含む構造です。

| Method/Property | Parameter                                               | Type                                    | Description                                                     |
| --------------- | ------------------------------------------------------- | --------------------------------------- | --------------------------------------------------------------- |
| Keys            |                                                         | `IEnumerable<string>`                   | key 値。各値は特定のネスト レベルの名前です。                                       |
| Values          |                                                         | `IEnumerable<IReadOnlyList<FieldList>>` | ネスト レベルの field values のセット。                                     |
| Count           |                                                         | `Integer`                               | ネストされた field の数。                                                |
| ContainsKey     | `Key: String`                                           | `Boolean`                               | ネストされた field が存在するかどうかを示します。                                    |
| TryGetValue     | `Key: String, Value: IReadOnlyList<FieldList>`          | `Boolean`                               | 値が存在するかどうかを示します。値がある場合は `True` とその値を返し、ない場合は `False` を返します。     |
| this\[]         | `Name: String`                                          | `IReadOnlyList<FieldList>`              | 指定したネストされた field の値を返します。                                       |
| Find            | `Name: String`                                          | `IEnumerable<FieldList>`                | 指定した名前を持つ、任意のネスト レベルのすべてのネストされた field を検索します。                   |
| Filter          | `Predicate: (Name: String, Node: FieldList) => Boolean` | `IEnumerable<FieldList>`                | 述語を満たす、任意のネスト レベルのすべてのネストされた field を検索します。                      |
| Descendents     | `NameItems: Params String[]`                            | `IEnumerable<FieldList>`                | 名前が `nameItems` パラメーターに一致する、任意のネスト レベルのすべてのネストされた field を検索します。 |

<div id="fieldlist">
  ### FieldList
</div>

`FieldList` は、field または field のグループ (同じ名前の repeating fields または繰り返しグループ) に対応する構造で、field またはグループの値 (複数のインスタンスを含む場合があります) を保持します。

| Method/Property | Parameter                                               | Type                     | Description                                                         |
| --------------- | ------------------------------------------------------- | ------------------------ | ------------------------------------------------------------------- |
| Values          |                                                         | `IEnumerable<Object>`    | スカラー field 値のセット。                                                   |
| Count           |                                                         | `Integer`                | ネストされた GroupItems の数。                                               |
| Find            | `Name: String`                                          | `IEnumerable<FieldList>` | 指定した名前を持つ、任意のネスト レベルのすべてのネストされた field を検索します。                       |
| Filter          | `Predicate: (Name: String, Node: FieldList) => Boolean` | `IEnumerable<FieldList>` | 述語を満たす、任意のネスト レベルのすべてのネストされた field を検索します。                          |
| this\[]         | `Num: Integer`                                          | `GroupItem`              | `num` パラメーターで指定した位置にある、ネストされた field を持つ `GroupItem` (存在する場合) を返します。 |

<Tip>
  Sample Process には、`FieldList[]` 型の変数の使用例があります (LineItems テーブルの Description 列がログ メッセージに表示されます) 。
</Tip>

Group field 型の詳細については、[Group field](/ja/vantage/documentation/skill-designer/document/adding-fields/group) を参照してください。

<div id="related-topics">
  ## 関連トピック
</div>

<CardGroup cols={3}>
  <Card title="Vantage Scope アクティビティ" icon="cube" href="/ja/vantage/connectors/uipath/activities/vantage-scope">
    配下の Vantage アクティビティに、ABBYY Vantage の接続設定を渡します。
  </Card>

  <Card title="Use Skill アクティビティ" icon="play" href="/ja/vantage/connectors/uipath/activities/use-skill">
    Skill を使ってドキュメントを処理するための Vantage トランザクションを作成します。
  </Card>

  <Card title="Get Results アクティビティ" icon="circle-down" href="/ja/vantage/connectors/uipath/activities/get-results">
    ABBYY Vantage から処理結果を取得します。
  </Card>
</CardGroup>
