Microsoft Dynamics NAV 2013 のスウェーデン語バージョンで原価センタの割り当てなしで請求書を転記すると、原価センタコードは転記された総勘定元帳エントリに反映されません

適用先
Dynamics NAV 2013

この記事は、スウェーデン語 (se) リージョンの Microsoft Dynamics NAV に適用されます。

現象

自動アカウンティングラインセットアップには、スウェーデン語バージョンの Microsoft Dynamics NAV 2013 にマイナスの割り当てが含まれていると仮定します。 原価センタ割当なしで請求書を転記する場合、原価センタコードは転記された総勘定元帳エントリに反映されません。

解決策

修正プログラムの情報

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

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

インストール情報

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

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

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

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

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

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

    オブジェクト。

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

コードの変更

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

この問題を解決するには、Gen の PostAutoAcc 関数のコードを変更します。 Jnl.-Post Line Codeunit (12) を次に示します。

既存のコード

...
GenJnlLine.VALIDATE(
                    Amount,ROUND("VAT Base Amount" * AutoAccLine."Allocation %" / 100,GLSetup."Amount Rounding Precision"));
                GenJnlLine.VALIDATE("Auto. Acc. Group",'');

// Delete the following lines.
               GenJnlLine."Dimension Set ID" := OrigGenJnlLine."Dimension Set ID";
               IF AutoAccLine."Dimension Set ID" <> 0 THEN
                 IF GenJnlLine."Dimension Set ID" = 0 THEN
                   GenJnlLine."Dimension Set ID" := AutoAccLine."Dimension Set ID"
                 ELSE BEGIN
                   DimensionSetIDArr[1] := GenJnlLine."Dimension Set ID";
                   DimensionSetIDArr[2] := AutoAccLine."Dimension Set ID";
                   GenJnlLine."Dimension Set ID" :=
                     DimMgt.GetCombinedDimensionSetID(
                       DimensionSetIDArr,GenJnlLine."Shortcut Dimension 1 Code",GenJnlLine."Shortcut Dimension 2 Code");
                 END;
// End of the deleted lines.

                AccLine := AccLine + 1;
                TotalAmount := TotalAmount + GenJnlLine.Amount;
                IF (AccLine = NoOfAutoAccounts) AND (TotalAmount <> 0) THEN
...

置換コード

...
GenJnlLine.VALIDATE(
                    Amount,ROUND("VAT Base Amount" * AutoAccLine."Allocation %" / 100,GLSetup."Amount Rounding Precision"));
                GenJnlLine.VALIDATE("Auto. Acc. Group",'');

// Add the following lines.
               GenJnlLine."Dimension Set ID" := "Dimension Set ID";
               IF AutoAccLine."Dimension Set ID" <> 0 THEN
                 IF GenJnlLine."Dimension Set ID" = 0 THEN BEGIN
                   GenJnlLine."Dimension Set ID" := AutoAccLine."Dimension Set ID";
                   GenJnlLine."Shortcut Dimension 1 Code" := AutoAccLine."Shortcut Dimension 1 Code";
                   GenJnlLine."Shortcut Dimension 2 Code" := AutoAccLine."Shortcut Dimension 2 Code";
                 END ELSE BEGIN
                   DimensionSetIDArr[1] := GenJnlLine."Dimension Set ID";
                   DimensionSetIDArr[2] := AutoAccLine."Dimension Set ID";
                   GenJnlLine."Dimension Set ID" :=
                     DimMgt.GetCombinedDimensionSetID(
                       DimensionSetIDArr,GenJnlLine."Shortcut Dimension 1 Code",GenJnlLine."Shortcut Dimension 2 Code");
                 END
               ELSE BEGIN
                 GenJnlLine."Shortcut Dimension 1 Code" := "Shortcut Dimension 1 Code";
                 GenJnlLine."Shortcut Dimension 2 Code" := "Shortcut Dimension 2 Code";
               END;
// End of the added lines.

                AccLine := AccLine + 1;
                TotalAmount := TotalAmount + GenJnlLine.Amount;
                IF (AccLine = NoOfAutoAccounts) AND (TotalAmount <> 0) THEN
...

              

前提条件

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

アンインストール情報

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

状態

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

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