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

# 業務関連設定

> DingTalk YiDAのプレミアム関数を使った業務関連設定を解説。INSERT・UPDATE・UPSERT・DELETEの4関数とターゲットフォームの概念、統合と自動化との実行順序、データ量制限までフォームと作業フローの連携ルールをまとめて紹介します。

プレミアム関数は主に、2 つのフォーム間のデータ関連を維持するために使用します。現時点では主にフォームと作業フローのページで利用され、現在のフォームを送信した際に別のフォームへデータを追加・削除・更新する処理を制御します。

以下の 4 つのプレミアム関数が利用可能です。

| **関数名**                            | **説明**                           |
| ---------------------------------- | -------------------------------- |
| [**INSERT**](/ja/yida/form/yhdw79) | 現在のフォームのデータをターゲットフォームに挿入します。     |
| [**UPDATE**](/ja/yida/form/svrgxm) | 指定した条件に一致するターゲットフォームのレコードを更新します。 |
| [**UPSERT**](/ja/yida/form/al3gkc) | ターゲットフォームのデータを挿入または更新します。        |
| [**DELETE**](/ja/yida/form/fqtnhh) | ターゲットフォームのデータを削除します。             |

**ターゲットフォーム**: 現在のフォームがデータを送信または削除した際に、データが挿入・更新・削除される対象のフォームです。

## FAQ

<AccordionGroup>
  <Accordion id="q1" title="Q: 業務関連ルールと統合と自動化が混在する場合、実行順序はどのように決まりますか？">
    **業務関連ルールと統合と自動化は、現在それぞれ独立した実行ロジックで動作します。それぞれ固有の実行順序に従い、順序を制御することはできません。**

    両者が混在すると、同一のターゲットフォームが 2 つの異なるタスクシステムからスケジュールされ、期待した順序で実行できない場合があります。特に、レコードの追加と減算の両方が行われる在庫管理などの複雑なシナリオでは、想定外の結果を招く可能性があります。

    業務をまたぐデータ同期には、YiDA の統合と自動化の利用を推奨します。
  </Accordion>

  <Accordion id="q2" title="Q: 統合と自動化のノードに複数の業務関連ルールが含まれる場合、実行順序はどのように決まりますか？">
    業務関連ルールは複数ルールをサポートしていますが、製品上の制限により、**ルール間の実行順序は選択できません。**

    実行順序を制御したい場合は、統合と自動化の Insert・Update・Delete の**データノード**を使用してください。これらのノードは順序付きのオーケストレーションに対応しており、実行記録は**実行ログ**から確認できます。

    詳細な設定方法は、以下のスクリーンショットを参照してください。

    業務関連ルールに関するよくある質問
  </Accordion>

  <Accordion id="q3" title="Q: 業務関連ルール関数のデータ量制限はどのくらいですか？">
    YiDA の業務ルール関数の現在の利用制限は次のとおりです。

    | コア関数                           | 説明                               | 利用制限                                                                                                                                                                                           |
    | ------------------------------ | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | [INSERT](/ja/yida/form/yhdw79) | 現在のフォームのデータをターゲットフォームに挿入します。     | 1. 一括インポートによって業務関連ルールがトリガーされ、メインのターゲットフォームへデータを挿入する場合、フィールドのレコード数に制限はありません（一度のインポートは 1,000 件以下を推奨します。件数が多くなると処理速度が低下します）。一括インポートには 20 MB のファイルサイズ制限が適用されます。<br />2. サブフォームからメインフォームへの挿入。<br /> |
    | [UPDATE](/ja/yida/form/svrgxm) | 指定した条件に一致するターゲットフォームのレコードを更新します。 | 1. 対象がメインフォームのフィールドの場合、1 回の操作で最大 100 件までのレコードを更新できます。この上限を超えるとエラーが発生し、送信が失敗します。<br />2. 対象がサブフォームのデータの場合。<br />                                                                                |
    | [UPSERT](/ja/yida/form/al3gkc) | ターゲットフォームのデータを挿入または更新します。        | 1. 対象がメインフォームのデータの場合、1 回の操作で最大 100 件までのレコードを更新できます。この上限を超えるとエラーが発生し、送信が失敗します。<br />2. 対象がサブフォームのデータの場合。<br />                                                                                  |
    | [DELETE](/ja/yida/form/fqtnhh) | ターゲットフォームのデータを削除します。             | 1. 対象がメインフォームのデータの場合、1 回の操作で最大 100 件までのレコードを削除できます。<br />2. 対象がサブフォームのデータの場合。<br />                                                                                                            |

    FAQ
  </Accordion>

  <Accordion id="q4" title="Q: 別のサブフォームからサブフォームを更新するにはどうすればよいですか？">
    ユースケース: 2 つのメインフォーム間でサブフォームデータを同期します。

    関数例:

    メイン条件:

    **EQ(ターゲットフォーム.メインフォームフィールド, 現在のフォーム.メインフォームフィールド)** — サブフォームデータを更新する対象となる、ターゲットフォーム内の特定のレコードを特定します。

    サブ条件: **EQ(ターゲットフォーム.サブフォーム.サブフォームフィールド, 現在のフォーム.サブフォーム.サブフォームフィールド)** — ターゲットフォーム内で更新が必要な特定のサブフォームレコードを特定します。

    [業務関連ルールの一般的なシナリオ](/ja/yida/form/umnp11)
  </Accordion>
</AccordionGroup>
