"ベンダー 支払の提案" バッチ ジョブでは、ハンガリー語バージョンの Microsoft Dynamics NAV 2009 R2 の支払仕訳帳で提案された支払明細行の金額が予期せず丸められます

適用先
Microsoft Dynamics NAV 2009 R2

この記事は、ハンガリー語 (hu) 言語ロケールの Microsoft Dynamics NAV に適用されます。

現象

Microsoft Dynamics NAV 2009 R2 のハンガリー語バージョンでは、次のシナリオを検討してください。

  • 修正プログラム 2664500 を適用します。
  • [ 総勘定元帳の設定] ダイアログ ボックスの金額の丸め精度は 1 に設定されます。
  • 外貨で購買請求書を転記します。 仕入先台帳エントリが作成されます。
  • 支払仕訳帳で "仕入先支払提案" バッチ ジョブを実行して、仕入先台帳エントリ処理に基づいて請求書の提案された支払明細行を作成します。
  • 支払仕訳帳で推奨される支払明細行を確認します。

このシナリオでは、提案された支払明細行の金額が予期せず丸めされます。

  修正プログラム 2664500 の詳細については、Microsoft サポート技術情報の記事を表示するには、次の資料番号をクリックしてください。

2664500 不適切な為替レートは、ハンガリー語バージョンの Microsoft Dynamics NAV 2009 R2 で追加のレポート通貨を使用する複数の明細行がある総勘定元帳仕訳帳を転記するときに使用されます

解決策

修正プログラムの情報

サポートされている修正プログラムが Microsoft から入手できるようになりました。 ただし、この記事で説明されている問題を修正することのみを目的としています。 この特定の問題が発生しているシステムにのみ適用します。 この修正プログラムは、追加のテストを受け取る場合があります。 したがって、この問題の影響を大きく受けない場合は、次の Microsoft Dynamics NAV 2009 Service Pack またはこの修正プログラムを含む次の Microsoft Dynamics NAV バージョンを待つことをおすすめします。

注 特別なケースでは、Microsoft Dynamics および関連製品のテクニカル サポート プロフェッショナルが特定の更新プログラムによって問題が解決されると判断した場合、通常はサポート呼び出しに対して発生する料金が取り消されることがあります。 ただし、特定の更新プログラムの対象とならない追加の質問および問題については、通常のサポート料金が適用されます。

            
          

インストール情報

Microsoft は、明示または黙示の保証なしで、説明のみを目的としてプログラミング例を提供しています。 これには、商品性または特定の目的への適合性に関する暗黙の保証が含まれますが、これらに限定されません。 この記事では、デモンストレーションされているプログラミング言語と、プロシージャの作成とデバッグに使用されるツールについてよく理解していることを前提としています。 マイクロソフト サポート窓口では、特定のプロシージャの機能説明に関するご質問に対して支援いたしますが、本例を特定の目的を満たすために機能を追加したり、プロシージャを構築することは行いません。

注 この修正プログラムをインストールする前に、すべての Microsoft Navision クライアント ユーザーがシステムからログオフされていることを確認します。 これには、Microsoft Navision Application Services (NAS) クライアント ユーザーが含まれます。 この修正プログラムを実装するときにログオンする唯一のクライアント ユーザーである必要があります。

この修正プログラムを実装するには、開発者ライセンスが必要です。

[Windows ログイン] ウィンドウまたは [データベース ログイン] ウィンドウのユーザー アカウントに "SUPER" ロール ID を割り当てることをお勧めします。 ユーザー アカウントに "SUPER" ロール ID を割り当てることができない場合は、ユーザー アカウントに次のアクセス許可があることを確認する必要があります。

  • 変更するオブジェクトの [変更] アクセス許可。
  • システム オブジェクト ID 5210 オブジェクトとシステム オブジェクト ID 9015 オブジェクトの Execute アクセス許可。

                
メモ データ修復を実行する必要がない限り、データ ストアに対する権限は必要ありません。

コードの変更

