メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

請求書と通常の仕訳帳または控除の付加価値税 (VAT)、ポルトガル語バージョンの Microsoft Dynamics NAV 2009 年に非控除 VAT を含む定期的な仕訳帳の支払を転記するとき、次のエラー メッセージが表示されます。

"トランザクションを完了できません G/L の入力] テーブル内の矛盾を引き起こすので。エラーの原因を検索するのにはトランザクションで一貫性のある関数を使用場所と方法を確認してください。システム管理者に問い合わせてください。テーブル マークできる、一貫性のない転記などの包括的なタスクの実行中にします。これは、ようにデータから正しく更新されています。

この問題を解決するためにコードの変更] セクションで手順を実行します。この問題は、次の製品で発生します。

  • Microsoft Dynamics NAV 2009 の R2 のポルトガル語版

  • Microsoft Dynamics NAV 2009 の SP1 のポルトガル語版

VAT D. %、特定の金額があるためです。
次に例を示します。
1、0、15% は 0、25 = 0,002875 と角の丸い小数点以下 2 桁にします。
Codeunit 12 のみ額な付加価値税 (VAT) のエントリがスキップされた投稿に制限があります。

解決策

修正プログラムの情報

サポートされている修正プログラムはマイクロソフトから現在入手可能です。ただし、この資料に記載されている問題を解決するためのものはのみ。この特定の問題が発生したシステムにのみ適用してください。この修正プログラムは、今後さらにテストを行うことがあります。この問題で深刻な影響を受けていない場合は、次の Microsoft Dynamics NAV 2009 サービス パックまたは修正プログラムを含む次の Microsoft Dynamics NAV バージョン待つことを勧めします。

注: かかる料金が免除されるテクニカル サポート担当者 Microsoft Dynamics および関連製品のことは、通常は特別な場合は、特定の更新プログラムは、問題を解決するにを決定します。追加の質問および問題の特定のアップデートの対象にはなりませんが、通常のサポート料金が適用されます。

インストール情報

マイクロソフトでは解説することのみを目的としてプログラミング例を提供しています。暗示あるいは明示していることに対しての保証はしておりません。ここで言う保証とは、特定の目的に対する商品性や適合性の暗示的保証を含んでいますが、それに限定されるわけではありません。この資料では、例示されているプログラミング言語およびプロシージャの作成やデバッグに使用するツールにお客様が精通していることを前提としています。マイクロソフトのサポート エンジニアは、特定のプロシージャの機能について説明することができます。ただし、お客様固有の要件を満たすために、追加機能の提供またはプロシージャの作成のために、これらの例に変更を加えたりはしません。

注: この修正プログラムをインストールする前に、Microsoft Dynamics NAV のすべてのクライアント ユーザーがシステムの電源を記録することを確認します。これには、Microsoft Dynamics NAV アプリケーション サーバー (NAS) のサービスが含まれます。この修正プログラムを実装すると、ログオンしている唯一のクライアント ユーザーが必要です。

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

ユーザー アカウントまたはデータベース ログイン ウィンドウに Windows のログイン ウィンドウにある「スーパー」ロール id を割り当てられていることをお勧めします。ユーザー アカウントには、「スーパー」ロール ID を割り当てることができません、する場合は、ユーザー アカウントが次のアクセス許可を持っているを確認する必要があります。

  • 変更するオブジェクトの変更のアクセス許可。

  • 実行のアクセス許可、システム オブジェクトの ID 5210オブジェクトおよびシステム オブジェクトの ID 9015

    オブジェクトです。

注: データの修復を実行する必要があるない限り、データ ストアへの権限を持っている必要はありません。

コードの変更

注常にテスト コードの修正プログラムの制御された環境で、運用コンピューターに修正プログラムを適用する前にします。変更を適用するには、前に SEPA のすべての更新プログラムをインポートしてください。

