Microsoft Dynamics NAV 2009 の [総勘定元帳のセットアップ] フォームで [支払い割引の調整] 設定が有効になっている場合に、支払いを転記して "完全な VAT" が使用された請求書を適用するときに、正しくない G/L アカウントが使用されます

適用先
Dynamics NAV 2009 Dynamics NAV 2009 Service Pack 1

迅速に公開された記事は、Microsoft サポート organization内から直接情報を提供します。 ここに含まれる情報は、新しいトピックまたは一意のトピックに応答して作成されるか、または他のナレッジ ベース情報を補完することを目的としています。

この記事は、すべての国とすべての言語ロケールの Microsoft Dynamics NAV に適用されます。

現象

Microsoft Dynamics NAV 2009 の [総勘定元帳の設定] フォームの [全般] タブで、[支払割引の調整] チェック ボックスが選択されているとします。 "完全な VAT" が使用された請求書を適用するために支払いを転記し、支払割引の VAT を調整する必要がある支払割引を差し引いた場合は、正しくない G/L アカウントが使用されます。 "完全 VAT" を調整するためのエントリは、G/L エントリの支払割引クレジット アカウントではなく、支払割引デビット アカウントに登録されます。

解決策

修正プログラムの情報

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

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

            
          

インストール情報

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

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

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

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

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

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

コードの変更

メモ 運用環境のコンピューターに修正プログラムを適用する前に、制御された環境でコード修正を常にテストします。

この修正プログラムをインストールするには、Gen でコードを変更します。 Jnl.-Post Line codeunit (12)。

