修正項目化されていない月次報告書または四半期報告書に印刷して、Microsoft Dynamics NAV のイタリア語版のエントリをエクスポートするときに期待どおりに


この資料は、Microsoft Dynamics nav (it) イタリア語の言語ロケールに当てはまります。

現象


印刷して、Microsoft Dynamics NAV、レポートのイタリア語版の商品 (サービス) に関連する修正のエントリをエクスポートして、ファイルは月次報告書で、または期待どおりに四半期ごとのレポートにグループ化されません。
この問題は、次の製品で発生します。
  • イタリア語版の Microsoft Dynamics NAV 2009 サービス パック 1 (SP1)
  • Microsoft Dynamics NAV 2009 の R2 のイタリア語版
  • イタリア語版の Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)

解決策


修正プログラムの情報

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

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



インストール情報

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

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

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

ユーザー アカウントまたはデータベース ログイン ウィンドウに Windows のログイン ウィンドウにある「スーパー」ロール id を割り当てられていることをお勧めします。ユーザー アカウントには、「スーパー」ロール ID を割り当てることができません、する場合は、ユーザー アカウントが次のアクセス許可を持っているを確認する必要があります。
  • 変更するオブジェクトの変更のアクセス許可。
  • システム オブジェクトの ID 5210オブジェクトおよびシステム オブジェクトの ID 9015オブジェクトの実行が許可されます。


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

コードの変更

