Applies ToDynamics NAV 2009 Service Pack 1 Microsoft Dynamics NAV 5.0 Service Pack 1

この記事は、スペイン語 (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 オブジェクトの実行権限。

注: データ修復を実行する必要がない限り、データ ストアに対する権限は必要ない。

コードの変更

注: 実稼働コンピューターに修正プログラムを適用する前に、制御された環境でコードの修正をテストしてください。 この問題を解決するには、次の手順を実行します。

  1. 349 宣言レポートのデータ項目番号 5 セクション (88) のコードを次のように変更する: 既存の コード 1

                                  BEGIN                                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;
  2. 349 宣言レポートのデータ項目番号 6 セクション (88) のコードを次のように変更する: 既存の コード 1

                                  BEGIN                                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;
  3. 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」の記事です。 ここに含まれる情報は、新たな問題に対応するために提供されます。 利用速度が速い結果として、資料には入力ミスが含まれる場合があります。また、予告なくいつでも改訂される場合があります。 その 他の考慮事項については、「 使用条件」を参照してください。

ヘルプを表示

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

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

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