明細項目とは、注文、請求書、発注書、梱包リスト、在庫データなどのデータやドキュメント内の個別のエントリーまたは行です。通常の項目は1つの値のみを保持しますが、各明細項目には複数の値を含めることができます。技術的には、これらはオブジェクトの配列です。
たとえば:
• Zoho Booksの請求書に含まれる商品。それぞれに名前、数量、単価、税金があります。
• 発注書に含まれるエントリー。それぞれ仕入先からの異なる商品に対応します。
明細項目がサポートされる前は、このようなデータをあるアプリから別のアプリに渡すには、インデックスで個々の行を抽出するカスタム数式を作成するか、配列を最初から構築するカスタム関数を作成する必要がありました。そのため、処理が不安定で時間のかかるものになっていました。
明細項目のサポートがない場合、複数行のデータを渡すには、各行を個別に抽出し、各項目を1つずつ関連付けるしかありませんでした。
商品が3つ含まれるWooCommerceの注文では、各行のすべての項目を個別に関連付ける必要があります。
商品名(1)→名前
数量(1)→数量
単価(1)→価格
商品名(2)→名前
数量(2)→数量
単価(2)→価格
商品名(3)→名前
数量(3)→数量
この方法には大きな欠点があります。
フローは固定された行数に対してのみ機能します。データ内の項目数が想定より多い、または少ない場合、行が欠落するか、フローが失敗します。
各行のすべての項目を個別に関連付ける必要があるため、設定が面倒でミスが発生しやすくなります。
トリガーの項目構造が変更されると、関連付けられたすべての行が機能しなくなり、個別に修正する必要があります。
動的な行数を処理するにはカスタム関数が必要であり、プログラミングの知識が求められます。
明細項目のサポートにより、Zoho Flowはトリガーまたは前のアクションが配列データを返すことを認識し、アクション設定でマッピング可能な明細項目変数として表示します。項目を一度設定すれば、トリガーまたは前のアクションが返す行数に関係なく、Zoho Flowがすべての行にマッピングを自動で適用します。
前述の例では、WooCommerceの注文内の各商品が、Zoho Inventoryの受注で正しく入力された行として表示されます。数式は不要です。カスタム関数も不要です。行数をハードコードする必要もありません。これは、両方のアプリケーションで互換性のある項目構造が共有されている場合に機能します。そうでない場合は、項目を個別にマッピングできます。
メモ:アクションが明細項目に対応していない場合、その設定パネルに明細項目セクションは表示されません。
構造化データに対応するアクションを設定する際、グループ化された項目には、明細項目と項目グループの2種類があります。設定パネルでは似て見える場合がありますが、動作は異なります。
明細項目を使用する場合
関連データの複数行を渡す場合は、明細項目変数を明細項目の項目にマッピングします。各行には固有の値のセットがあります。たとえば、次のような場合です。
請求書の商品。それぞれに名前、数量、単価、税が含まれます
受注の商品。それぞれにSKU、数量、割引が含まれます
連絡先の電話番号。それぞれに番号、種類、国コードが含まれます
項目グループを使用する場合
1つのグループ化されたデータ(1セットの値)をあるアプリケーションから別のアプリケーションに渡す場合は、項目グループ変数を項目グループの項目にマッピングします。たとえば、次のような場合です。
連絡先の請求先住所(番地、市区町村、都道府県、郵便番号)を別のアプリケーションにコピーする
注文の配送先住所を転送先アプリケーションのデータに渡す
明細項目との主な違いは、複数の行を扱わない点です。固定された項目グループの1対1の転送です。複数の商品や複数の電話番号のようなリストを移動する場合は、代わりに明細項目の項目を使用してください。
|
明細項目
|
項目グループ
|
|
複数のデータ(行)を表します。
|
1つのグループ化されたデータを表します。
|
|
配列ベースの値の割り当てに対応しています。
|
配列ベースの値の割り当てには対応していません。
|
|
各行に値の配列を割り当てられます(位置に基づく)。
|
1つのデータを表します。各項目には1つの値のみが保持され、複数の行はありません。
|
|
例:注文商品、請求書の商品、購入明細。
|
例:請求先住所、配送先住所。 |
アクション設定の右側にある[変数の挿入]パネルには、トリガーと前のステップで利用可能なすべての変数が、ステップごとにグループ化されて表示されます。
明細項目データを含む変数には明細項目タグが付けられ、項目グループデータを含む変数には項目グループタグが付けられます。それぞれの横にある展開アイコンをクリックすると、その中の個別の項目が表示され、各項目には文字列や数値などのデータ型が表示されます。任意の変数をクリックすると、対応する項目にマッピングできます。
明細項目に対応するアクションを開くと、設定パネルに明細項目セクションが表示されます。設定方法は、[一括]と[項目ごと]の2つです。
アクション設定パネルで、[ラインアイテム]セクションを見つけ、[一括]をクリックします。
右側の[変数を挿入]セクションで、トリガーまたは前のアクションの出力からラインアイテム変数を選択します。Zoho Flowにより、ラインアイテム変数がラインアイテム項目に直接関連付けられます。
ここでは、[Phones]項目が${fetchContact_2.Phones}に関連付けられています。前のステップのラインアイテム変数全体が一括で項目に渡され、すべての電話番号の行が自動的に転送されます。
値を配列として直接入力することもできます。たとえば、[Phones]項目に複数の電話番号を追加するには、以下の形式で値を入力します。各エントリーは、Xeroの連絡先で個別の電話データとして作成されます。
[{'phonenumber':'555 0132','phoneareacode':'415'},{'phonenumber':'555 0198','phoneareacode':'212'},{'phonenumber':'555 0147','phoneareacode':'416'}]
電話番号(1)→ 555 0132
電話番号(2)→ 555 0198
電話番号(3)→ 555 0147
市外局番(1)→ 415
市外局番(2)→ 212
市外局番(1)→ 416
ここで、[電話番号]と[市外局番]は、[Phones]ラインアイテム項目内の項目です。
メモ:一括設定は、両方のアプリケーションで同じ項目構造が使用されている場合にのみ機能します。
項目ごとに、明細行の各項目を個別に設定できます。各項目には、前のステップの値をマッピングするか、値を直接入力するか、項目がドロップダウンの場合は選択肢の一覧から選択できます。
値の割り当て方法にかかわらず、値を複数の行にどのように分配するかも指定できます。
配列として - JSON形式で値のリストを渡します。各値は位置に基づいて対応する行に割り当てられます。一致する値がない行はnullとして設定されます。
ここでは、電話番号項目が${fetchContact_2.Phones.PhoneNumber}にマッピングされています。つまり、前のステップから返されたPhones明細行変数から電話番号を直接取得し、各番号を対応する行に自動的に割り当てます。
別の例として、トリガーが4件の明細行を返し、市区町村が配列としてマッピングされている場合を示します。
入力:['ニューヨーク', 'ロサンゼルス', 'シカゴ', 'ヒューストン']
行1 → ニューヨーク
行2 → ロサンゼルス
行3 → シカゴ
行4 → ヒューストン
一方、1つの要素のみを含む配列として単一の値を渡した場合、その値は最初の行にのみ割り当てられます。残りの行にはnull値が設定されます。
入力:['ニューヨーク']
行1 → ニューヨーク
行2 → null
行3 → null
行4 → null
単一値として - 1つの値を渡すと、すべての行に適用されます。倉庫の場所、通貨、国コードなど、すべての明細行で同じ値となる項目に使用します。
この例では、電話の国番号項目に単一の値を渡しているため、同じ値がすべての行に適用されます。
入力:電話の国番号 - +1
行1 → +1
行2 → +1
行3 → +1
行4 → +1
ドロップダウンのある項目では、既存の選択肢を選択して同じ値をすべての行に適用することも、カスタム値を入力することもできます。カスタム値では配列入力がサポートされているため、行ごとに異なる選択肢を割り当てられます。
たとえば、明細ごとに電話の種類が異なる場合です。カスタム値を選択し、以下の形式で値を入力します。
入力:['携帯電話', '勤務先', 'FAX']
行1 → 携帯電話
行2 → 勤務先
行3 → FAX
行4 → (空)
メモ:配列は有効なJSON形式に従う必要があります。文字列値は二重引用符で囲む必要があります。たとえば、['有効', '無効']は有効ですが、[有効, 無効]は無効です。数値には引用符は不要です。
|
割り当てモード
|
入力
|
行
|
結果
|
|
配列入力-前のステップからマッピング
|
明細項目の配列
|
元データと一致
|
各行に位置に応じた値が入力されます
|
|
単一値-前のステップからマッピング
|
任意の単一項目
|
任意
|
すべての行に同じマッピング値が入力されます
|
|
直接入力-配列
|
['A', 'B', 'C']
|
5
|
行1=A、
行2=B、 行3=C、 行4~5=空 |
|
直接入力-単一値
|
有効
|
5
|
5行すべて=有効
|
|
ドロップダウンから選択
|
選択:Approved
|
5
|
5行すべて=Approved
|
|
カスタム値-配列(明細項目)
|
['Approved', 'Pending']
|
5
|
行1=Approved、 行2=Pending、 行3~5=空 |
|
カスタム値-単一(項目グループ)
|
'Approved'
|
任意
|
すべての行=Approved
|
メモ:配列入力を使用する場合、値がない位置はnullです。行数を超える余分な値は無視されます。
すべてのアプリケーションが明細項目に対応しているわけではありません。アクションに明細項目セクションが表示されない場合、そのアプリは明細項目に対応していません。
項目グループは配列入力に対応していません。
項目グループのドロップダウン項目では、選択できる選択肢は1つだけです。配列入力によるカスタム値には対応していません。
通常、これはマッピング先の項目が明細項目ではなく、項目グループ内の項目であることを意味します。項目グループは1件のデータを表し、配列には対応していません。項目グループではなく、アクションの明細項目セクションにマッピングしていることを確認してください。