共用方式為


匯入銷售訂單和報價時,重新計算明細淨額

本文說明匯入銷售訂單和報價單時,系統是否以及如何重新計算明細淨額。 它也會解釋如何控制不同版本 Microsoft Dynamics 365 Supply Chain Management 中的行為。

如何在匯入時計算明細淨額更新

Supply Chain Management 版本 10.0.23 引入了錯誤修正 604418。 此錯誤修正改變了明細上哪個淨額欄位在匯入現有銷售訂單和報價單的更新時,可以被更新或重新計算的條件。 在版本 10.0.29 中,您可以透過開啟計算匯入時的明細淨額功能。 此功能具有類似的效果,但它提供了一個全域設定,允許您在必要時返回到舊的行為。 儘管新行為使系統以更直觀的方式運作,但在滿足以下所有條件的特定情境中,它可能會產生非預期的結果:

  • 更新現有記錄的資料使用開放資料協定 (OData) 透過銷售訂單明細 V2銷售報價單明細 V2,或者退貨單明細實體匯入,包括使用雙重寫入、透過 Excel 匯入/匯出,以及某些第三方整合的情況。
  • 準備就緒的貿易合約評估原則建立了一個變更原則,會限制對銷售訂單明細、銷售報價明細和/或退貨單明細上淨額欄位的更新。 請注意,對於退貨單明細,淨額欄位始終是計算得出的,無法手動設定。
  • 匯入的資料包括對明細上淨額欄位的變更,或將導致明細上的淨額欄位值為了一或多個現有明細紀錄而被重新計算的變更 (例如單價、數量或折扣)。

在這些特定情境下,貿易合約評估原則的角色是限制對明細上淨額欄位的更新。 此限制稱為變更原則。 由於此原則,當您使用使用者介面編輯或重新計算欄位時,系統會提示您確認是否要進行變更。 但是,當您匯入記錄時,系統必須為您做出選擇。 在版本 10.0.23 之前,系統始終保持明細淨額不變,除非傳入的明細淨額為 0 (零)。 然而,在較新的版本中,系統一律會根據需要更新或重新計算淨額,除非明確指示不要這樣做。 儘管新行為更符合邏輯,但如果您已經在執行採用舊行為的流程或整合,它可能會導致問題。 本文介紹如何在必要時恢復到舊行為。

在 10.0.29 及更新版本中控制明細淨額的計算

Supply Chain Management 版本 10.0.29 引進了一項名為計算匯入時的明細淨額的功能。 此功能將名為計算明細淨額 的選項新增至應收帳款參數頁面。 此選項讓您可在新行為和舊行為之間進行選擇,以計算匯入時的明細淨額。

開啟或關閉匯入時計算明細淨額功能

當您更新至版本 10.0.29 時,匯入時計算明細淨額功能會預設為開啟,且新的計算明細淨額選項最初設定為設定會對應於新的標準行為。 它與關閉該功能時的系統行為相符,但 CalculateLineAmount 參數功能的情況除外,如本文後面所述。 設定與 10.0.23 版本之前的系統行為相符,主要是為了支援舊版整合方案而提供。

從 Supply Chain Management 10.0.36 版開始,強制啟用此項功能,無法將其關閉。 如果您執行的版本為 10.0.36 之前的版本,管理員可以在功能管理 工作區中搜尋匯入時計算明細淨額功能,然後開啟或關閉此功能。

設定計算明細淨額選項

匯入時計算明細淨額功能開啟時,您可以依照下列步驟操作設定計算明細淨額 選項。

  1. 前往應收帳款>設定>應收帳款參數

  2. 價格索引標籤上的透過整合計算明細淨額 FastTab 上,將計算明細淨額選項設定為下列其中一個值:

    • – 系統將一律在需要時重新計算和更新明細額。 (因此,它將忽略貿易合約評估原則。)
    • – 如果任何明細的現有或傳入淨額為 0 (零),則該明細的值將根據其他值 (例如單價、數量和折扣) 重新計算。 如果現有或傳入淨額不同於 0 (零) ,且對該明細的 淨額欄位設定了變更原則,則不會重新計算該欄位或更新,即使對明細價格、數量和/或折扣的傳入變更代表應重新計算明細總額。 此行為與版本 10.0.22 相符。

「匯入時計算明細淨額」功能如何影響 CalculateLineAmount 參數

匯入時計算明細淨額功能開啟時,SalesLineSalesQuotationLine 表的 CalculateLineAmount 參數值沒有效果。 相反地,該行為由上一節中描述的計算明細淨額選項進行全域控制。 因此,當功能開啟時,您不得對 CalculateLineAmount 值有任何依賴。

匯入時計算明細淨額功能關閉時,SalesLineSalesQuotationLine 表的 CalculateLineAmount 參數的運作方式與 Supply Chain Management 版本 10.0.23 到 10.0.28 中的運作方式相同,如下一節所述。

在版本 10.0.28 及更舊版本中控制明細淨額計算

在版本 10.0.23 中引入錯誤修正 604418時,可以選取由於其他變更 (例如更新的品項價格) 在編輯明細淨額或必須重新計算明細淨額時,每個相關資料實體的行為方式。 您可以透過將匯入檔案中每個明細的新 CalculateLineAmount 參數設定為下列值之一來控制此行為:

  • CalculateLineAmount = 1 – 明細上的淨額欄位會一律重新計算和更新,無論是否為該欄位設定變更原則,也無論傳入或現有明細淨值的值。
  • CalculateLineAmount = 0 – 如果任何明細的現有或傳入淨額為 0 (零),則該明細的值將根據其他值 (例如單價、數量和折扣) 重新計算。 如果現有或傳入淨額不同於 0 (零),且在該明細的淨額欄位上設定了變更原則,則不會重新計算該欄位,或者更新。  

系統行為取決於您的 Supply Chain Management 版本:

  • 在 10.0.22 及更早版本中,系統一律表現得像 CalculateLineAmount 設定為 0,且沒有辦法讓它表現得像 CalculateLineAmount 設定為 1
  • 在版本 10.0.23 到 10.0.28 中,在匯入檔案中,對於未明確將 CalculateLineAmount 設定為 0 的所有明細,系統的行為會像將其設定為 1