メモ 運用環境のコンピューターに修正プログラムを適用する前に、制御された環境でコード修正を常にテストします。
この問題を解決するには、次の手順を実行します。

  1. [Gen] の [フィールド] セクションのコードを変更します。 履歴行" テーブル (81) を次に示します。
    既存のコード

    ...
    "VAT Prod. Posting Group" := '';
    
    // Delete the following line.
    IF (Vend."Pay-to Vendor No." <> '') AND (Vend."Pay-to Vendor No." <> "Account No.") THEN BEGIN
    
    OK := CONFIRM(Text014,FALSE,Vend.TABLECAPTION,Vend."No.",Vend.FIELDCAPTION("Pay-to Vendor No."),
    ...
    

    置換コード

    ...
    "VAT Prod. Posting Group" := '';
    
    // Add the following lines.
    IF (Vend."Pay-to Vendor No." <> '') AND (Vend."Pay-to Vendor No." <> "Account No.") AND
    NOT HideValidationDialog
    THEN BEGIN
    // End of the lines.
    
    OK := CONFIRM(Text014,FALSE,Vend.TABLECAPTION,Vend."No.",Vend.FIELDCAPTION("Pay-to Vendor No."),
    ...
    
  2. [Gen] の [グローバル変数] セクションのコードを変更します。 履歴行" テーブル (81) を次に示します。
    既存のコード

    ...
    WarningMessageShown@1064 : Boolean;
    ...
    

    置換コード

    ...
    WarningMessageShown@1064 : Boolean;
    
    // Add the following line.
    HideValidationDialog@1074 : Boolean;
    ...
    
  3. 新しい SetHideValidation 関数を "Gen" に追加します。 履歴行" テーブル (81) を次に示します。

    PROCEDURE SetHideValidation@52(NewHideValidationDialog@1000 : Boolean);
    BEGIN
    HideValidationDialog := NewHideValidationDialog;
    END;
    
  4. ベンダー支払提案レポート (393) の SaveAmount 関数のコードを次のように変更します。
    既存のコード 1

    ...
    "VAT Prod. Posting Group" := '';
    VALIDATE("Payment Terms Code");
    ...
    

    置換コード 1

    ...
    "VAT Prod. Posting Group" := '';
    
    // Add the following line.
    VALIDATE("Currency Code",VendLedgEntry."Currency Code");
    
    VALIDATE("Payment Terms Code");
    ...
    

    既存のコード 2

    ...
    Amount := -VendLedgEntry."Remaining Amount";
    
    // Delete the following line.
    VALIDATE("Account No.",Vend2."No.");
    
    VALIDATE(Amount);
    ...
    

    置換コード 2

    ...
    Amount := -VendLedgEntry."Remaining Amount";
    VALIDATE(Amount);
    ...
    
  5. 仕入先支払提案レポート (393) の MakeGenJnlLines 関数のコードを次のように変更します。
    既存のコード 1

    ...
    GLSetup@1005 : Record 98;
    DimBufMgt@1003 : Codeunit 411;
    ...
    

    置換コード 1

    ...
    GLSetup@1005 : Record 98;
    
    // Add the following line.
    Vendor@1007 : Record 23;
    
    DimBufMgt@1003 : Codeunit 411;
    ...
    

    既存のコード 2

    ...
    "Account Type" := "Account Type"::Vendor;
    VALIDATE("Account No.",TempPaymentBuffer."Vendor No.");
    ...
    

    置換コード 2

    ...
    "Account Type" := "Account Type"::Vendor;
    
    // Add the following line.
    SetHideValidation(TRUE);
    
    VALIDATE("Account No.",TempPaymentBuffer."Vendor No.");
    ...
    

    既存のコード 3

    ...
    VALIDATE("Account No.",TempPaymentBuffer."Vendor No.");
    "Bal. Account Type" := BalAccType;
    ...
    

    置換コード 3

    ...
    VALIDATE("Account No.",TempPaymentBuffer."Vendor No.");
    
    // Add the following lines.
    Vendor.GET(TempPaymentBuffer."Vendor No.");
    IF (Vendor."Pay-to Vendor No." <> '') THEN
    Vendor.TESTFIELD("Pay-to Vendor No.","Account No.");
    // End of the lines.
    
    "Bal. Account Type" := BalAccType;
    ...
    

          

前提条件

この修正プログラムを適用するには、ハンガリー語バージョンの Microsoft Dynamics NAV 2009 R2 がインストールされている必要があります。

アンインストール情報

この修正プログラムを削除することはできません。

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

注: この資料は、"迅速な公開" を目的としてマイクロソフト サポート組織により直接作成されたものです。 ここに含まれる情報は、新しい問題に対応するため、そのままの状態で提供されます。 情報を迅速に公開するため、この資料には誤植などが含まれる可能性があり、また、予告なく改訂される場合があります。 その他の注意事項については、使用条件を参照してください。