手順は次のとおりです。

  1. PostDtldCustLedgEntries 関数のコードを次のように変更します。
    既存のコード 1

    …
                          GenPostingSetup.GET(
                            DtldCVLedgEntryBuf."Gen. Bus. Posting Group",
                            DtldCVLedgEntryBuf."Gen. Prod. Posting Group");
                          IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) THEN BEGIN
                            GenPostingSetup.TESTFIELD("Sales Pmt. Disc. Debit Acc.");
                            PaymentDiscAcc := GenPostingSetup."Sales Pmt. Disc. Debit Acc.";
                          END ELSE BEGIN
    …
    
    

    置換コード 1

    …
                          GenPostingSetup.GET(
                            DtldCVLedgEntryBuf."Gen. Bus. Posting Group",
                            DtldCVLedgEntryBuf."Gen. Prod. Posting Group");
                          IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) AND
                             (DtldCVLedgEntryBuf."VAT Amount (LCY)" <= 0)
                          THEN BEGIN
                            GenPostingSetup.TESTFIELD("Sales Pmt. Disc. Debit Acc.");
                            PaymentDiscAcc := GenPostingSetup."Sales Pmt. Disc. Debit Acc.";
                          END ELSE BEGIN
    …
    
    

    既存のコード 2

    …
                          IF GLSetup."Payment Tolerance Posting" =
                            GLSetup."Payment Tolerance Posting"::"Payment Tolerance Accounts"
                          THEN BEGIN
                            IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) THEN BEGIN
                              GenPostingSetup.TESTFIELD("Sales Pmt. Tol. Debit Acc.");
                              PaymentTolAcc := GenPostingSetup."Sales Pmt. Tol. Debit Acc.";
                            END ELSE BEGIN
    …
    
    

    置換コード 2

    …
                          IF GLSetup."Payment Tolerance Posting" =
                            GLSetup."Payment Tolerance Posting"::"Payment Tolerance Accounts"
                          THEN BEGIN
                            IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) AND
                               (DtldCVLedgEntryBuf."VAT Amount (LCY)" <= 0)
                            THEN BEGIN
                              GenPostingSetup.TESTFIELD("Sales Pmt. Tol. Debit Acc.");
                              PaymentTolAcc := GenPostingSetup."Sales Pmt. Tol. Debit Acc.";
                            END ELSE BEGIN
    …
    
    

    既存のコード 3

    …
                          END ELSE IF GLSetup."Payment Tolerance Posting" =
                            GLSetup."Payment Tolerance Posting"::"Payment Discount Accounts"
                          THEN BEGIN
                            IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) THEN BEGIN
                              GenPostingSetup.TESTFIELD("Sales Pmt. Disc. Debit Acc.");
                              PaymentTolAcc := GenPostingSetup."Sales Pmt. Disc. Debit Acc.";
                            END ELSE BEGIN
    …
    
    

    置換コード 3

    …
                          END ELSE IF GLSetup."Payment Tolerance Posting" =
                            GLSetup."Payment Tolerance Posting"::"Payment Discount Accounts"
                          THEN BEGIN
                            IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) AND
                               (DtldCVLedgEntryBuf."VAT Amount (LCY)" <= 0)
                            THEN BEGIN
                              GenPostingSetup.TESTFIELD("Sales Pmt. Disc. Debit Acc.");
                              PaymentTolAcc := GenPostingSetup."Sales Pmt. Disc. Debit Acc.";
                            END ELSE BEGIN
    …
    
    

    既存のコード 4

    …
                          IF GLSetup."Pmt. Disc. Tolerance Posting" =
                            GLSetup."Pmt. Disc. Tolerance Posting"::"Payment Tolerance Accounts"
                          THEN BEGIN
                            IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) THEN BEGIN
                              GenPostingSetup.TESTFIELD("Sales Pmt. Tol. Debit Acc.");
                              PaymentTolAcc := GenPostingSetup."Sales Pmt. Tol. Debit Acc.";
                            END ELSE BEGIN
    …
    
    

    置換コード 4

    …
                          IF GLSetup."Pmt. Disc. Tolerance Posting" =
                            GLSetup."Pmt. Disc. Tolerance Posting"::"Payment Tolerance Accounts"
                          THEN BEGIN
                            IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) AND
                               (DtldCVLedgEntryBuf."VAT Amount (LCY)" <= 0)
                            THEN BEGIN
                              GenPostingSetup.TESTFIELD("Sales Pmt. Tol. Debit Acc.");
                              PaymentTolAcc := GenPostingSetup."Sales Pmt. Tol. Debit Acc.";
                            END ELSE BEGIN
    …
    
    

    既存のコード 5

    …
                          END ELSE IF GLSetup."Pmt. Disc. Tolerance Posting" =
                            GLSetup."Pmt. Disc. Tolerance Posting"::"Payment Discount Accounts"
                          THEN BEGIN
                            IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) THEN BEGIN
                              GenPostingSetup.TESTFIELD("Sales Pmt. Disc. Debit Acc.");
                              PaymentTolAcc := GenPostingSetup."Sales Pmt. Disc. Debit Acc.";
                            END ELSE BEGIN
    …
    
    

    置換コード 5

    …
                          END ELSE IF GLSetup."Pmt. Disc. Tolerance Posting" =
                            GLSetup."Pmt. Disc. Tolerance Posting"::"Payment Discount Accounts"
                          THEN BEGIN
                            IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) AND
                               (DtldCVLedgEntryBuf."VAT Amount (LCY)" <= 0)
                            THEN BEGIN
                              GenPostingSetup.TESTFIELD("Sales Pmt. Disc. Debit Acc.");
                              PaymentTolAcc := GenPostingSetup."Sales Pmt. Disc. Debit Acc.";
                            END ELSE BEGIN
    …
    
    
  2. AutoEntrForDtldCustLedgEntries 関数のコードを次のように変更します。
    既存のコード 1

    …
                  GenPostingSetup.GET(
                    DtldCVLedgEntryBuf."Gen. Bus. Posting Group",
                    DtldCVLedgEntryBuf."Gen. Prod. Posting Group");
                  IF DtldCVLedgEntryBuf."Amount (LCY)" > 0 THEN BEGIN
                    GenPostingSetup.TESTFIELD("Sales Pmt. Disc. Debit Acc.");
                    AccNo := GenPostingSetup."Sales Pmt. Disc. Debit Acc.";
                  END ELSE BEGIN
    …
    
    

    置換コード 1

    …
                  GenPostingSetup.GET(
                    DtldCVLedgEntryBuf."Gen. Bus. Posting Group",
                    DtldCVLedgEntryBuf."Gen. Prod. Posting Group");
                  IF (DtldCVLedgEntryBuf."Amount (LCY)" > 0) OR
                     (DtldCVLedgEntryBuf."VAT Amount (LCY)" > 0)
                  THEN BEGIN
                    GenPostingSetup.TESTFIELD("Sales Pmt. Disc. Debit Acc.");
                    AccNo := GenPostingSetup."Sales Pmt. Disc. Debit Acc.";
                  END ELSE BEGIN
    …
    
    
    

    既存のコード 2

    …
                    DtldCVLedgEntryBuf."Gen. Prod. Posting Group");
                  CASE GLSetup."Payment Tolerance Posting" OF
                    GLSetup."Payment Tolerance Posting"::"Payment Tolerance Accounts":
                      IF DtldCVLedgEntryBuf."Amount (LCY)" > 0 THEN BEGIN
                        GenPostingSetup.TESTFIELD("Sales Pmt. Tol. Debit Acc.");
                        AccNo := GenPostingSetup."Sales Pmt. Tol. Debit Acc.";
                      END ELSE BEGIN
    …
    
    

    置換コード 2

    …
                    DtldCVLedgEntryBuf."Gen. Prod. Posting Group");
                  CASE GLSetup."Payment Tolerance Posting" OF
                    GLSetup."Payment Tolerance Posting"::"Payment Tolerance Accounts":
                      IF (DtldCVLedgEntryBuf."Amount (LCY)" > 0) OR
                         (DtldCVLedgEntryBuf."VAT Amount (LCY)" > 0)
                      THEN BEGIN
                        GenPostingSetup.TESTFIELD("Sales Pmt. Tol. Debit Acc.");
                        AccNo := GenPostingSetup."Sales Pmt. Tol. Debit Acc.";
                      END ELSE BEGIN
    …
    
    

    既存のコード 3

     …
                        AccNo := GenPostingSetup."Sales Pmt. Tol. Credit Acc.";
                      END;
                    GLSetup."Payment Tolerance Posting"::"Payment Discount Accounts":
                      IF DtldCVLedgEntryBuf."Amount (LCY)" > 0 THEN BEGIN
                        GenPostingSetup.TESTFIELD("Sales Pmt. Disc. Debit Acc.");
                        AccNo := GenPostingSetup."Sales Pmt. Disc. Debit Acc.";
                      END ELSE BEGIN
    …
    
    

    置換コード 3

    …
                        AccNo := GenPostingSetup."Sales Pmt. Tol. Credit Acc.";
                      END;
                    GLSetup."Payment Tolerance Posting"::"Payment Discount Accounts":
                      IF (DtldCVLedgEntryBuf."Amount (LCY)" > 0) OR
                         (DtldCVLedgEntryBuf."VAT Amount (LCY)" > 0)
                      THEN BEGIN
                        GenPostingSetup.TESTFIELD("Sales Pmt. Disc. Debit Acc.");
                        AccNo := GenPostingSetup."Sales Pmt. Disc. Debit Acc.";
                      END ELSE BEGIN
    …
    
    
    

    既存のコード 4

    …
                    DtldCVLedgEntryBuf."Gen. Prod. Posting Group");
                  CASE GLSetup."Pmt. Disc. Tolerance Posting" OF
                    GLSetup."Pmt. Disc. Tolerance Posting"::"Payment Tolerance Accounts":
                      IF DtldCVLedgEntryBuf."Amount (LCY)" > 0 THEN BEGIN
                        GenPostingSetup.TESTFIELD("Sales Pmt. Tol. Debit Acc.");
                        AccNo := GenPostingSetup."Sales Pmt. Tol. Debit Acc.";
                      END ELSE BEGIN
    …
    
    

    置換コード 4

    …
                    DtldCVLedgEntryBuf."Gen. Prod. Posting Group");
                  CASE GLSetup."Pmt. Disc. Tolerance Posting" OF
                    GLSetup."Pmt. Disc. Tolerance Posting"::"Payment Tolerance Accounts":
                      IF (DtldCVLedgEntryBuf."Amount (LCY)" > 0) OR
                         (DtldCVLedgEntryBuf."VAT Amount (LCY)" > 0)
                      THEN BEGIN
                        GenPostingSetup.TESTFIELD("Sales Pmt. Tol. Debit Acc.");
                        AccNo := GenPostingSetup."Sales Pmt. Tol. Debit Acc.";
                      END ELSE BEGIN
    …
    
    
    

    既存のコード 5

    …
                        AccNo := GenPostingSetup."Sales Pmt. Tol. Credit Acc.";
                      END;
                    GLSetup."Pmt. Disc. Tolerance Posting"::"Payment Discount Accounts":
                      IF DtldCVLedgEntryBuf."Amount (LCY)" > 0 THEN BEGIN
                        GenPostingSetup.TESTFIELD("Sales Pmt. Disc. Debit Acc.");
                        AccNo := GenPostingSetup."Sales Pmt. Disc. Debit Acc.";
                      END ELSE BEGIN
    …
    
    
    

    置換コード 5

    …
                        AccNo := GenPostingSetup."Sales Pmt. Tol. Credit Acc.";
                      END;
                    GLSetup."Pmt. Disc. Tolerance Posting"::"Payment Discount Accounts":
                      IF (DtldCVLedgEntryBuf."Amount (LCY)" > 0) OR
                         (DtldCVLedgEntryBuf."VAT Amount (LCY)" > 0)
                      THEN BEGIN
                        GenPostingSetup.TESTFIELD("Sales Pmt. Disc. Debit Acc.");
                        AccNo := GenPostingSetup."Sales Pmt. Disc. Debit Acc.";
                      END ELSE BEGIN
    …
    
    
    
    
    
  3. PostDtldVendLedgEntries 関数のコードを次のように変更します。
    既存のコード 1

    …
                          GenPostingSetup.GET(
                            DtldCVLedgEntryBuf."Gen. Bus. Posting Group",
                            DtldCVLedgEntryBuf."Gen. Prod. Posting Group");
                          IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) THEN BEGIN
                            GenPostingSetup.TESTFIELD("Purch. Pmt. Disc. Debit Acc.");
                            PaymentDiscAcc := GenPostingSetup."Purch. Pmt. Disc. Debit Acc.";
                          END ELSE BEGIN
    …
    
    

    置換コード 1

    …
                          GenPostingSetup.GET(
                            DtldCVLedgEntryBuf."Gen. Bus. Posting Group",
                            DtldCVLedgEntryBuf."Gen. Prod. Posting Group");
                          IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) AND
                             (DtldCVLedgEntryBuf."VAT Amount (LCY)" <= 0)
                          THEN BEGIN
                            GenPostingSetup.TESTFIELD("Purch. Pmt. Disc. Debit Acc.");
                            PaymentDiscAcc := GenPostingSetup."Purch. Pmt. Disc. Debit Acc.";
                          END ELSE BEGIN
    …
    
    

    既存のコード 2

    …
                          IF GLSetup."Payment Tolerance Posting" =
                            GLSetup."Payment Tolerance Posting"::"Payment Tolerance Accounts"
                          THEN BEGIN
                            IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) THEN BEGIN
                              GenPostingSetup.TESTFIELD("Purch. Pmt. Tol. Debit Acc.");
                              PaymentTolAcc := GenPostingSetup."Purch. Pmt. Tol. Debit Acc.";
                            END ELSE BEGIN
    …
    
    

    置換コード 2

    …
                          IF GLSetup."Payment Tolerance Posting" =
                            GLSetup."Payment Tolerance Posting"::"Payment Tolerance Accounts"
                          THEN BEGIN
                            IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) AND
                               (DtldCVLedgEntryBuf."VAT Amount (LCY)" <= 0)
                            THEN BEGIN
                              GenPostingSetup.TESTFIELD("Purch. Pmt. Tol. Debit Acc.");
                              PaymentTolAcc := GenPostingSetup."Purch. Pmt. Tol. Debit Acc.";
                            END ELSE BEGIN
    …
    
    

    既存のコード 3

    …
                          END ELSE IF GLSetup."Payment Tolerance Posting" =
                            GLSetup."Payment Tolerance Posting"::"Payment Discount Accounts"
                          THEN BEGIN
                            IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) THEN BEGIN
                              GenPostingSetup.TESTFIELD("Purch. Pmt. Disc. Debit Acc.");
                              PaymentTolAcc := GenPostingSetup."Purch. Pmt. Disc. Debit Acc.";
                            END ELSE BEGIN
    …
    
    

    置換コード 3

    …
                          END ELSE IF GLSetup."Payment Tolerance Posting" =
                            GLSetup."Payment Tolerance Posting"::"Payment Discount Accounts"
                          THEN BEGIN
                            IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) AND
                               (DtldCVLedgEntryBuf."VAT Amount (LCY)" <= 0)
                            THEN BEGIN
                              GenPostingSetup.TESTFIELD("Purch. Pmt. Disc. Debit Acc.");
                              PaymentTolAcc := GenPostingSetup."Purch. Pmt. Disc. Debit Acc.";
                            END ELSE BEGIN
    …
    
    

    既存のコード 4

    …
                          IF GLSetup."Pmt. Disc. Tolerance Posting" =
                            GLSetup."Pmt. Disc. Tolerance Posting"::"Payment Tolerance Accounts"
                          THEN BEGIN
                            IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) THEN BEGIN
                              GenPostingSetup.TESTFIELD("Purch. Pmt. Tol. Debit Acc.");
                              PaymentTolAcc := GenPostingSetup."Purch. Pmt. Tol. Debit Acc.";
                            END ELSE BEGIN
    …
    
    

    置換コード 4

    …
                          IF GLSetup."Pmt. Disc. Tolerance Posting" =
                            GLSetup."Pmt. Disc. Tolerance Posting"::"Payment Tolerance Accounts"
                          THEN BEGIN
                            IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) AND
                               (DtldCVLedgEntryBuf."VAT Amount (LCY)" <= 0)
                            THEN BEGIN
                              GenPostingSetup.TESTFIELD("Purch. Pmt. Tol. Debit Acc.");
                              PaymentTolAcc := GenPostingSetup."Purch. Pmt. Tol. Debit Acc.";
                            END ELSE BEGIN
    …
    
    

    既存のコード 5

    …
                          END ELSE IF GLSetup."Pmt. Disc. Tolerance Posting" =
                            GLSetup."Pmt. Disc. Tolerance Posting"::"Payment Discount Accounts"
                          THEN BEGIN
                            IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) THEN BEGIN
                              GenPostingSetup.TESTFIELD("Purch. Pmt. Disc. Debit Acc.");
                              PaymentTolAcc := GenPostingSetup."Purch. Pmt. Disc. Debit Acc.";
                            END ELSE BEGIN
    …
    
    

    置換コード 5

    …
                          END ELSE IF GLSetup."Pmt. Disc. Tolerance Posting" =
                            GLSetup."Pmt. Disc. Tolerance Posting"::"Payment Discount Accounts"
                          THEN BEGIN
                            IF (DtldCVLedgEntryBuf."Amount (LCY)" <= 0) AND
                               (DtldCVLedgEntryBuf."VAT Amount (LCY)" <= 0)
                            THEN BEGIN
                              GenPostingSetup.TESTFIELD("Purch. Pmt. Disc. Debit Acc.");
                              PaymentTolAcc := GenPostingSetup."Purch. Pmt. Disc. Debit Acc.";
                            END ELSE BEGIN
    …
    
    
  4. AutoEntrForDtldVendLedgEntries 関数のコードを次のように変更します。
    既存のコード 1

    …
                  GenPostingSetup.GET(
                    DtldCVLedgEntryBuf."Gen. Bus. Posting Group",
                    DtldCVLedgEntryBuf."Gen. Prod. Posting Group");
                  IF DtldCVLedgEntryBuf."Amount (LCY)" > 0 THEN BEGIN
                    GenPostingSetup.TESTFIELD("Purch. Pmt. Disc. Debit Acc.");
                    AccNo := GenPostingSetup."Purch. Pmt. Disc. Debit Acc.";
                  END ELSE BEGIN
    …
    
    

    置換コード 1

    …
                  GenPostingSetup.GET(
                    DtldCVLedgEntryBuf."Gen. Bus. Posting Group",
                    DtldCVLedgEntryBuf."Gen. Prod. Posting Group");
                  IF (DtldCVLedgEntryBuf."Amount (LCY)" > 0) OR
                     (DtldCVLedgEntryBuf."VAT Amount (LCY)" > 0)
                  THEN BEGIN
                    GenPostingSetup.TESTFIELD("Purch. Pmt. Disc. Debit Acc.");
                    AccNo := GenPostingSetup."Purch. Pmt. Disc. Debit Acc.";
                  END ELSE BEGIN
    …
    
    

    既存のコード 2

    …
                  CASE GLSetup."Payment Tolerance Posting" OF
                    GLSetup."Payment Tolerance Posting"::"Payment Tolerance Accounts":
                      BEGIN
                        IF DtldCVLedgEntryBuf."Amount (LCY)" > 0 THEN BEGIN
                          GenPostingSetup.TESTFIELD("Purch. Pmt. Tol. Debit Acc.");
                          AccNo := GenPostingSetup."Purch. Pmt. Tol. Debit Acc.";
                        END ELSE BEGIN
    …
    
    
    

    置換コード 2

    …
                  CASE GLSetup."Payment Tolerance Posting" OF
                    GLSetup."Payment Tolerance Posting"::"Payment Tolerance Accounts":
                      BEGIN
                        IF (DtldCVLedgEntryBuf."Amount (LCY)" > 0) OR
                           (DtldCVLedgEntryBuf."VAT Amount (LCY)" > 0)
                        THEN BEGIN
                          GenPostingSetup.TESTFIELD("Purch. Pmt. Tol. Debit Acc.");
                          AccNo := GenPostingSetup."Purch. Pmt. Tol. Debit Acc.";
                        END ELSE BEGIN
    …
    
    
    

    既存のコード 3

    …
                      END;
                    GLSetup."Payment Tolerance Posting"::"Payment Discount Accounts":
                      BEGIN
                        IF DtldCVLedgEntryBuf."Amount (LCY)" > 0 THEN BEGIN
                          GenPostingSetup.TESTFIELD("Purch. Pmt. Disc. Debit Acc.");
                          AccNo := GenPostingSetup."Purch. Pmt. Disc. Debit Acc.";
                        END ELSE BEGIN
    …
    
    
    

    置換コード 3

    …
                      END;
                    GLSetup."Payment Tolerance Posting"::"Payment Discount Accounts":
                      BEGIN
                        IF (DtldCVLedgEntryBuf."Amount (LCY)" > 0) OR
                           (DtldCVLedgEntryBuf."VAT Amount (LCY)" > 0)
                        THEN BEGIN
                          GenPostingSetup.TESTFIELD("Purch. Pmt. Disc. Debit Acc.");
                          AccNo := GenPostingSetup."Purch. Pmt. Disc. Debit Acc.";
                        END ELSE BEGIN
    …
    
    

    既存のコード 4

    …
                  CASE GLSetup."Pmt. Disc. Tolerance Posting" OF
                    GLSetup."Pmt. Disc. Tolerance Posting"::"Payment Tolerance Accounts":
                      BEGIN
                        IF DtldCVLedgEntryBuf."Amount (LCY)" > 0 THEN BEGIN
                          GenPostingSetup.TESTFIELD("Purch. Pmt. Tol. Debit Acc.");
                          AccNo := GenPostingSetup."Purch. Pmt. Tol. Debit Acc.";
                        END ELSE BEGIN
    …
    
    

    置換コード 4

    …
                  CASE GLSetup."Pmt. Disc. Tolerance Posting" OF
                    GLSetup."Pmt. Disc. Tolerance Posting"::"Payment Tolerance Accounts":
                      BEGIN
                        IF (DtldCVLedgEntryBuf."Amount (LCY)" > 0) OR
                           (DtldCVLedgEntryBuf."VAT Amount (LCY)" > 0)
                        THEN BEGIN
                          GenPostingSetup.TESTFIELD("Purch. Pmt. Tol. Debit Acc.");
                          AccNo := GenPostingSetup."Purch. Pmt. Tol. Debit Acc.";
                        END ELSE BEGIN
    …
    
    

    既存のコード 5

    …
                      END;
                    GLSetup."Pmt. Disc. Tolerance Posting"::"Payment Discount Accounts":
                      BEGIN
                        IF DtldCVLedgEntryBuf."Amount (LCY)" > 0 THEN BEGIN
                          GenPostingSetup.TESTFIELD("Purch. Pmt. Disc. Debit Acc.");
                          AccNo := GenPostingSetup."Purch. Pmt. Disc. Debit Acc.";
                        END ELSE BEGIN
    …
    
    
    

    置換コード 5

    …
                      END;
                    GLSetup."Pmt. Disc. Tolerance Posting"::"Payment Discount Accounts":
                      BEGIN
                        IF (DtldCVLedgEntryBuf."Amount (LCY)" > 0) OR
                           (DtldCVLedgEntryBuf."VAT Amount (LCY)" > 0)
                        THEN BEGIN
                          GenPostingSetup.TESTFIELD("Purch. Pmt. Disc. Debit Acc.");
                          AccNo := GenPostingSetup."Purch. Pmt. Disc. Debit Acc.";
                        END ELSE BEGIN
    …
    
    

前提条件

この修正プログラムを適用するには、Microsoft Dynamics NAV 2009 Service Pack 1 がインストールされている必要があります。

アンインストール情報

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

状態

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

MICROSOFT および/またはそのサプライヤーは、この WEB サイト (「素材」) に掲載されているドキュメントおよび関連するグラフィックスに含まれる情報の適合性、信頼性、正確性について、いかなる目的でも表明または保証しません。

THE MATERIALS MAY INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS AND MAY BE REVISED AT ANY TIME WITHOUT NOTICE. 適用法によって許容される最大限の範囲において、MICROSOFT および/またはそのサプライヤーは、明示、黙示、または法令に基づくすべての表明、保証、および条件 (タイトルの表明、保証、または条件、非侵害、満足のいく条件または品質、商品性および特定の目的への適合性を含むがこれに限定されない)を、素材に関して否認し、除外します。