> ## 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.

# 一括送信

> YiDAのワークフローフォームで一括送信を活用する方法を解説します。対応機能、操作手順、代理送信や動的な承認者割り当てなどのユースケース、失敗時の対処法までを網羅した公式ガイドです。

| **機能**     | **Freeプラン** | **ベーシック版** | **プロフェッショナル版** | **専用版** |
| ---------- | ----------- | ---------- | -------------- | ------- |
| 作業フローの一括送信 | 非対応         | 対応         | 対応             | 対応      |

## 1. 一括送信とは

YiDAのワークフローフォームでは、アプリ管理者がアプリ管理画面からExcelファイルをアップロードすることで、作業フローを一括送信できます。

一括送信は現在、以下の機能に対応しています。

（1）代理での作業フロー送信。Excelファイルの1つの列に申請者情報が含まれる場合、その列を作業フローの申請者として指定できます。

（2）YiDAプラットフォームの公式アカウントを利用した作業フローの送信。例えば、組織外メンバーからの苦情対応状況を管理する場合、申請者は個人よりも公式アカウントを利用する方が適切です。

（3）Excelファイルの特定の列に基づく、作業フロー処理担当者の動的な割り当て。例えば、組織外の顧客フォロー状況を管理するExcelファイルにフォロー担当者の列がある場合、送信時にその列を作業フローの処理担当者として指定できます。

（4）一括送信したデータの一括削除。一括送信が失敗した場合や期待どおりの結果とならなかった場合、データを一括で直接削除できます。

（5）Excelの列データの書式仕様。

## 2. 一括送信のユースケース

**シナリオ：**

ある部門で、直近の四半期に優れた成果を上げた社員を表彰したいと考えています。優秀社員それぞれの上司が「推薦文」を記入し、上司による推薦が完了すると、対象社員にメッセージ通知が届き、記念品を受け取れる仕組みです。

### 2.1 手順

#### 2.1.1 ワークフローフォームに入力する項目を設定する

ワークフローフォーム編集画面

#### 2.1.2 送信後に受賞者の上司が最初の承認者となり、推薦文を記入するよう作業フローを設定する

承認者を設定します。

#### 2.1.4 Excel一括送信を選択する

Excelファイルの内容は下図のとおりです。

Excel一括送信

データ管理からの一括送信

**注：作業フローの一括申請者はカスタマイズ可能です。**

データの申請者として、以下の3種類のいずれかを選択できます。

① YiDAプラットフォーム

② 現在Excelファイルをインポートしているユーザー

③ フォーム内のユーザー検索ボックスで選択されたユーザー（複数選択されている場合はデフォルトで先頭のユーザーが使用されます）（**ユーザー検索ボックスの値を申請者に指定してもフォーム内のメンバーコンポーネントの値が空の場合、送信は失敗します。**）

画像は、フォーム上のユーザー検索ボックスコンポーネントに「申請者」を設定している例です。

#### 2.1.5 一括送信の結果を確認する

エラーとなったレコードをクリックすると、失敗レコードを直接確認できます（インポートに成功したレコードは表示されません）。

#### 2.1.6 失敗したレコードは、バッチごとに一括削除できます

このバッチのデータを削除します。

上記の例は一括インポート機能を説明するために、あえてインポート失敗のケースを示しています。失敗の原因は、ユーザー IDの書式が正しくないことです。以下はインポート成功時の例です。

書式を修正するとインポートが成功します。

**注**：メンバーコンポーネントの書式について、社員番号でインポートする場合は `**名前1(社員番号1), 名前2(社員番号2)**` の形式で記述します。括弧は半角で入力してください。

社員のユーザー IDでインポートする場合は `**名前1[社員userId1], 名前2[社員userId2]**` の形式で記述します。角括弧は半角で入力してください。

## 3. よくある質問

<AccordionGroup>
  <Accordion id="q1" title="3.1 一括送信が失敗するのはなぜですか？">
    一括送信が失敗した場合は、以下の点を確認してください。

    （1）アプリが公開されているか。一括送信はアプリの公開後にのみ利用できます。

    （2）申請者をフォーム上のメンバーコンポーネントとしてカスタマイズしている場合、ユーザー検索ボックスに値が入力されているか、書式が正しいかを確認してください。

    （3）1回あたり最大1,000件までインポート可能で、ファイルサイズは20 MBを超えないようにしてください。

    （4）対応形式は `*.xls` および `*.xlsx` ファイルのみです。

    （5）インポートするシートのヘッダー行に空のセルが含まれていないことを確認してください。空のセルがあると、そのシートのデータはインポートされません。

    （6）一括インポートしたデータは、「組み込み変数」に基づくフィルタ条件には対応していません。

    （7）インポートするファイルは、`SUM` や `=H2*J2` などのExcel数式による計算には対応していません。

    （8）インポートされた画像および添付はストレージへ再アップロードされ、添付容量を消費します。
  </Accordion>

  <Accordion id="q2" title="3.2 一括インポート時に申請者を [YiDAプラットフォーム] に設定した場合、どのように承認すればよいですか？">
    作業フローの承認者を申請者本人に設定し、かつインポートデータの申請者を \[YiDAプラットフォーム] とした場合、作業フロー承認ノードには \[YiDAプラットフォーム] が承認者として表示され、手動で承認を実行することはできません。

    この場合、以下のオープンAPIを使用して承認を実行する必要があります。

    * エンドポイント：/yida\_vpc/process/executePlatformTask.json
    * パラメータ

    | **パラメータ**            | **説明**                  | **必須** | **例**                                | **備考**                                                                                                                                        |
    | -------------------- | ----------------------- | ------ | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
    | appType              | アプリID                   | はい     | APP\_PBKT0MFBEBTDO8T7SLVP            | <br />                                                                                                                                        |
    | systemToken          | AppSecret               | はい     | hexxyyddd                            | App Data から取得します。                                                                                                                             |
    | userId               | DingTalk userId         | はい     | yida\_pub\_account                   | yida\_pub\_accountを固定値で指定します。                                                                                                                 |
    | language             | 言語                      | いいえ    | zh\_CN                               | 選択可能な値：zh\_CN／en\_US<br />デフォルト：zh\_CN                                                                                                        |
    | procInstId           | ワークフローインスタンスID          | はい     | f30233fb-72e1-4af4-8cb8-c7e0ea9ee530 | <br />                                                                                                                                        |
    | outResult            | 承認結果                    | はい     | • agree<br />• disagree              | <br />                                                                                                                                        |
    | formDataJson         | 更新後のフォームデータ             | いいえ    | <br />                               | 参照：付録1 — フォームデータの保存・更新形式。<br />パラメータに含まれるコンポーネントは更新され、含まれないコンポーネントは変更されません。<br />テーブル明細の値は全体単位でのみ更新可能で、明細内の個別コンポーネントの値のみを更新することはできません。        |
    | remark               | 承認コメント                  | はい     | 確認済みのため承認します                         | <br />                                                                                                                                        |
    | noExecuteExpressions | 検証および関連アクションをスキップするかどうか | いいえ    | y                                    | タスクノードに検証ルールや関連アクションがバインドされている場合：<br />y -> 検証ルールおよび関連アクションをスキップ<br />n -> 検証ルールおよび関連アクションを実行<br />指定しない場合はデフォルトでnとなり、検証ルールおよび関連アクションが実行されます。 |
  </Accordion>
</AccordionGroup>

## 4. Excelコンポーネントのデータインポート形式

図のとおりです。
