この記事は、スペイン語 (es) 言語ロケールの Microsoft Dynamics NAV を対象とします。
現象
スペイン語版の Microsoft Dynamics NAV の[VAT 投稿の設定] ダイアログ ボックスで、[EUサービス] チェック ボックスがオンの場合を想定します。 349 宣言ファイルを生成すると、エクスポートされるファイルの量が正しくありません。
この問題は、次の製品で発生します。
-
スペイン語版の Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
-
スペイン語版の Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
解決方法
修正プログラムの情報
サポートされている修正プログラムが Microsoft から入手できます。 ただし、この記事で説明されている問題を修正することを目的とします。 この特定の問題が発生しているシステムにのみ適用します。 この修正プログラムは、追加のテストを受け取る場合があります。 したがって、この問題の重大な影響を受けない場合は、次の Microsoft Dynamics NAV 2009 Service Pack または、この修正プログラムを含む次の Microsoft Dynamics NAV バージョンを待つ必要があります。
注: 特別な場合、Microsoft Dynamics および関連製品のテクニカル サポート 担当者が、特定の更新プログラムによって問題が解決すると判断された場合、通常はサポート呼び出しに対して発生した料金が取り消される場合があります。 ただし、特定の更新プログラムの対象とならない追加の質問および問題については、通常のサポート料金が適用されます。
インストール情報
Microsoft では、明示または黙示を問わず、イラストのみを対象にプログラミングの例を提供しています。 これには、商品性や特定目的への適性に関する黙示の保証が含まれますが、これらに限定されません。 この記事では、説明されているプログラミング言語と、プロシージャの作成およびデバッグに使用されるツールに慣れたユーザーを想定しています。 Microsoft サポート エンジニアは、特定の手順の機能を説明できますが、これらの例を変更して追加の機能を提供したり、特定の要件を満たした手順を構築したりは行う必要があります。
注: この修正プログラムをインストールする前に、すべての Microsoft Navision クライアント ユーザーがシステムからログオフされているのを確認してください。 これには、Microsoft Navision Application Services (NAS) クライアント ユーザーが含まれます。 この修正プログラムを実装する際にログオンするクライアント ユーザーは、自分だけである必要があります。
この修正プログラムを実装するには、開発者ライセンスが必要です。
Windows ログイン ウィンドウまたは [データベース ログイン] ウィンドウのユーザー アカウントには、"SUPER" 役割 ID を割り当てすることをお勧めします。 ユーザー アカウントに "SUPER" ロール ID を割り当てできない場合は、ユーザー アカウントに次の権限が割り当てられているか確認する必要があります。
-
変更するオブジェクトの変更権限。
-
システム オブジェクト ID 5210 オブジェクトとシステム オブジェクト ID 9015 オブジェクトの実行権限。
注: データ修復を実行する必要がない限り、データ ストアに対する権限は必要ない。
コードの変更
注: 実稼働コンピューターに修正プログラムを適用する前に、制御された環境でコードの修正をテストしてください。
この問題を解決するには、次の手順を実行します。
-
349 宣言レポートのデータ項目番号 5 セクション (88) のコードを次のように変更する: 既存の
コード 1BEGIN
REPEAT
//Delete the following line.
VATInvSales.RESET;
VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);置き換えコード 1
BEGIN
REPEAT
//Add the follwing lines.
LastTransactionNo := 0;
VATInvSales.RESET;
VATInvSales.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);既存のコード 2
IF "VAT Registration No." <> '' THEN BEGIN
IF AmountToIncludein349 <> 0 THEN BEGIN
//Delete the following lines.
OpTriang := 'X';
AmountOpTri := AmountOpTri + AmountToIncludein349
//End of the lines.
END ELSE BEGIN
OpTriang := 'X';置き換えコード 2
IF "VAT Registration No." <> '' THEN BEGIN
IF AmountToIncludein349 <> 0 THEN BEGIN
//Add the following lines.
IF VATInvSales."Transaction No." <> LastTransactionNo THEN BEGIN
OpTriang := 'X';
AmountOpTri := AmountOpTri + AmountToIncludein349;
END;
//End of the lines.
END ELSE BEGIN
OpTriang := 'X';既存のコード 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvSales.Base;
UNTIL VATInvSales.NEXT = 0;
END;置き換えコード 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvSales.Base;
//Add the following line.
LastTransactionNo := VATInvSales."Transaction No.";
UNTIL VATInvSales.NEXT = 0;
END;既存のコード 4
UNTIL VATInvSales.NEXT = 0;
END;
//Delete the following line.
VATInvSales.RESET;
VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);置き換えコード 4
UNTIL VATInvSales.NEXT = 0;
END;
//Add the following lines.
LastTransactionNo := 0;
VATInvSales.RESET;
VATInvSales.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);既存のコード 5
((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Delete the following lines.
IF AmountToIncludein349 <> 0 THEN
NormalAmount := NormalAmount + AmountToIncludein349
ELSE
//End of the lines.
NormalAmount := NormalAmount + VATInvSales.Base;
END ELSE置き換えコード 5
((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Add the following lines.
IF AmountToIncludein349 <> 0 THEN BEGIN
IF VATInvSales."Transaction No." <> LastTransactionNo THEN
NormalAmount := NormalAmount + AmountToIncludein349;
END ELSE
//End of the lines.
NormalAmount := NormalAmount + VATInvSales.Base;
END ELSE既存のコード 6
END;
// NormalAmount := NormalAmount + VATInvSales.Base;
UNTIL VATInvSales.NEXT = 0;
END;置き換えコード 6
END;
// NormalAmount := NormalAmount + VATInvSales.Base;
//Add the following line.
LastTransactionNo := VATInvSales."Transaction No.";
UNTIL VATInvSales.NEXT = 0;
END;既存のコード 7
END;
//Delete the following line.
VATInvSales.RESET;
VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);置き換えコード 7
END;
//Add the following lines.
LastTransactionNo := 0;
VATInvSales.RESET;
VATInvSales.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);既存のコード 8
((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Delete the following lines.
IF AmountToIncludein349 <> 0 THEN
AmountEUService := AmountEUService + AmountToIncludein349
ELSE
//End of the lines.
AmountEUService := AmountEUService + VATInvSales.Base;
END ELSE置き換えコード 8
((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Add the following lines.
IF AmountToIncludein349 <> 0 THEN BEGIN
IF VATInvSales."Transaction No." <> LastTransactionNo THEN
AmountEUService := AmountEUService + AmountToIncludein349;
END ELSE
//End of the lines.
AmountEUService := AmountEUService + VATInvSales.Base;
END ELSE既存のコード 9
END;
END;
UNTIL VATInvSales.NEXT = 0;置き換えコード 9
END;
END;
//Add the following line.
LastTransactionNo := VATInvSales."Transaction No.";
UNTIL VATInvSales.NEXT = 0; -
349 宣言レポートのデータ項目番号 6 セクション (88) のコードを次のように変更する: 既存の
コード 1BEGIN
REPEAT
//Delete the following line.
VATInvPurch.RESET;
VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);置き換えコード 1
BEGIN
REPEAT
//Add the following lines.
LastTransactionNo := 0;
VATInvPurch.RESET;
VATInvPurch.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);既存のコード 2
IF "VAT Registration No." <> '' THEN BEGIN
IF AmountToIncludein349 <> 0 THEN BEGIN
//Delete the following lines.
OpTriang := 'X';
AmountOpTri := AmountOpTri + AmountToIncludein349;
//End of the lines.
END ELSE BEGIN
OpTriang := 'X';置き換えコード 2
IF "VAT Registration No." <> '' THEN BEGIN
IF AmountToIncludein349 <> 0 THEN BEGIN
//Add the following lines.
IF VATInvPurch."Transaction No." <> LastTransactionNo THEN BEGIN
OpTriang := 'X';
AmountOpTri := AmountOpTri + AmountToIncludein349;
END;
//End of the lines.
END ELSE BEGIN
OpTriang := 'X';既存のコード 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvPurch.Base;
UNTIL VATInvPurch.NEXT = 0;
END;置き換えコード 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvPurch.Base;
//Add the following line.
LastTransactionNo := VATInvPurch."Transaction No.";
UNTIL VATInvPurch.NEXT = 0;
END;既存のコード 4
UNTIL VATInvPurch.NEXT = 0;
END;
//Delete the following line.
VATInvPurch.RESET;
VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);置き換えコード 4
UNTIL VATInvPurch.NEXT = 0;
END;
//Add the following lines.
LastTransactionNo := 0;
VATInvPurch.RESET;
VATInvPurch.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);既存のコード 5
((VATInvPurch."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Delete the following lines.
IF AmountToIncludein349 <> 0 THEN
NormalAmount := NormalAmount + AmountToIncludein349
ELSE
//End of the lines.
NormalAmount := NormalAmount + VATInvPurch.Base;
END ELSE置き換えコード 5
((VATInvPurch."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Add the following lines.
IF AmountToIncludein349 <> 0 THEN BEGIN
IF VATInvPurch."Transaction No." <> LastTransactionNo THEN
NormalAmount := NormalAmount + AmountToIncludein349;
END ELSE
//End of the lines.
NormalAmount := NormalAmount + VATInvPurch.Base;
END ELSE既存のコード 6
END;
// NormalAmount := NormalAmount + VATInvPurch.Base;
UNTIL VATInvPurch.NEXT = 0;
END;置き換えコード 6
END;
// NormalAmount := NormalAmount + VATInvPurch.Base;
//Add the following line.
LastTransactionNo := VATInvPurch."Transaction No.";
UNTIL VATInvPurch.NEXT = 0;
END;既存のコード 7
UNTIL VATInvPurch.NEXT = 0;
END;
//Delete the following line.
VATInvPurch.RESET;
VATInvPurch.SETRANGE(Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE("Document Type",VATInvPurch."Document Type"::Invoice);置き換えコード 7
UNTIL VATInvPurch.NEXT = 0;
END;
//Add the following lines.
LastTransactionNo := 0;
VATInvPurch.RESET;
VATInvPurch.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvPurch.SETRANGE(Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE("Document Type",VATInvPurch."Document Type"::Invoice);既存のコード 8
THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Delete the following lines.
IF AmountToIncludein349 <> 0 THEN
AmountEUService := AmountEUService + AmountToIncludein349
ELSE
//End of the lines.
AmountEUService := AmountEUService + VATInvPurch.Base;
END ELSE置き換えコード 8
THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Add the following lines.
IF AmountToIncludein349 <> 0 THEN BEGIN
IF VATInvPurch."Transaction No." <> LastTransactionNo THEN
AmountEUService := AmountEUService + AmountToIncludein349;
END ELSE
//End of the lines.
AmountEUService := AmountEUService + VATInvPurch.Base;
END ELSE既存のコード 9
END;
END;
UNTIL VATInvPurch.NEXT = 0;置き換えコード 9
END;
END;
//Add the following line.
LastTransactionNo := VATInvPurch."Transaction No.";
UNTIL VATInvPurch.NEXT = 0; -
Make 349 宣言レポート (88) に新しいグローバル変数を追加し、次のように変数を指定します。
-
名前: LastTransactionNo@1100072
-
DataType: Integer
-
必要条件
この修正プログラムを適用するには、次のいずれかの製品がインストールされている必要があります。
-
スペイン語版の Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
-
スペイン語版の Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
この修正プログラムを適用するには、スペイン語 349 レポートがインストールされている必要があります。
詳細については、次の Microsoft Web サイトを参照してください:スペイン語 349 レポートさらに、この修正プログラムを適用するには
、VAT 2010 パッケージがインストールされている必要があります。
詳細については、次の Microsoft Web サイトを参照してください:
VAT 2010 の Microsoft Dynamics NAVサポート
アンインストール情報
この修正プログラムを削除することはできません。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
注: これは、Microsoft サポート組織内から直接作成された 「FAST PUBLISH」の記事です。 ここに含まれる情報は、新たな問題に対応するために提供されます。 利用速度が速い結果として、資料には入力ミスが含まれる場合があります。また、予告なくいつでも改訂される場合があります。 その 他の考慮事項については、「 使用条件」を参照してください。