オーストリア版 Microsoft Dynamics NAV 2009 の RoleTailored クライアント (RTC) に最新の VAT 更新プログラムをインストールした後、VAT 明細書レポートを印刷するための [オプション] タブがありません

適用先
Dynamics NAV 2009

この記事は、オーストリア語 (at) 言語ロケールの Microsoft Dynamics NAV に適用されます。

現象

オーストリアバージョンの Microsoft Dynamics NAV 2009 R2 と Microsoft Dynamics NAV 2009 Service Pack 1 (SP1) の最新の VAT 更新プログラムをインストールすることを想定しています。 RoleTailored クライアント (RTC) で VAT 明細書レポート (11110) を印刷すると、[VAT 明細書の編集] ダイアログ ボックスの [オプション] タブが見つからないので、VAT 明細書レポートを設定することはできません。 ただし、クラシック クライアントでは、レポートを期待どおりに印刷できます。 最新の VAT 更新プログラムの詳細については、次のいずれかの Microsoft Web サイトを参照してください。

パートナー:

Microsoft Dynamics NAV 2009 SP1 の VAT ステートメント レイアウト変更 2012 - オーストリア 顧客:

Microsoft Dynamics NAV 2009 SP1 の VAT ステートメント レイアウト変更 2012 - オーストリア

解決策

修正プログラムの情報

サポートされている修正プログラムが 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 オブジェクトの Execute アクセス許可。

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

コードの変更

