當你使用Microsoft Dynamics NAV的重估日記帳改成本時,這些尺寸不會從原始條目中取得

套用到
Dynamics NAV 2009 Microsoft Dynamics NAV 5.0

本文適用於 Microsoft Dynamics NAV 2009,適用於所有國家及所有語言地區。

症狀

假設你在 Microsoft Dynamics NAV 安裝了 hotfix 979020。 當你使用重新評估日記帳 (ILE) 更改特定項目分類帳的費用時,尺寸不會從原始分錄中取得。
  欲了解更多關於熱修正 979020 的資訊,請點擊以下文章編號,在 Microsoft 知識庫中查看相關文章:

979020 Microsoft Dynamics NAV 2009 在重新評估日記帳上執行「計算庫存價值」功能時,使用「計算每項目分類帳」選項時,總是使用該項目的預設維度
此問題發生於以下產品:

  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 Service Pack 1
  • Microsoft Dynamics NAV 5.0 Service Pack 1

解決方式

Hotfix 資訊

Microsoft 現在已經支援熱修補程式。 然而,這僅是為了修正本文所描述的問題。 只應用在遇到這個特定問題的系統上。 此熱修補可能會進行額外測試。 因此,如果您未受到此問題嚴重影響,我們建議您等待下一個 Microsoft Dynamics NAV 2009 服務包或包含此熱修補的 Microsoft Dynamics NAV 版本。

注意:在特殊情況下,若 Microsoft Dynamics 及相關產品的技術支援專業人員判斷特定更新能解決您的問題,通常因支援電話而產生的費用可能會被取消。 一般來說,如果有所描述之特定更新無法解決的其他支援問題,才會收取支援費用。

            
          

安裝資訊

Microsoft 僅提供圖例的程式設計範例,不含明示或暗示的擔保。 這包括 (但不限於) 適用于特定目的之可操作性或適用性的暗示擔保。 本文假設您熟悉正在示範的程式設計語言,以及用來建立和進行程式偵錯工具的工具。 Microsoft 技術支援工程師可以協助說明特定程序的功能,但不會修改這些範例以提供附加功能或建構程序來滿足您的特定需求。

注意:安裝此熱修補程式前,請確認所有 Microsoft Navision 用戶端使用者都已登出系統。 這包括Microsoft Navision 應用服務 (NAS) 用戶端使用者。 當你實施這個熱修補時,應該只有你一個登入的客戶端使用者。

要實作這個熱修補,你必須擁有開發者授權。

我們建議在 Windows 登入視窗或資料庫登入視窗中,將使用者帳號分配「SUPER」角色 ID。 若使用者帳號無法被指派「SUPER」角色 ID,您必須驗證該帳號擁有以下權限:

  • 你要更改的物件的修改權限。
  • 系統物件 ID 5210 的執行權限,以及系統物件 ID 9015 的執行權限。

                
注意:除非你必須進行資料修復,否則你不必擁有資料儲存的權利。

法規變更