この問題を解決するには、次の手順を実行します。

  1. InsertVAT関数で、Gen. Jnl。 内のコードを変更する-次のように Post 行 Codeunit (12)。
    既存のコード 1

    ...VATDifferenceLCY@1013 : Decimal;
    SrcCurrVATDifference@1014 : Decimal;
    BEGIN
    WITH GenJnlLine DO BEGIN
    ...

    置換用コード 1

    ...VATDifferenceLCY@1013 : Decimal;
    SrcCurrVATDifference@1014 : Decimal;

    // Add the following line.
    VATAmountTotal@1015 : Decimal;
    // End of the added line.

    BEGIN
    WITH GenJnlLine DO BEGIN
    ...

    既存のコード 2

    ...GLEntryVATAmount,SrcCurrGLEntryVATAmt,TRUE,TRUE);
    InsertGLEntry(TRUE);

    // Delete the following lines.
    VATPostingSetup.TESTFIELD("Return VAT account (Sales)");
    InitGLEntry(
    VATPostingSetup."Return VAT account (Sales)",
    // -GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100,
    -TempVATAmount,
    // -SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100,
    ROUND(-SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100),
    TRUE,TRUE);
    InsertGLEntry(TRUE);
    // End of the deleted lines.

    END
    ELSE
    ...

    置換用コード 2

    ...GLEntryVATAmount,SrcCurrGLEntryVATAmt,TRUE,TRUE);
    InsertGLEntry(TRUE);
    END
    ELSE
    ...

    既存のコード 3

    ...END
    ELSE

    // Delete the following lines.
    BEGIN
    IF NOT GenJnlLine."UE Aquisition Not Accep." THEN BEGIN
    VATPostingSetup.TESTFIELD("Purchase VAT Account");
    InitGLEntry(
    VATPostingSetup."Purchase VAT Account",
    GLEntryVATAmount,SrcCurrGLEntryVATAmt,TRUE,TRUE);
    InsertGLEntry(TRUE);
    END;
    //--------

    VATPostingSetup.TESTFIELD("Reverse Chrg. VAT Acc.");
    InitGLEntry(
    VATPostingSetup."Reverse Chrg. VAT Acc.",
    // -GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100,
    // ROUND(-GLEntryVATAmount - VATBase * VATPostingSetup."VAT N.D. %" / 100),
    ROUND((- VATBase * VATPostingSetup."VAT D. %" / 100) - (VATBase * VATPostingSetup."VAT N.D. %" / 100)),
    // -SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100,
    ROUND(-SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100),
    TRUE,TRUE);
    // End of the deleted lines.

    InsertGLEntry(TRUE);
    END;
    ...

    置換用コード 3

    ...END
    ELSE

    // Add the following lines.
    IF NOT GenJnlLine."UE Aquisition Not Accep." THEN BEGIN
    VATPostingSetup.TESTFIELD("Purchase VAT Account");
    InitGLEntry(
    VATPostingSetup."Purchase VAT Account",
    GLEntryVATAmount,SrcCurrGLEntryVATAmt,TRUE,TRUE);
    // End of the added lines.

    InsertGLEntry(TRUE);
    END;
    ...

    既存コード 4

    ...END;
    END;
    END;
    END;
    ...

    置換用コード 4

    ...  END;
    END;

    // Add the following lines.
    IF IsPurchaseReverseChargeVAT(UnrealizedVAT) THEN
    IF "Document Type"= "Document Type"::"Credit Memo" THEN BEGIN
    IF (NOT GenJnlLine."UE Aquisition Not Accep.") AND (TempVATAmount <> 0) THEN BEGIN
    VATPostingSetup.TESTFIELD("Return VAT account (Sales)");
    InitGLEntry(
    VATPostingSetup."Return VAT account (Sales)",
    -TempVATAmount,
    ROUND(-SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100),
    TRUE,TRUE);
    InsertGLEntry(TRUE);
    END;
    END ELSE BEGIN
    VATAmountTotal
    := ROUND((- VATBase * VATPostingSetup."VAT D. %" / 100) - (VATBase * VATPostingSetup."VAT N.D. %" / 100));
    IF VATAmountTotal <> 0 THEN BEGIN
    VATPostingSetup.TESTFIELD("Reverse Chrg. VAT Acc.");
    InitGLEntry(
    VATPostingSetup."Reverse Chrg. VAT Acc.",VATAmountTotal,
    ROUND(-SrcCurrGLEntryVATAmt - SrcCurrVATBase * VATPostingSetup."VAT N.D. %" / 100),
    TRUE,TRUE);
    InsertGLEntry(TRUE);
    END;
    END;
    // End of the added lines.

    END;
    END;
    ...
  2. IsPurchaseReverseChargeVAT関数で、Gen. Jnl。 内のコードを変更する-次のように Post 行 Codeunit (12)。
    既存のコード

    ...END;

    BEGIN
    END.
    ...

    置換用コード

    ...END;

    // Add the following lines.
    LOCAL PROCEDURE IsPurchaseReverseChargeVAT@1110015(UnrealizedVAT@1110000 : Boolean) : Boolean;
    BEGIN
    EXIT(
    (GenJnlLine."Gen. Posting Type" = GenJnlLine."Gen. Posting Type"::Purchase) AND (NOT UnrealizedVAT) AND
    (VATPostingSetup."VAT Calculation Type" = VATPostingSetup."VAT Calculation Type"::"Reverse Charge VAT" ));
    END;

    // End of the added lines.

    BEGIN
    END.
    ...

必要条件

この修正プログラムを適用するのにはインストールされている製品は次のいずれかが必要です。

  • Microsoft Dynamics NAV 2009 の R2 のポルトガル語版

  • Microsoft Dynamics NAV 2009 の SP1 のポルトガル語版

アンインストール情報

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

状況

マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。

注: これは、マイクロソフト サポートの組織内から直接作成した「高速公開」の資料です。ここに含まれる情報は、新たに発生している問題に応じて現状のまま提供されています。速やかに利用できるようにした結果として、内容には誤植が含まれている可能性があり、事前告知なしで改訂する場合があります。その他の考慮事項については、使用条件を参照してください。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×