メモ 運用環境のコンピューターに修正プログラムを適用する前に、制御された環境でコード修正を常にテストします。
この問題を解決するには、VAT 明細書レポート (11110) のコードを変更します。 手順は次のとおりです。

  1. 要求フォームのコードを次のように変更します。
    既存のコード

    ...
    {
    
    // Delete the following lines.
    }
    CONTROLS
    {
    // End of the deleted lines.
    
    }
    ...
    

    置換コード

    ...
    {
    
    // Add the following lines.
     SaveValues=Yes;
     OnInit=BEGIN
     XMLFilenameControlVisible := TRUE;
     FDFFilenameControlVisible := TRUE;
     END;
    
     OnOpenPage=BEGIN
     CLEAR(NumberPar6Abs1);
    
     IF (Startingdate <> 0D) AND (Endingdate <> 0D) THEN BEGIN
     IF (Startingdate = CALCDATE('<-CQ>',Startingdate)) AND (Endingdate = CALCDATE('<+CQ>',Startingdate)) THEN
     PeriodType := PeriodType::quarter
     ELSE IF (Startingdate = CALCDATE('<-CM>',Startingdate)) AND (Endingdate = CALCDATE('<+CM>',Startingdate)) THEN
     PeriodType := PeriodType::month
     ELSE
     PeriodType := PeriodType::"defined period";
     END ELSE
     PeriodType := PeriodType::"defined period";
    
     FDFFilenameControlVisible := NOT ISSERVICETIER;
     XMLFilenameControlVisible := NOT ISSERVICETIER;
     END;
      }
     CONTROLS
     {
     { 1900000001;0;Container;
     ContainerType=ContentArea }
    
     { 1900000002;1;Group ;
     CaptionML=ENU=Options }
    
     { 1160010;2;Field ;
     CaptionML=[ENU=Starting Date;
     DEA=Startdatum];
     SourceExpr=Startingdate;
     OnValidate=VAR
     RefDate@1160000 : Date;
     BEGIN
     CLEAR(RefDate);
     IF Startingdate <> 0D THEN
     RefDate := Startingdate
     ELSE IF Endingdate <> 0D THEN
     RefDate := Endingdate;
     IF RefDate <> 0D THEN BEGIN
     IF PeriodType = PeriodType::quarter THEN BEGIN
     Startingdate := CALCDATE('<-CQ>',RefDate);
     Endingdate := CALCDATE('<+CQ>',RefDate);
     END ELSE IF PeriodType = PeriodType::month THEN BEGIN
     Startingdate := CALCDATE('<-CM>',RefDate);
     Endingdate := CALCDATE('<+CM>',RefDate);
     END ELSE BEGIN
     IF Endingdate = 0D THEN
     Endingdate := RefDate;
     IF Startingdate = 0D THEN
     Startingdate := RefDate;
     END;
     END;
     END;
     }
    
     { 1160012;2;Field ;
     CaptionML=[ENU=Ending Date;
     DEA=Enddatum];
     SourceExpr=Endingdate;
     OnValidate=VAR
     RefDate@1160000 : Date;
     BEGIN
     CLEAR(RefDate);
     IF Endingdate <> 0D THEN
     RefDate := Endingdate
     ELSE IF Startingdate <> 0D THEN
     RefDate := Startingdate;
     IF RefDate <> 0D THEN BEGIN
     IF PeriodType = PeriodType::quarter THEN BEGIN
     Startingdate := CALCDATE('<-CQ>',RefDate);
     Endingdate := CALCDATE('<+CQ>',RefDate);
     END ELSE IF PeriodType = PeriodType::month THEN BEGIN
     Startingdate := CALCDATE('<-CM>',RefDate);
     Endingdate := CALCDATE('<+CM>',RefDate);
     END ELSE BEGIN
     IF Startingdate = 0D THEN
     Startingdate := RefDate;
     IF Endingdate = 0D THEN
     Endingdate := RefDate;
     END;
     END;
     END;
     }
    
     { 8 ;2 ;Field ;
     CaptionML=[ENU=Include VAT Entries;
     DEA=MwSt.-Posten einschlieáen];
     OptionCaptionML=[ENU=Open,Closed,Open and Closed;
     DEA=Offen,Geschlossen,Offen und geschlossen];
     SourceExpr=Selection }
    
     { 4 ;2 ;Field ;
     CaptionML=[ENU=Include VAT Entries;
     DEA=MwSt.-Posten einschlieáen];
     OptionCaptionML=[ENU=Before and Within Period,Within Period;
     DEA=Vor und innerhalb Periode,Innerhalb Periode];
     SourceExpr=PeriodSelection }
    
     { 11 ;2 ;Field ;
     CaptionML=[ENU=Reporting Type;
     DEA=Berichtstyp];
     OptionCaptionML=[ENU=Quarter,Month,Defined period;
     DEA=Quartal,Monat,Definierte Periode];
     SourceExpr=PeriodType;
     OnValidate=BEGIN
     IF PeriodType = PeriodType::month THEN
     monthPeriodTypeOnValidate;
     IF PeriodType = PeriodType::quarter THEN
     quarterPeriodTypeOnValidate;
     END;
     }
    
     { 1160007;2;Field ;
     CaptionML=[ENU=Check Positions;
     DEA=Positionen prfen];
     SourceExpr=CheckPositions }
    
     { 1 ;2 ;Field ;
     CaptionML=[ENU=Round to Whole Numbers;
     DEA=Auf ganze Zahlen runden];
     SourceExpr=PrintInWholeNumbers }
    
     { 1160015;2;Field ;
     Name=PDFFilenameControl;
     CaptionML=[ENU=PDF File Name;
     DEA=PDF-Dateiname];
     SourceExpr=PDFFileName;
     OnAssistEdit=BEGIN
     PDFFileName := CommonDlgMgt.OpenFile(Text1160052,PDFFileName,4,Text1160053,0);
     END;
     }
    
     { 1160017;2;Field ;
     Name=FDFFilenameControl;
     CaptionML=[ENU=FDF File Name;
     DEA=FDF-Dateiname];
     SourceExpr=FDFFileName;
     Visible=FDFFilenameControlVisible;
     OnAssistEdit=BEGIN
     FDFFileName := CommonDlgMgt.OpenFile(Text1160054,FDFFileName,4,Text1160055,1);
     END;
     }
    
     { 1160001;2;Field ;
     Name=XMLFilenameControl;
     CaptionML=[ENU=XML File Name;
     DEA=XML-Dateiname];
     SourceExpr=XMLFileName;
     Visible=XMLFilenameControlVisible;
     OnAssistEdit=BEGIN
     XMLFileName := CommonDlgMgt.OpenFile(Text1160056,XMLFileName,4,Text1160057,1);
     END;
     }
    
     { 1160003;2;Field ;
     CaptionML=[ENU=Surplus Used to Pay Dues;
     DEA=Fr Zahlung von Verbindlichkeiten genutzter šberschuss];
     SourceExpr=UseARE }
    
     { 1160005;2;Field ;
     CaptionML=[ENU=Additional Invoices sent via Mail;
     DEA=Weitere per Post geschickte Rechnungen];
     SourceExpr=UseREPO }
    
     { 1160000;2;Field ;
     CaptionML=[ENU=Number õ6 Abs. 1;
     DEA=Nummer õ 6 Abs. 1];
     Numeric=Yes;
     BlankZero=Yes;
     SourceExpr=NumberPar6Abs1;
     MinValue=0;
     MaxValue=99 }
    // End of the added lines.
    
    }
    ...
    
  2. グローバル変数を追加し、次のように変数を指定します。

    • 名前: FDFFilenameControlVisible
    • DataType: ブール値
    • サブタイプ: INDATASET
  3. グローバル変数を追加し、次のように変数を指定します。

    • 名前: XMLFilenameControlVisible
    • DataType: ブール値
    • サブタイプ: INDATASET
  4. quarterPeriodTypeOnValidatefunction のコードを次のように変更します。
    既存のコード

    ...
    BEGIN
    ...
    
    

    置換コード

    ...
    
    // Add the following lines.
    LOCAL PROCEDURE quarterPeriodTypeOnValidate@19029369();
    BEGIN
     IF Startingdate <> 0D THEN
     IF (Startingdate <> CALCDATE('<-CQ>',Startingdate)) OR (Endingdate <> CALCDATE('<+CQ>',Startingdate)) THEN
     IF CONFIRM(Text1160061, TRUE) THEN BEGIN
     Startingdate := CALCDATE('<-CQ>',Startingdate);
     Endingdate := CALCDATE('<+CQ>',Startingdate);
     END ELSE
     ERROR('');
     END;
    
     LOCAL PROCEDURE monthPeriodTypeOnValidate@19063435();
     BEGIN
     IF Startingdate <> 0D THEN
     IF (Startingdate <> CALCDATE('<-CM>',Startingdate)) OR (Endingdate <> CALCDATE('<+CM>',Startingdate)) THEN
     IF CONFIRM(Text1160061, TRUE) THEN BEGIN
     Startingdate := CALCDATE('<-CM>',Startingdate);
     Endingdate := CALCDATE('<+CM>',Startingdate);
     END ELSE
     ERROR('');
     END;
    // End of the added lines. 
    
    BEGIN
    ...
    

前提条件

この修正プログラムを適用するには、次のいずれかの製品がインストールされている必要があります。

  • Microsoft Dynamics NAV 2009 R2 のオーストリア版
  • Microsoft Dynamics NAV 2009 Service Pack 1 のオーストリアバージョン

アンインストール情報

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

状態

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

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