注意:在將修正程式套用到生產電腦之前,務必在受控環境中測試修正。
如果要解決這個問題,請依照下列步驟執行。

  1. 在項目分帳行表中將 Properties 中的程式碼 (83) 更改如下:
    現有程式碼

    ...
                       "Journal Template Name","Journal Batch Name","Line No.",0,
                       "Shortcut Dimension 1 Code","Shortcut Dimension 2 Code");
    
                     CheckPlanningAssignment;
                   END;
    
          OnModify=BEGIN
                     ReserveItemJnlLine.VerifyChange(Rec,xRec);
    ...
    
    

    替換代碼

    ...
                       "Journal Template Name","Journal Batch Name","Line No.",0,
                       "Shortcut Dimension 1 Code","Shortcut Dimension 2 Code");
    
                     CheckPlanningAssignment;
    
    // Add the following lines.
                       IF "Applies-to Entry" > 0 THEN
                         CreateDimFromILE;
    // End of the lines.
    
                   END;
    
          OnModify=BEGIN
                     ReserveItemJnlLine.VerifyChange(Rec,xRec);
    ...
    
    
  2. 在項目分帳行表中 (83) 欄位中,請更改代碼如下:
    現有程式碼

    ...
                                                                          "Variant Code" := '';
                                                                          "Bin Code" := '';
                                                                        END;
                                                                      END;
                                                                    END;
    
                                                         OnLookup=BEGIN
                                                                    SelectItemEntry(FIELDNO("Applies-to Entry"));
    ...
    
    

    替換代碼

    ...
                                                                          "Variant Code" := '';
                                                                          "Bin Code" := '';
                                                                        END;
                                                                      END;
    
                                                                    // Add the following line.
                                                                        CreateDimFromILE;
                                                                    // End of the line.
    
                                                                    END;
    
                                                         OnLookup=BEGIN
                                                                    SelectItemEntry(FIELDNO("Applies-to Entry"));
    ...
    
    
  3. 在項目日誌行表中 (83) 中,將 CreateDimFromILE 函式中的程式碼變更如下:
    現有程式碼

    ...
              EXIT(TRUE);
            EXIT(FALSE);
          END;
    
          BEGIN
          END.
        }
      }
    ...
    
    

    替換代碼

    ...
              EXIT(TRUE);
            EXIT(FALSE);
          END;
    
    // Add the following lines.
           LOCAL PROCEDURE CreateDimFromILE@1100();
           VAR
             LedgEntryDim@1001 : Record 355;
             JnlLineDim@1003 : Record 356;
             LedgEntryDim1@1170000000 : Record 355;
             DimMgt@1004 : Codeunit 408;
           BEGIN
             IF ("Line No." <> 0) AND ("Value Entry Type" = "Value Entry Type"::Revaluation) THEN BEGIN
               JnlLineDim.SETRANGE("Table ID",DATABASE::"Item Journal Line");
               JnlLineDim.SETRANGE("Journal Template Name","Journal Template Name");
               JnlLineDim.SETRANGE("Journal Batch Name","Journal Batch Name");
               JnlLineDim.SETRANGE("Journal Line No.","Line No.");
               JnlLineDim.DELETEALL;
               "Shortcut Dimension 1 Code" := '';
               "Shortcut Dimension 2 Code" := '';
    
    
               IF "Applies-to Entry" <> 0 THEN BEGIN
                 ReadGLSetup;
                 LedgEntryDim.SETRANGE("Table ID",DATABASE::"Item Ledger Entry");
                 LedgEntryDim.SETRANGE("Entry No.","Applies-to Entry");
    
                 DimMgt.MoveLedgEntryDimToJnlLineDim(
                   LedgEntryDim,JnlLineDim,DATABASE::"Item Journal Line",
                   "Journal Template Name","Journal Batch Name","Line No.",0);
    
                 JnlLineDim.SETCURRENTKEY("Dimension Code","Dimension Value Code");
                 JnlLineDim.SETRANGE("Dimension Code",GLSetup."Global Dimension 1 Code");
                 IF JnlLineDim.FINDFIRST THEN
                   "Shortcut Dimension 1 Code" := JnlLineDim."Dimension Value Code";
    
                 JnlLineDim.SETRANGE("Dimension Code",GLSetup."Global Dimension 2 Code");
                 IF JnlLineDim.FINDFIRST THEN
                   "Shortcut Dimension 2 Code" := JnlLineDim."Dimension Value Code";
               END;
             END;
           END;
    
    // End of the lines.
    
          BEGIN
          END.
        }
      }
    ...
    
    

先決條件

您必須安裝以下其中一項產品才能套用此熱修補:

  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 Service Pack 1
  • Microsoft Dynamics NAV 5.0 Service Pack 1

移除資訊

你無法移除這個熱修正。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

注意本文為 Microsoft 支援單位內部直接建立的「快速發佈」文章。 此處包含的資訊是以其現況提供,用於回應新產生的問題。 由於快速發佈,資料可能包含拼字錯誤,並可能會隨時修訂,不另行通知。 請參閱使用條款以瞭解其他相關考量。