如何在 Socket 或 Web 服務 POST 整合中使用多筆記錄
概述
當您透過 socket 傳送資料或進行網路服務整合時,可以選擇一次傳送多筆記錄,就像檔案整合中的表格結構一樣。這樣可以讓您在單一觸發檔案中傳送更多資訊。
當您建立新的整合時,系統預設只會讀取並處理一筆記錄。不過,透過一些額外的動作,您可以讓整合處理多筆記錄。
注意:使用網路服務整合時,僅支援 POST 方法,因為資料必須透過訊息主體傳送。
適用於
BarTender 2019 及以上版本
Automation 版本及更高版本
說明
您可以透過 TCP 或 POST 傳送已經具有「類似表格」結構的資料,例如下方的範例:

若要將「平面」檔案的內容作為變數使用,您需要先設定兩個額外的動作:「針對每筆資料庫記錄」以及「將文字轉換為記錄集」:
這兩個動作可以「不論整合類型」都使用,因為它們會根據 %EventData% 變數的值來運作,這個變數會儲存所有進來的整合資料。
「將文字轉換為記錄集」動作僅支援以文字為基礎的資料庫,例如 CSV、Tab 分隔或其他類似分隔的資料庫。較複雜的文字型資料庫,如 XML 或 JSON,將無法正確運作。
設定「將文字轉換為記錄集」動作
首先需要設定的動作是「將文字轉換為記錄集」(這個動作會將資料轉換為類似資料庫的結構):
- 您需要先準備一個「範例」檔案,用來定義進來資料的結構。例如,使用一份與之後透過 TCP 或 POST 傳送資料結構相同的範例文件。
- 點選「資料庫連線設定...」按鈕,然後使用精靈將「範例」資料庫檔案連結到整合。連接好資料庫後,關閉對話框。
- 在「文字來源」選項中,請確認「變數」設為「%EventData%」,而輸出也設為「%EventData%」。
這表示這個動作會使用「%EventData%」變數中的資料,而整合會自動將所有進來的資料儲存在這個變數中。
設定「針對每筆資料庫記錄」動作
當資料被分割成多筆記錄後,整合需要知道如何處理這些進來的記錄。「針對每筆資料庫記錄」動作,並在其下新增「列印文件」動作,這樣每筆記錄在列印時都會分別列印:
「針對每筆資料庫記錄」動作本身不需要額外設定,但您需要在「列印文件」動作中定義資料如何對應到標籤上。
- 首先,您的標籤需要將所有值設為具名資料來源。
- 點選「匯入文件設定」按鈕,匯入並填入具名資料來源名稱。
- 接著,將標籤的具名資料來源與範例資料庫的欄位名稱對應。如果您沒有指定欄位名稱,系統會自動產生名稱,如 Field1、Field2 等。
- 在具名資料來源表格中,選擇變數圖示,從對話框插入欄位名稱。欄位名稱會顯示在下方的「動作」區段:
如果您知道欄位名稱,也可以直接以 %FIELDNAME% 的語法手動輸入。