本文描述了 Microsoft 對 Microsoft Dynamics 365 Commerce 中聲明發布功能所做的改進。
Activation
預設情況下,在部署財務和營運 7.3.2 時,程式會使用舊版功能來進行對帳單過帳。 要啟用改良版的報表張貼功能,請開啟設定鍵。
- 移至系統管理 > 設定 > 授權設定。 在 零售與商業 節點下,清除「 對帳單(舊有) 」勾選框,並選擇 「對帳單 」勾選框。
當你開啟新的 Statements 設定鍵時,會看到一個名為 Statements 的新選單項目。 使用此選單項目手動建立、計算並發布帳單。 此選單項目也會顯示任何在批次發文程序中使用時會造成錯誤的語句。 (當你開啟 Statements(舊有) 設定鍵時,選單項目會被命名 為 Open statements。)
Commerce 包含與這些組態金鑰相關的下列驗證規則:
- 你不能同時開啟兩個設定鍵。
- 你必須對該敘述在其生命週期中執行的所有操作(建立、計算、清除、發佈等)使用相同的設定鍵。 例如,無法在啟用對帳單 (舊版) 組態金鑰的情況下建立並計算對帳單,然後再嘗試在啟用對帳單組態金鑰的情況下過帳該對帳單。
Note
除非你有充分理由改用語句(舊有)設定鍵,否則請使用「語句」設定鍵來使用改良版的語句張貼功能。 Microsoft 持續投資於全新且改良的聲明發布功能,您務必盡早切換使用以享受其效益。 舊版的對帳單過帳功能自 8.0 版本起已被取代。
設定
作為帳單張出功能改進的一部分,商務參數頁面的帳單快速標籤(Statement FastTab)新增了三個參數:
停用清算帳單 – 此選項僅適用於舊帳單張貼功能。 將此選項設 為「否」 ,以防止用戶清除處於半張貼狀態的語句。 若半張貼狀態的語句被清除,資料將被損壞。 此選項僅在特殊情況下設 為「是 」。
計算時預留庫存 ——使用 「存貨批次作業 」來預留庫存,並將此選項設為 「否」。 當此選項設為否時,改進後的對帳單過帳功能在計算時不會嘗試建立庫存保留項目 (如果尚未透過過帳庫存批次作業建立)。 相反地,該功能僅在過帳時建立庫存保留項目。 這種實作方式是設計上的選擇,因為通常計算與過帳之間的時間間隔很短。 然而,如果希望在計算時保留庫存,也可以將此選項設為是。
舊版的對帳單過帳功能在對帳單計算過程中始終會保留庫存 (若尚未透過過帳庫存批次作業執行保留),無論此選項設定為何。
停用強制盤點 – 當此選項設為是時,即使對帳單上的盤點金額與交易金額的差異超出店面對帳單 FastTab 中定義的閾值,對帳單仍會繼續過帳程序。
Note
自 Commerce 版本 10.0.14 起,啟用零售對帳單 - 涓流饋給功能時,過帳庫存批次作業將不再適用且無法執行。
加工
你可以透過選單項目「批次計算帳單」和「批次過帳帳單」來批次計算和過帳帳單。 或者,您也可以使用改良帳單入帳功能所提供的 對帳單 選單項目,手動計算並入帳帳單。
以批次方式計算與過帳對帳單的流程與步驟與舊版功能相同。 然而,在對帳單的核心後端處理方面有顯著改進。 這些改進使流程更具韌性,並提供對狀態與錯誤資訊更佳的可視化。 因此,使用者可針對錯誤根本原因進行處理,然後繼續過帳流程,不會造成資料損壞,也無需進行資料修復。
以下各節說明在使用者介面中的對帳單與已過帳對帳單所出現的一些主要改進。
狀態詳細資料
報表過帳例程現在使用一個新的狀態模型,於計算與過帳過程中運用。
下表說明計算過程中各個狀態及其順序。
| 狀態順序 | State | Description |
|---|---|---|
| 1 | 已開始 | 該聲明已建立並完成計算準備。 |
| 2 | 已標記 | 例程會根據語句參數識別屬於該語句範圍的交易,並以語句 ID 標記。 |
| 3 | 已計算 | 程序會計算並顯示語句行。 |
下表說明過帳過程中各個狀態及其順序。
| 狀態順序 | State | Description |
|---|---|---|
| 1 | 已核對 | 例程會執行多項與參數(例如處置費用)以及對帳單行(例如計數金額與交易金額差額)相關的驗證。 |
| 2 | 彙總 | 例行程序會根據配置彙整有名及未具名客戶的銷售交易。 每筆彙總交易最終會轉換為銷售訂單。 |
| 3 | 已建立客戶訂單 | 例行程序會根據彙總的交易在系統中建立銷售訂單。 |
| 4 | 客戶訂單已開立發票 | 例行程式會開立發票給銷售訂單。 |
| 5 | 折扣已過帳 | 常規程序會根據配置定期生成折扣報表。 |
| 6 | 已過帳收入/費用 | 此程序會將收入/支出交易過帳為憑證。 |
| 7 | 憑單已連結 | 例行程序會建立付款日記帳,並將其連結到對應的發票。 |
| 8 | 付款已過帳 | 此程序會過帳付款日記帳。 |
| 9 | 禮品卡已過帳 | 這個例行程序會將禮品卡交易記錄為憑證。 |
| 10 | 已張貼 | 例行程序會標記該報表為已入帳。 |
前述表格中的每個狀態都是獨立的,但這些狀態有層級依賴關係,從上到下。 若系統在處理狀態時遇到錯誤,會將該語句的狀態回復到先前的狀態。 任何後續的重試作業將從失敗的狀態繼續處理並往下執行。 此方法有下列優點:
使用者可完全掌握發生錯誤的狀態。
可避免資料損壞。 例如,在舊版對帳單過帳功能中,有些銷售訂單已開立發票,但其他訂單仍維持未結狀態。 有些付款日記帳沒有對應的發票,因為發票過帳時發生錯誤導致無法結清。
使用者可透過對帳單的執行詳細資訊群組中的狀態詳細資訊按鈕,查看對帳單的目前狀態。 「狀態詳細資訊」頁面包含三個區段:
- 第一區段顯示對帳單的目前狀態,若發生錯誤,則會顯示錯誤代碼及詳細錯誤訊息。
- 第二區段顯示計算流程中的各個狀態。 視覺提示表示程序已成功執行、程序因錯誤無法運行,以及程序尚未執行。
- 第三區段顯示過帳流程中的各個狀態。 視覺提示表示程序已成功執行、程序因錯誤無法運行,以及程序尚未執行。
此外,第二與第三區段的標題會顯示該流程的整體狀態。
事件記錄檔
語句會經過各種操作,例如建立、計算、清除和發佈。 在語句的生命週期中,系統可能會呼叫同一操作的多個實例。 例如,在你建立並計算完一個語句後,你可以清除該語句再重新計算。 該語句執行細節群組中的事件日誌按鈕提供系統對該語句呼叫的各種操作的完整稽核軌跡。 系統也會顯示何時呼叫這些操作。
彙總的交易
在開帳過程中,系統會依客戶與產品彙整現金即帶交易。 這種整合減少了系統產生的銷售訂單和訂單數量。 系統會儲存彙整的交易,並用它們來建立銷售訂單。 每筆彙整交易會在系統中產生一個對應的銷售訂單。
如果明細沒有完全張貼,你可以在明細中查看匯總交易。 在「動作窗格」的對帳單標籤中,於執行詳細資訊群組中選取彙總交易。
對於已過帳的對帳單,可在已過帳對帳單頁面中檢視彙總交易。 在「動作窗格」中選取查詢,然後選取彙總交易。
彙總交易的銷售訂單詳細資訊 FastTab 顯示下列資訊:
- 記錄 ID – 彙總交易的 ID。
- 對帳單編號 – 此彙總交易所屬的對帳單。
- 日期 – 建立此彙總交易的日期。
- 銷售 ID – 從彙總交易建立銷售訂單後的銷售訂單編號。 如果這個欄位是空白的,對應的銷售訂單就不會被產生。
- 彙總明細數 – 彙總交易及其銷售訂單的總明細數量。
- 狀態 – 彙總交易的最後狀態。
- 發票 ID – 當彙總交易的銷售訂單已開立發票時,顯示該發票編號。 如果這個欄位是空白的,代表銷售訂單的發票沒有被立帳。
- 錯誤代碼 – 若彙總交易處於錯誤狀態,則此欄位會顯示錯誤代碼。
- 錯誤訊息 – 若彙總處於錯誤狀態,則此欄位會顯示錯誤訊息。 它會顯示導致流程失敗的詳細資訊。 您可以根據錯誤代碼中的資訊來修復問題,然後手動重新啟動流程。 根據解決方式的不同,可能需要刪除彙總銷售並在新的對帳單中重新處理。
聚合交易 的 FastTab 會顯示該程序拉入該匯總交易的所有交易。 彙總交易上的彙總明細會顯示來自各筆交易的所有彙總記錄。 彙總明細也會顯示項目、變體、數量、價格、淨額、單位與倉庫等詳細資訊。 每個彙總後的行對應一個銷售訂單行。
在某些情況下,彙總交易無法成功過帳其合併後的銷售訂單。 在這些情況下,會與語句狀態相關聯一個錯誤代碼。 若要只查看有錯誤的聚合交易,請在聚合交易檢視中選擇勾選方框,啟用 「僅顯示失敗」 篩選。 啟用此篩選器後,僅會顯示需要解決錯誤的彙總交易。 如需修正這些錯誤的資訊,請參閱編輯與稽核線上訂單與非同步客戶訂單交易。
在彙總交易頁面中,可選取匯出彙總資料以下載特定彙總交易的 XML。 您可以在任何 XML 格式檢視器中查看該 XML,以了解與銷售訂單建立與過帳相關的實際資料內容。 對於已發布的帳款,無法提供下載彙總交易 XML 的功能。
如果你無法透過修正銷售訂單或支持該銷售訂單的資料來修正錯誤,請使用 刪除客戶訂單 按鈕。 若要刪除訂單,請選取發生錯誤的彙總交易,然後選取刪除客戶訂單。 系統會刪除彙總的交易及對應的銷售訂單。 您現在可以透過編輯與稽核功能來檢視交易。 或者,你也可以透過新的報表重新處理它們。 修復所有失敗後,你可以執行相關陳述的發布功能來恢復陳述的發布。
「彙總交易」檢視畫面提供以下好處:
- 你可以看到在訂單建立時失敗的合併交易,以及在開票時失敗的訂單。
- 你可以看到交易如何被彙整。
- 你擁有完整的稽核紀錄,從交易、銷售訂單到銷售發票。 舊版的對帳單過帳功能不提供此稽核記錄。
- 彙整後的 XML 檔案讓在訂單建立與開立發票時更容易識別問題。
Note
當系統彙整交易時, 頂尖員工銷售報告 不再包含該交易中分配的員工。 頂尖員工銷售報告並未顯示所有交易。 不要使用包含匯總交易的 頂級員工銷售報告 。
日記帳憑單
帳單執行細節群組中的「日記憑證」按鈕會顯示系統為帳單建立的所有各種憑證交易。 這些交易涉及折扣、收入與支出帳戶、禮品卡及其他類似物品。
目前,系統僅針對已過帳的對帳單顯示這些資料。
付款日記帳
帳單執行細節群組中的付款日記帳按鈕顯示系統為該帳單建立的所有各種付款日記帳。
目前,系統僅針對已過帳的對帳單顯示這些資料。
其他改進
開發團隊對聲明發布功能做了其他後端改進。 以下是一些範例:
- 聚合過程中不會考慮到員工、終端和班次實體。 由於流程的彙整參數較少,因此處理的訂單線數量也較少。
- 透過引入額外的擴充資料表並以插入操作取代更新操作,減少交易資料表上產生死結的機會。
- 執行批次任務的數量是參數化且有限的。 因此,你可以針對客戶的環境微調這個數字。 舊版對帳單過帳功能會同時產生無限制數量的批次作業。 這會導致批次伺服器出現難以管理的負載、額外負荷與瓶頸。
- 系統會有效率地將對帳單排入處理序列,優先處理交易筆數最多的對帳單。
- 批次處理流程如批次計算報表與批次過帳報表,僅以批次模式執行。 在舊有的語句發佈功能中,使用者可選擇以互動模式執行這些批次程序,這是一種單執行緒操作,與多執行緒的批次程序不同。
- 在舊版功能中,任何一個批次作業失敗都會導致整個批次作業呈現錯誤狀態。 在改進後的功能中,即使某些批次作業失敗,只要其他作業成功完成,整個批次作業不會呈現錯誤狀態。 應透過對帳單頁面評估批次執行的過帳狀態,該頁面會顯示因錯誤而未能過帳的對帳單。
- 在舊版的對帳單過帳功能中,只要首次出現對帳單失敗,就會導致整個批次作業失敗。 其餘的對帳單將不會進行處理。 在改進後的功能中,即使部分對帳單失敗,批次作業仍會繼續處理其餘對帳單。 其中一項好處是使用者能清楚掌握發生錯誤的對帳單數量。 因此,使用者不必陷入不斷修正錯誤和執行語句發佈流程的循環,直到所有語句都發佈完畢。
對於對帳單過帳流程的一般建議
將結算單過帳流程成批次執行。 批次執行利用了批次框架在多執行緒上的強大功能。 你需要多執行緒來處理通常出現在帳單列示中的大量交易。
在品項模型群組中啟用負實體庫存,以獲得順暢的過帳體驗。 在某些情況下,除非有負的實體庫存,否則你不能發布負面聲明。 舉例來說,如果庫存中只有一個商品單位,且該商品有銷售交易和退貨交易,即使沒有開啟負庫存,交易也應該能入帳。 然而,由於帳單入帳流程會將銷售交易和退貨交易同時拉入單一客戶訂單,無法保證銷售線會先入帳,然後是退貨線。 因此,可能發生錯誤。 如果你在此情況下開啟負庫存,交易過帳不會受到負面影響,系統也會正確反映庫存。
計算和貼出帳單時使用彙總。 因此,請設定以下參數:
- 前往零售與商務 > 總部設定 > 參數 > 商務參數。 接著,在過帳索引標籤中的庫存更新 FastTab 中,詳細資訊層級欄位選取摘要。
- 前往零售與商務 > 總部設定 > 參數 > 商務參數。 然後,在過帳標籤中的彙總 FastTab 中,將傳票交易選項設為是。