注: 常にテスト コードを修正、管理された環境で適用する前に、運用コンピューターに修正プログラムします。
この問題を解決するには、次の手順を実行します。
  1. レポート (501) で、イントラスタット Jnl ラインOnAfterGetRecordのトリガーのコードを次のように変更します。
    既存のコード 1
    ...        SupplUnits := "Intrastat Jnl. Line".Quantity;

    // Delete the following lines.
    { "Intra - form Buffer".RESET;
    IF "Intra - form Buffer".GET(
    "Intrastat Jnl. Line"."VAT Registration No.","Intrastat Jnl. Line"."Transaction Type",
    "Intrastat Jnl. Line"."Tariff No.","Intrastat Jnl. Line"."Group Code","Intrastat Jnl. Line"."Transport Method",
    "Intrastat Jnl. Line"."Transaction Specification",CountryOriginCode,"Intrastat Jnl. Line".Area,
    "Intrastat Jnl. Line"."Corrective entry")
    THEN BEGIN
    "Intra - form Buffer".Amount := "Intra - form Buffer".Amount + "Intrastat Jnl. Line".Amount;
    "Intra - form Buffer"."Source Currency Amount" := "Intra - form Buffer"."Source Currency Amount" +
    "Intrastat Jnl. Line"."Source Currency Amount";
    "Intra - form Buffer"."Total Weight" := "Intra - form Buffer"."Total Weight" + "Intrastat Jnl. Line"."Total Weight";
    "Intra - form Buffer"."Statistical Value" := "Intra - form Buffer"."Statistical Value" +
    "Intrastat Jnl. Line"."Statistical Value";
    "Intra - form Buffer".Quantity := "Intra - form Buffer".Quantity + SupplUnits;
    "Intra - form Buffer".MODIFY;
    END ELSE BEGIN
    "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
    "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode;
    "Intra - form Buffer".Quantity := SupplUnits;
    "Intra - form Buffer"."No." := 0;
    "Intra - form Buffer"."User ID" := USERID;
    "Intra - form Buffer".INSERT;
    END; }
    // End of the deleted lines.

    END ELSE BEGIN // Corrective Entry
    ...
    置換用コード 1
    ...  SupplUnits := "Intrastat Jnl. Line".Quantity;

    END ELSE BEGIN // Corrective Entry
    ...
    既存のコード 2
    ...       LineNo := LineNo +1;

    // Delete the following lines.
    "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
    "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode;
    "Intra - form Buffer".Quantity := SupplUnits;
    "Intra - form Buffer"."User ID" := USERID;
    "Intra - form Buffer"."No." := LineNo;
    "Intra - form Buffer".INSERT;
    END
    // End of the deleted lines.

    END;
    ...
    置換用コード 2
    ...     LineNo := LineNo +1;

    // Add the following lines.
    END;
    GroupIntraJnlLineIntoBuffer;
    // End of the added lines.

    END;
    ...
  2. レポート (501) で、 C と AL のグローバル変数で、メニュー上の表示] をクリックして、[関数] タブで次の関数を追加: GroupIntraJnlLineIntoBuffer。、コードを追加作成したGroupIntraJnlLineIntoBuffer関数で次のように。
    "Intra - form Buffer".RESET;IF "Intra - form Buffer".GET(
    "Intrastat Jnl. Line"."VAT Registration No.","Intrastat Jnl. Line"."Transaction Type",
    "Intrastat Jnl. Line"."Tariff No.","Intrastat Jnl. Line"."Group Code","Intrastat Jnl. Line"."Transport Method",
    "Intrastat Jnl. Line"."Transaction Specification",CountryOriginCode,"Intrastat Jnl. Line".Area,
    "Intrastat Jnl. Line"."Corrective entry",0,"Intrastat Jnl. Line"."Service Tariff No.")
    THEN BEGIN
    "Intra - form Buffer".Amount := "Intra - form Buffer".Amount + "Intrastat Jnl. Line".Amount;
    "Intra - form Buffer"."Source Currency Amount" := "Intra - form Buffer"."Source Currency Amount" +
    "Intrastat Jnl. Line"."Source Currency Amount";
    "Intra - form Buffer"."Total Weight" := "Intra - form Buffer"."Total Weight" + "Intrastat Jnl. Line"."Total Weight";
    "Intra - form Buffer"."Statistical Value" := "Intra - form Buffer"."Statistical Value" +
    "Intrastat Jnl. Line"."Statistical Value";
    "Intra - form Buffer".Quantity := "Intra - form Buffer".Quantity + SupplUnits;
    "Intra - form Buffer".MODIFY;
    END ELSE BEGIN
    "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
    "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode;
    "Intra - form Buffer".Quantity := SupplUnits;
    "Intra - form Buffer"."No." := 0;
    "Intra - form Buffer"."User ID" := USERID;
    "Intra - form Buffer".INSERT;
    END;

  3. レポート (593) で、イントラスタット Jnl ラインOnAfterGetRecordのトリガーのコードを次のように変更します。
    既存のコード 1
    ...     SupplUnits := "Intrastat Jnl. Line".Quantity;

    // Delete the following lines.
    {"Intra - form Buffer".RESET;
    IF "Intra - form Buffer".GET("Intrastat Jnl. Line"."VAT Registration No.",
    "Intrastat Jnl. Line"."Transaction Type", "Intrastat Jnl. Line"."Tariff No.",
    "Intrastat Jnl. Line"."Group Code", "Intrastat Jnl. Line"."Transport Method",
    "Intrastat Jnl. Line"."Transaction Specification", CountryOriginCode,
    "Intrastat Jnl. Line".Area,"Intrastat Jnl. Line"."Corrective entry")
    THEN BEGIN
    //"Intra - form Buffer".Amount := "Intra - form Buffer".Amount + "Intrastat Jnl. Line".Amount;//old line
    "Intra - form Buffer".Amount := "Intra - form Buffer".Amount + ROUND("Intrastat Jnl. Line".Amount,1);//new line
    "Intra - form Buffer"."Source Currency Amount" := "Intra - form Buffer"."Source Currency Amount" +
    "Intrastat Jnl. Line"."Source Currency Amount";
    "Intra - form Buffer"."Total Weight" := "Intra - form Buffer"."Total Weight" + "Intrastat Jnl. Line"."Total Weight";
    "Intra - form Buffer"."Statistical Value" := "Intra - form Buffer"."Statistical Value" +
    //"Intrastat Jnl. Line"."Statistical Value"; //old line
    ROUND("Intrastat Jnl. Line"."Statistical Value",1); //new line
    "Intra - form Buffer".Quantity := "Intra - form Buffer".Quantity + SupplUnits;
    "Intra - form Buffer".MODIFY;
    //TotalAmount += ABS(ROUND(Amount,1));//old line
    TotalAmount += ROUND(Amount,1); //new line
    END ELSE BEGIN
    "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
    "Intra - form Buffer".Amount := ROUND("Intra - form Buffer".Amount,1);//new line
    "Intra - form Buffer"."Statistical Value" := ROUND("Intra - form Buffer"."Statistical Value",1); //new line
    "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode;
    "Intra - form Buffer".Quantity := SupplUnits;
    "Intra - form Buffer"."User ID" := USERID;
    "Intra - form Buffer"."No." := 0;
    "Intra - form Buffer".INSERT;
    //TotalAmount += ABS(ROUND(Amount,1));//old line
    TotalAmount += ROUND(Amount,1); //new line
    TotalRecords += 1;
    END;}
    // End of the deleted lines.

    END ELSE BEGIN //Corrective E ntry
    IF STRLEN("Reference Period") <> 4 THEN
    ...
    置換用コード 1
    ...      SupplUnits := "Intrastat Jnl. Line".Quantity;
    END ELSE BEGIN //Corrective Entry
    IF STRLEN("Reference Period") <> 4 THEN
    ...
    既存のコード 2
    ...     CheckCorrectiveStatPeriod;

    // Delete the following lines.
    "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
    "Intra - form Buffer".Amount := ROUND("Intra - form Buffer".Amount,1);//new line
    "Intra - form Buffer"."Statistical Value" := ROUND("Intra - form Buffer"."Statistical Value",1);
    "Intra - form Buffer"."User ID" := USERID;
    "Intra - form Buffer".INSERT;
    TotalAmount += ROUND(Amount,1);
    TotalRecords += 1;
    OldReferencePeriod := "Reference Period";
    //END
    // End of the deleted lines.

    END;
    ...
    置換用コード 2
    ...    CheckCorrectiveStatPeriod;

    // Add the following lines.
    END;
    GroupIntraJnlLineIntoBuffer;
    // End of the added lines.

    END;
    ...
  4. レポート (593) で、 C と AL のグローバル変数で、メニュー上の表示] をクリックして、[関数] タブで次の関数を追加: GroupIntraJnlLineIntoBuffer。、コードを追加作成したGroupIntraJnlLineIntoBuffer関数で次のように。
    "Intra - form Buffer".RESET;IF "Intra - form Buffer".GET("Intrastat Jnl. Line"."VAT Registration No.",
    "Intrastat Jnl. Line"."Transaction Type", "Intrastat Jnl. Line"."Tariff No.",
    "Intrastat Jnl. Line"."Group Code", "Intrastat Jnl. Line"."Transport Method",
    "Intrastat Jnl. Line"."Transaction Specification", CountryOriginCode,
    "Intrastat Jnl. Line".Area,"Intrastat Jnl. Line"."Corrective entry",0,"Intrastat Jnl. Line"."Service Tariff No.")
    THEN BEGIN
    "Intra - form Buffer".Amount := "Intra - form Buffer".Amount + ROUND("Intrastat Jnl. Line".Amount,1);
    "Intra - form Buffer"."Source Currency Amount" := "Intra - form Buffer"."Source Currency Amount" +
    "Intrastat Jnl. Line"."Source Currency Amount";
    "Intra - form Buffer"."Total Weight" := "Intra - form Buffer"."Total Weight" + "Intrastat Jnl. Line"."Total Weight";
    "Intra - form Buffer"."Statistical Value" := "Intra - form Buffer"."Statistical Value" +
    ROUND("Intrastat Jnl. Line"."Statistical Value",1);
    "Intra - form Buffer".Quantity := "Intra - form Buffer".Quantity + SupplUnits;
    "Intra - form Buffer".MODIFY;
    TotalAmount +=ROUND("Intrastat Jnl. Line".Amount,1);
    END ELSE BEGIN
    "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
    "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode;
    "Intra - form Buffer".Amount := ROUND("Intra - form Buffer".Amount,1);
    "Intra - form Buffer"."Statistical Value" := ROUND("Intra - form Buffer"."Statistical Value",1);
    "Intra - form Buffer".Quantity := SupplUnits;
    "Intra - form Buffer"."User ID" := USERID;
    "Intra - form Buffer"."No." := 0;
    "Intra - form Buffer".INSERT;
    TotalAmount += ROUND("Intrastat Jnl. Line".Amount,1);
    TotalRecords += 1;
    END;


必要条件

この修正プログラムを適用するのにはインストールされている製品は次のいずれかが必要です。
  • イタリア語版の Microsoft Dynamics NAV 2009 サービス パック 1 (SP1)
  • Microsoft Dynamics NAV 2009 の R2 のイタリア語版
  • イタリア語版の Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)


アンインストール情報

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

状況


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

関連情報


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