この資料は、Microsoft Dynamics nav (%hu) ハンガリー語の言語ロケールに適用されます。
現象
修正プログラム 2664466、ハンガリー語のバージョンの Microsoft Dynamics NAV 2009 の R2 を適用することを想定しています。転記された請求書の請求書の統計を計算するときに、付加価値税 (VAT) の量が正しく丸められます。
2664466 の修正プログラムに関する詳細については、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックします。
2664466 VAT 額が正しくないハンガリー語のバージョンの Microsoft Dynamics NAV 5.0 Service Pack 1 で外貨で請求書を転記する場合
解決策
修正プログラムの情報
サポートされている修正プログラムはマイクロソフトから現在入手可能です。ただし、この資料に記載されている問題を解決するためのものはのみ。この特定の問題が発生したシステムにのみ適用してください。この修正プログラムは、今後さらにテストを行うことがあります。この問題で深刻な影響を受けていない場合は、次の Microsoft Dynamics NAV 2009 サービス パックまたは修正プログラムを含む次の Microsoft Dynamics NAV バージョン待つことを勧めします。
注: かかる料金が免除されるテクニカル サポート担当者 Microsoft Dynamics および関連製品のことは、通常は特別な場合は、特定の更新プログラムは、問題を解決するにを決定します。追加の質問および問題の特定のアップデートの対象にはなりませんが、通常のサポート料金が適用されます。
インストール情報
マイクロソフトでは解説することのみを目的としてプログラミング例を提供しています。暗示あるいは明示していることに対しての保証はしておりません。ここで言う保証とは、特定の目的に対する商品性や適合性の暗示的保証を含んでいますが、それに限定されるわけではありません。この資料では、例示されているプログラミング言語およびプロシージャの作成やデバッグに使用するツールにお客様が精通していることを前提としています。マイクロソフトのサポート エンジニアは、特定のプロシージャの機能について説明することができます。ただし、お客様固有の要件を満たすために、追加機能の提供またはプロシージャの作成のために、これらの例に変更を加えたりはしません。
注: この修正プログラムをインストールする前に、Microsoft Dynamics NAV のすべてのクライアント ユーザーがシステムの電源を記録することを確認します。これには、Microsoft Dynamics NAV アプリケーション サーバー (NAS) のサービスが含まれます。この修正プログラムを実装すると、ログオンしている唯一のクライアント ユーザーが必要です。
この修正プログラムを実装するには、開発者用のライセンスが必要です。
ユーザー アカウントまたはデータベース ログイン ウィンドウに Windows のログイン ウィンドウにある「スーパー」ロール id を割り当てられていることをお勧めします。ユーザー アカウントには、「スーパー」ロール ID を割り当てることができません、する場合は、ユーザー アカウントが次のアクセス許可を持っているを確認する必要があります。
-
変更するオブジェクトの変更のアクセス許可。
-
実行のアクセス許可、システム オブジェクトの ID 5210オブジェクトおよびシステム オブジェクトの ID 9015
オブジェクトです。
注: データの修復を実行する必要があるない限り、データ ストアへの権限を持っている必要はありません。
コードの変更
注: 常にテスト コードを修正、管理された環境で適用する前に、運用コンピューターに修正プログラムします。
この問題を解決するには、次の手順を実行します。
-
販売明細行のテーブル (37) のフィールド内のコードを次のように変更します。
既存のコード 1...
// Delete the following line.
CalcVATToReport(SalesHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
// End of the deleted line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
...置換用コード 1
...
// Add the following line.
CalcVATToReport(SalesHeader,"VAT Base Amount","Amount Including VAT",
// End of the added line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
...既存のコード 2
...
// Delete the following line.
CalcVATToReport(SalesHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
// End of the deleted line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
...置換用コード 2
...
// Add the following line.
CalcVATToReport(SalesHeader,"VAT Base Amount","Amount Including VAT",
// End of the added line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
... -
販売明細行のテーブル (37) のUpdateVATAmounts関数内のコードを次のように変更します。
既存のコード...
// Delete the following line.
CalcVATToReport(SalesHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
// End of the deleted line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
...置換用コード
...
// Add the following line.
CalcVATToReport(SalesHeader,"VAT Base Amount","Amount Including VAT",
// End of the added line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
... -
販売明細行のテーブル (37) のUpdateVATOnLines関数内のコードを次のように変更します。
既存のコード..."VAT Base Amount" := NewVATBaseAmount;
// Delete the following line.
CalcVATToReport(SalesHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
// End of the deleted line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
...置換用コード
..."VAT Base Amount" := NewVATBaseAmount;
// Add the following line.
CalcVATToReport(SalesHeader,"VAT Base Amount","Amount Including VAT",
// End of the added line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
... -
販売明細行のテーブル (37) のCalcVATAmountLines関数内のコードを次のように変更します。
既存のコード...
// Delete the following line.CalcVATToReport(SalesHeader,"VAT Base","VAT Amount" - "VAT Difference",
// End of the deleted line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
...置換用コード
...
// Add the following line.
CalcVATToReport(SalesHeader,"VAT Base","Amount Including VAT" - "VAT Difference",
// End of the added line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
... -
CalcVATToReport内のコードを変更するの販売明細行のテーブル (37) では次のように機能します。
既存のコード 1...
// Delete the following line.
PROCEDURE CalcVATToReport@1360001(SalesHeader@1360000 : Record 36;VATBaseAmount@1360001 : Decimal;VATAmount@1360002 : Decimal;VAR VATBaseAmountToReport@1360003 : Decimal;VAR VATAmountToReport@1360004 : Decimal);
// End of the deleted line.
BEGIN
...置換用コード 1
...
// Add the following lines.
PROCEDURE CalcVATToReport@1360001(SalesHeader@1360000 : Record 36;VATBaseAmount@1360001 : Decimal;AmtInclVAT@1360005 : Decimal;VAR VATBaseAmountToReport@1360003 : Decimal;VAR VATAmountToReport@1360004 : Decimal);
VAR
AmountLCY@1360006 : Decimal;
AmtInclVATLCY@1360007 : Decimal;
// End of the added lines.
BEGIN
...既存のコード 2
...ROUND(VATBaseAmount / SalesHeader."VAT Currency Factor");
// Delete the following lines.
VATAmountToReport :=
ROUND(VATAmount / SalesHeader."VAT Currency Factor");
END ELSE BEGIN
VATBaseAmountToReport := VATBaseAmount;
VATAmountToReport := VATAmount;
// End of the deleted lines.
END;
...置換用コード 2
...ROUND(VATBaseAmount / SalesHeader."VAT Currency Factor");
// Add the following lines.
AmountLCY :=
ROUND(VATBaseAmount / SalesHeader."VAT Currency Factor");
AmtInclVATLCY :=
ROUND(AmtInclVAT / SalesHeader."VAT Currency Factor");
VATAmountToReport :=
AmtInclVATLCY - AmountLCY;
END ELSE BEGIN
VATBaseAmountToReport := VATBaseAmount;
VATAmountToReport := AmtInclVAT - VATBaseAmount;
// End of the added lines.
END;
... -
購買注文明細行のテーブル (39) のフィールド内のコードを次のように変更します。
既存のコード 1...
// Delete the following line.
CalcVATToReport(PurchHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
// End of the deleted line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
...置換用コード 1
...
// Add the following line.
CalcVATToReport(PurchHeader,"VAT Base Amount","Amount Including VAT",
// End of the added line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
...既存のコード 2
...
// Delete the following line.
CalcVATToReport(PurchHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
// End of the deleted line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
...置換用コード 2
...
// Add the following line.
CalcVATToReport(PurchHeader,"VAT Base Amount","Amount Including VAT",
// End of the added line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
... -
(39) 購買注文明細行のテーブル内のUpdateVATAmounts関数内のコードを次のように変更します。
既存のコード...
// Delete the following line.
CalcVATToReport(PurchHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
// End of the deleted line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
...置換用コード
...
// Add the following line.
CalcVATToReport(PurchHeader,"VAT Base Amount","Amount Including VAT",
// End of the added line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
... -
(39) 購買注文明細行のテーブル内のUpdateVATOnLines関数内のコードを次のように変更します。
既存のコード...END;
// Delete the following line.
CalcVATToReport(PurchHeader,"VAT Base Amount","Amount Including VAT",
// End of the deleted line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
...置換用コード
...END;
// Add the following line.
CalcVATToReport(PurchHeader,"VAT Base Amount","Amount Including VAT",
// End of the added line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
... -
購買注文明細行のテーブル (39) でCalcVATAmountLinesのコードを次のように変更します。
既存のコード...
// Delete the following line.
CalcVATToReport(PurchHeader,"VAT Base","VAT Amount" - "VAT Difference",
// End of the deleted line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
...置換用コード
...
// Add the following line.
CalcVATToReport(PurchHeader,"VAT Base","Amount Including VAT" - "VAT Difference",
// End of the added line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)","VAT % (Non Deductible)");
... -
(39) 購買注文明細行のテーブル内のCalcVATToReport関数内のコードを次のように変更します。
既存のコード 1...
// Delete the following lines.
PROCEDURE CalcVATToReport@1360000(PurchHeader@1360000 : Record 38;VATBaseAmount@1360001 : Decimal;VATAmount@1360002 : Decimal;VAR VATBaseAmountToReport@1360003 : Decimal;VAR VATAmountToReport@1360004 : Decimal;NonDeductableVATPct@1360005 : Decimal);
VAR
NonDeductableVATAmount@1360006 : Decimal;
BEGIN
NonDeductableVATAmount := VATAmount * NonDeductableVATPct / 100;
// End of the deleted lines.
IF PurchHeader."Currency Code" <> '' THEN BEGIN
...置換用コード 1
...
// Add the following lines.
PROCEDURE CalcVATToReport@1360000(PurchHeader@1360000 : Record 38;VATBaseAmount@1360001 : Decimal;AmtInclVAT@1360007 : Decimal;VAR VATBaseAmountToReport@1360003 : Decimal;VAR VATAmountToReport@1360004 : Decimal;NonDeductableVATPct@1360005 : Decimal);
VAR
NonDeductableVATAmount@1360006 : Decimal;
AmountLCY@1360008 : Decimal;
AmtInclVATLCY@1360009 : Decimal;
BEGIN
NonDeductableVATAmount := (AmtInclVAT - VATBaseAmount) * NonDeductableVATPct / 100;
// End of the added lines.
IF PurchHeader."Currency Code" <> '' THEN BEGIN
...既存のコード 2
...ROUND((VATBaseAmount + NonDeductableVATAmount) / PurchHeader."VAT Currency Factor");
// Delete the following lines.
VATAmountToReport :=
ROUND((VATAmount - NonDeductableVATAmount) / PurchHeader."VAT Currency Factor");
END ELSE BEGIN
VATBaseAmountToReport := VATBaseAmount + ROUND(NonDeductableVATAmount);
VATAmountToReport := VATAmount - ROUND(NonDeductableVATAmount);
// End of the deleted lines.
END
...置換用コード 2
...ROUND((VATBaseAmount + NonDeductableVATAmount) / PurchHeader."VAT Currency Factor");
// Add the following lines.
AmountLCY :=
ROUND(VATBaseAmount / PurchHeader."VAT Currency Factor");
AmtInclVATLCY :=
ROUND(AmtInclVAT / PurchHeader."VAT Currency Factor");
VATAmountToReport :=
AmtInclVATLCY - AmountLCY - ROUND(NonDeductableVATAmount / PurchHeader."VAT Currency Factor");
END ELSE BEGIN
VATBaseAmountToReport := VATBaseAmount + ROUND(NonDeductableVATAmount);
VATAmountToReport := AmtInclVAT - VATBaseAmount - ROUND(NonDeductableVATAmount);
// End of the added lines.
END
... -
サービス明細行のテーブル (5902) のフィールド内のコードを次のように変更します。
既存のコード 1...
// Delete the following line.
CalcVATToReport(ServHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
// End of the deleted line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
...置換用コード 1
...
// Add the following line.CalcVATToReport(ServHeader,"VAT Base Amount","Amount Including VAT",
// End of the added line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
...既存のコード 2
...
// Delete the following line.
CalcVATToReport(ServHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
// End of the deleted line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
...置換用コード 2
...
// Add the following line.
CalcVATToReport(ServHeader,"VAT Base Amount","Amount Including VAT",
// End of the added line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
... -
サービスの行のテーブル (5902) のUpdateVATAmounts関数内のコードを次のように変更します。
既存のコード...
// Delete the following line.
CalcVATToReport(ServHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
// End of the deleted line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
...置換用コード
...
// Add the following line.
CalcVATToReport(ServHeader,"VAT Base Amount","Amount Including VAT",
// End of the added line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
... -
サービスの行のテーブル (5902) のCalcVATAmountLines関数内のコードを次のように変更します。
既存のコード...
// Delete the following line.
CalcVATToReport(ServHeader,"VAT Base","VAT Amount" - "VAT Difference",
// End of the deleted line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
...置換用コード
...
// Add the following line.CalcVATToReport(ServHeader,"VAT Base","Amount Including VAT" - "VAT Difference",
// End of the added line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
... -
サービスの行のテーブル (5902) のUpdateVATOnLines関数内のコードを次のように変更します。
既存のコード..."VAT Base Amount" := NewVATBaseAmount;
// Delete the following line.
CalcVATToReport(ServHeader,"VAT Base Amount","Amount Including VAT" - "VAT Base Amount",
// End of the deleted line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
...置換用コード
..."VAT Base Amount" := NewVATBaseAmount;
// Add the following line.
CalcVATToReport(ServHeader,"VAT Base Amount","Amount Including VAT",
// End of the added line.
"VAT Base Amt. to Report (LCY)","VAT Amount to Report (LCY)");
... -
サービスの行のテーブル (5902) のCalcVATToReport関数内のコードを次のように変更します。
既存のコード 1...
// Delete the following line.
PROCEDURE CalcVATToReport@1360000(ServHeader@1360004 : Record 5900;VATBaseAmount@1360003 : Decimal;VATAmount@1360002 : Decimal;VAR VATBaseAmountToReport@1360001 : Decimal;VAR VATAmountToReport@1360000 : Decimal);
// End of the deleted line.
BEGIN
...置換用コード 1
...
// Add the following lines.
PROCEDURE CalcVATToReport@1360000(ServHeader@1360004 : Record 5900;VATBaseAmount@1360003 : Decimal;AmtInclVAT@1360007 : Decimal;VAR VATBaseAmountToReport@1360001 : Decimal;VAR VATAmountToReport@1360000 : Decimal);
VAR
AmountLCY@1360005 : Decimal;
AmtInclVATLCY@1360006 : Decimal;
// End of the added lines.
BEGIN
...既存のコード 2
...ROUND(VATBaseAmount / ServHeader."VAT Currency Factor");
// Delete the following lines.
VATAmountToReport :=
ROUND(VATAmount / ServHeader."VAT Currency Factor");
END ELSE BEGIN
VATBaseAmountToReport := VATBaseAmount;
VATAmountToReport := VATAmount;
// End of the deleted lines.
END;
...置換用コード 2
...ROUND(VATBaseAmount / ServHeader."VAT Currency Factor");
// Add the following lines.
AmountLCY :=
ROUND(VATBaseAmount / ServHeader."VAT Currency Factor");
AmtInclVATLCY :=
ROUND(AmtInclVAT / ServHeader."VAT Currency Factor");
VATAmountToReport :=
AmtInclVATLCY - AmountLCY;
END ELSE BEGIN
VATBaseAmountToReport := VATBaseAmount;
VATAmountToReport := AmtInclVAT - VATBaseAmount;
// End of the added lines.
END;
... -
販売後の Codeunit (80) 内のDivideAmount関数内のコードを次のように変更します。
既存のコード 1...LOCAL PROCEDURE DivideAmount@8(QtyType@1000 : 'General,Invoicing,Shipping';SalesLineQty@1001 : Decimal);
// Delete the following lines.
VAR
TotalVATBaseAmtLCY@1360001 : Decimal;
TotalVATAmountLCY@1360000 : Decimal;
// End of the deleted lines.
BEGIN
...置換用コード 1
...LOCAL PROCEDURE DivideAmount@8(QtyType@1000 : 'General,Invoicing,Shipping';SalesLineQty@1001 : Decimal);
BEGIN
...既存のコード 2
...END;
// Delete the following lines.
TempVATAmountLineRemainder."Calc VAT Base Amount to Report" :=
TempVATAmountLineRemainder."Calc VAT Base Amount to Report" + "VAT Base Amount";
TempVATAmountLineRemainder."Calc VAT Amount to Report" :=
TempVATAmountLineRemainder."Calc VAT Amount to Report" + "Amount Including VAT" - "VAT Base Amount" - "VAT Difference";
CalcVATToReport(SalesHeader,
TempVATAmountLineRemainder."Calc VAT Base Amount to Report",
TempVATAmountLineRemainder."Calc VAT Amount to Report",
TotalVATBaseAmtLCY,TotalVATAmountLCY);
"VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY - TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)";
"VAT Amount to Report (LCY)" := TotalVATAmountLCY - TempVATAmountLineRemainder."VAT Amount to Report (LCY)";
TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY;
TempVATAmountLineRemainder."VAT Amount to Report (LCY)" := TotalVATAmountLCY;
// End of the deleted lines.
...置換用コード 2
...END;
// Add the following line.
CalcRoundedVATToReport(SalesLine,SalesHeader);
// End of the added line.
... -
販売後の Codeunit (80) で次のように関数を作成します。
LOCAL PROCEDURE CalcRoundedVATToReport@1360026(VAR SalesLine@1360002 : Record 37;SalesHeader@1360003 : Record 36);VAR
TotalVATBaseAmtLCY@1360005 : Decimal;
TotalVATAmountLCY@1360004 : Decimal;
BEGIN
WITH SalesLine DO BEGIN
TempVATAmountLineRemainder."Calc VAT Base Amount to Report" +=
"VAT Base Amount";
TempVATAmountLineRemainder."Calc VAT Amount to Report" +=
"Amount Including VAT";
CalcVATToReport(SalesHeader,
TempVATAmountLineRemainder."Calc VAT Base Amount to Report",
TempVATAmountLineRemainder."Calc VAT Amount to Report",
TotalVATBaseAmtLCY,TotalVATAmountLCY);
"VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY - TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)";
"VAT Amount to Report (LCY)" := TotalVATAmountLCY - TempVATAmountLineRemainder."VAT Amount to Report (LCY)";
TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY;
TempVATAmountLineRemainder."VAT Amount to Report (LCY)" := TotalVATAmountLCY;
END;
END; -
購買のDivideAmount関数内のコードを変更する-次のように Post Codeunit (90)。
既存のコード 1...LOCAL PROCEDURE DivideAmount@8(QtyType@1000 : 'General,Invoicing,Shipping';PurchLineQty@1001 : Decimal);
// Delete the following lines.
VAR
TotalVATBaseAmtLCY@1360001 : Decimal;
TotalVATAmountLCY@1360000 : Decimal;
// End of the deleted lines.
BEGIN
...置換用コード 1
...LOCAL PROCEDURE DivideAmount@8(QtyType@1000 : 'General,Invoicing,Shipping';PurchLineQty@1001 : Decimal);
BEGIN
...既存のコード 2
...END;
// Delete the following lines.
TempVATAmountLineRemainder."Calc VAT Base Amount to Report" :=
TempVATAmountLineRemainder."Calc VAT Base Amount to Report" + "VAT Base Amount";
TempVATAmountLineRemainder."Calc VAT Amount to Report" :=
TempVATAmountLineRemainder."Calc VAT Amount to Report" + "Amount Including VAT" - "VAT Base Amount" - "VAT Difference";
PurchLine.CalcVATToReport(PurchHeader,
TempVATAmountLineRemainder."Calc VAT Base Amount to Report",
TempVATAmountLineRemainder."Calc VAT Amount to Report",
TotalVATBaseAmtLCY,TotalVATAmountLCY,"VAT % (Non Deductible)");
"VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY - TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)";
"VAT Amount to Report (LCY)" := TotalVATAmountLCY - TempVATAmountLineRemainder."VAT Amount to Report (LCY)";
TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY;
TempVATAmountLineRemainder."VAT Amount to Report (LCY)" := TotalVATAmountLCY;
// End of the deleted lines.
...置換用コード 2
...END;
// Add the following line.
CalcRoundedVATToReport(PurchLine,PurchHeader);
// End of the added line.
... -
関数を作成、購買に-次のように Post Codeunit (90)。
LOCAL PROCEDURE CalcRoundedVATToReport@1360026(VAR PurchLine@1360002 : Record 39;PurchHeader@1360003 : Record 38);VAR
TotalVATBaseAmtLCY@1360005 : Decimal;
TotalVATAmountLCY@1360004 : Decimal;
BEGIN
WITH PurchLine DO BEGIN
TempVATAmountLineRemainder."Calc VAT Base Amount to Report" +=
"VAT Base Amount";
TempVATAmountLineRemainder."Calc VAT Amount to Report" +=
"Amount Including VAT";
CalcVATToReport(PurchHeader,
TempVATAmountLineRemainder."Calc VAT Base Amount to Report",
TempVATAmountLineRemainder."Calc VAT Amount to Report",
TotalVATBaseAmtLCY,TotalVATAmountLCY,"VAT % (Non Deductible)");
"VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY - TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)";
"VAT Amount to Report (LCY)" := TotalVATAmountLCY - TempVATAmountLineRemainder."VAT Amount to Report (LCY)";
TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY;
TempVATAmountLineRemainder."VAT Amount to Report (LCY)" := TotalVATAmountLCY;
END;
END; -
Serv 金額管理 Codeunit (5986) 内のDivideAmount関数内のコードを次のように変更します。
既存のコード 1...ChargeableQty@1006 : Decimal;
// Delete the following lines.
TotalVATBaseAmtLCY@1360001 : Decimal;
TotalVATAmountLCY@1360000 : Decimal;
// End of the deleted lines.
BEGIN
...置換用コード 1
...ChargeableQty@1006 : Decimal;
BEGIN
...既存のコード 2
...END;
// Delete the following lines.
TempVATAmountLineRemainder."Calc VAT Base Amount to Report" :=
TempVATAmountLineRemainder."Calc VAT Base Amount to Report" + "VAT Base Amount";
TempVATAmountLineRemainder."Calc VAT Amount to Report" :=
TempVATAmountLineRemainder."Calc VAT Amount to Report" + "Amount Including VAT" - "VAT Base Amount" - "VAT Difference";
CalcVATToReport(ServiceHeader,
TempVATAmountLineRemainder."Calc VAT Base Amount to Report",
TempVATAmountLineRemainder."Calc VAT Amount to Report",
TotalVATBaseAmtLCY,TotalVATAmountLCY);
"VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY - TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)";
"VAT Amount to Report (LCY)" := TotalVATAmountLCY - TempVATAmountLineRemainder."VAT Amount to Report (LCY)";
TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY;
TempVATAmountLineRemainder."VAT Amount to Report (LCY)" := TotalVATAmountLCY;
// End of the deleted lines.
...置換用コード 2
...END;
// Add the following line.
CalcRoundedVATToReport(ServiceLine,TempVATAmountLineRemainder,ServHeader);
// End of the added line.
... -
関数を作成、次のように Serv 金額管理 Codeunit (5986) で。
LOCAL PROCEDURE CalcRoundedVATToReport@1360001(VAR ServiceLine@1360002 : Record 5902;VAR TempVATAmountLineRemainder@1360004 : Record 290;ServHeader@1360003 : Record 5900);VAR
TotalVATBaseAmtLCY@1360006 : Decimal;
TotalVATAmountLCY@1360005 : Decimal;
BEGIN
WITH ServiceLine DO BEGIN
TempVATAmountLineRemainder."Calc VAT Base Amount to Report" +=
"VAT Base Amount";
TempVATAmountLineRemainder."Calc VAT Amount to Report" +=
"Amount Including VAT";
CalcVATToReport(ServHeader,
TempVATAmountLineRemainder."Calc VAT Base Amount to Report",
TempVATAmountLineRemainder."Calc VAT Amount to Report",
TotalVATBaseAmtLCY,TotalVATAmountLCY);
"VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY - TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)";
"VAT Amount to Report (LCY)" := TotalVATAmountLCY - TempVATAmountLineRemainder."VAT Amount to Report (LCY)";
TempVATAmountLineRemainder."VAT Base Amt. to Report (LCY)" := TotalVATBaseAmtLCY;
TempVATAmountLineRemainder."VAT Amount to Report (LCY)" := TotalVATAmountLCY;
END;
END;
必要条件
ハンガリー語のバージョンの Microsoft Dynamics NAV 2009 R2 のインストールにこの修正プログラムを適用する必要があります。
アンインストール情報
この修正プログラムを削除することはできません。
状況
マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。
注: これは、マイクロソフト サポートの組織内から直接作成した「高速公開」の資料です。ここに含まれる情報は、新たに発生している問題に応じて現状のまま提供されています。速やかに利用できるようにした結果として、内容には誤植が含まれている可能性があり、事前告知なしで改訂する場合があります。その他の考慮事項については、使用条件を参照してください。