RAPID PUBLISHING の資料には、マイクロソフト サポート組織内からの直接の情報が記載されています。 ここに含まれる情報は、新しいトピックまたは一意のトピックに応答して作成されるか、または他のナレッジ ベース情報を補完することを目的としています。
この記事は、次の国と言語ロケールの Microsoft Dynamics NAV に適用されます。
英語 (カナダ) (en-ca)
英語 (米国) (en-us)
スペイン語 (メキシコ) (es-mx)
フランス語 (カナダ) (fr-ca)
現象
Role-Toiled クライアント データベースを使用する Microsoft Dynamics NAV 2009 の北米バージョンでは、売上請求書一覧またはレコードの売上クレジット メモ リストで [ 統計 ] をクリックすると、フォーム (10038) ではなくフォーム (160) が開きます。 したがって、税金情報と統計情報の合計は不正確です。
この問題は、売上請求書または販売クレジット メモで [統計 ] をクリックした場合には発生しません。
解決策
修正プログラムの情報
サポートされている修正プログラムが Microsoft から入手できるようになりました。 ただし、この記事で説明されている問題を修正することのみを目的としています。 この特定の問題が発生しているシステムにのみ適用します。 この修正プログラムは、追加のテストを受け取る場合があります。 したがって、この問題の影響を大きく受けない場合は、次の Microsoft Dynamics NAV Service Pack またはこの修正プログラムを含む次のバージョンを待つことをおすすめします。
注 特別なケースでは、Microsoft Dynamics および関連製品のテクニカル サポート プロフェッショナルが特定の更新プログラムによって問題が解決されると判断した場合、通常はサポート呼び出しに対して発生する料金が取り消されることがあります。 ただし、特定の更新プログラムの対象とならない追加の質問および問題については、通常のサポート料金が適用されます。
インストール情報
Microsoft は、明示または黙示の保証なしで、説明のみを目的としてプログラミング例を提供しています。 これには、商品性または特定の目的への適合性に関する暗黙の保証が含まれますが、これらに限定されません。 この記事では、デモンストレーションされているプログラミング言語と、プロシージャの作成とデバッグに使用されるツールについてよく理解していることを前提としています。 マイクロソフト サポート窓口では、特定のプロシージャの機能説明に関するご質問に対して支援いたしますが、本例を特定の目的を満たすために機能を追加したり、プロシージャを構築することは行いません。
注 この修正プログラムをインストールする前に、すべての Microsoft Navision クライアント ユーザーがシステムからログオフされていることを確認します。 これには、Microsoft Navision Application Services (NAS) クライアント ユーザーが含まれます。 この修正プログラムを実装するときにログオンする唯一のクライアント ユーザーである必要があります。
この修正プログラムを実装するには、開発者ライセンスが必要です。
[Windows ログイン] ウィンドウまたは [データベース ログイン] ウィンドウのユーザー アカウントに "SUPER" ロール ID を割り当てることをお勧めします。 ユーザー アカウントに "SUPER" ロール ID を割り当てることができない場合は、ユーザー アカウントに次のアクセス許可があることを確認する必要があります。
- 変更するオブジェクトの [変更] アクセス許可。
- システム オブジェクト ID 5210 オブジェクトとシステム オブジェクト ID 9015 オブジェクトの Execute アクセス許可。
メモ データ修復を実行する必要がない限り、データ ストアに対する権限は必要ありません。
コードの変更
メモ 運用環境のコンピューターに修正プログラムを適用する前に、制御された環境でコード修正を常にテストします。
この修正プログラムをインストールするには、次のオブジェクトのコードを変更します。
"一括発注書" フォーム (509)
"Sales Quotes" フォーム (9300)
"Sales Invoice List" フォーム (9301)
"売上クレジット メモ" フォーム (9302)
"Sales Blanket Orders" フォーム (9303)
"販売注文一覧" フォーム (9304)
"販売注文一覧" フォーム (9305)
"購入見積もり" フォーム (9306)
"発注書一覧" フォーム (9307)
"請求書の購入" フォーム (9308)
"クレジットメモの購入" フォーム (9309)
"購買包括注文" フォーム (9310)
"購買返品注文一覧" フォーム (9311)
"サービス見積もり" フォーム (9317)
"サービス見積もり" フォーム (9318)
"サービス請求書" フォーム (9319)
"サービスクレジットメモ" フォーム (9320)
手順は次のとおりです。
"一括購入注文" フォーム (509) で OnPush トリガーのコードを次のように変更します。
既存のコードCalcInvDiscForHeader; COMMIT; // Delete the following line. FORM.RUNMODAL(FORM::"Purchase Order Statistics",Rec); IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Purchase Order Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Purchase Order Stats.",Rec)置換コード
CalcInvDiscForHeader; COMMIT; IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Purchase Order Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Purchase Order Stats.",Rec)"Sales Quotes" フォーム (9300) で OnPush 関数のコードを次のように変更します。
既存のコードCalcInvDiscForHeader; COMMIT; // Delete the following line. FORM.RUNMODAL(FORM::"Sales Statistics",Rec);置換コード
CalcInvDiscForHeader; COMMIT; // Add the following lines. IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Sales Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Sales Stats.",Rec); // The end of the lines."Sales Invoice List" フォーム (9301) で OnPush 関数のコードを次のように変更します。
既存のコードCalcInvDiscForHeader; COMMIT; // Delete the following line. FORM.RUNMODAL(FORM::"Sales Statistics",Rec);置換コード
CalcInvDiscForHeader; COMMIT; //Add the following lines. IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Sales Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Sales Order Stats.",Rec) // The end of the lines."Sales Credit Memos" フォーム (9302) で OnPush 関数のコードを次のように変更します。
既存のコードCalcInvDiscForHeader; COMMIT; // Delete the following line. FORM.RUNMODAL(FORM::"Sales Statistics",Rec);置換コード
CalcInvDiscForHeader; COMMIT; //Add the followingl ines. IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Sales Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Sales Order Stats.",Rec) // The end of the lines."Sales Blanket Orders" フォーム (9303) で OnPush 関数のコードを次のように変更します。
既存のコードCalcInvDiscForHeader; COMMIT; // Delete the following line. FORM.RUNMODAL(FORM::"Sales Statistics",Rec);置換コード
CalcInvDiscForHeader; COMMIT; // Add the following lines. IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Sales Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Sales Order Stats.",Rec) // The end of the lines."Sales Return Order List" フォーム (9304) で OnPush 関数のコードを次のように変更します。
既存のコードCalcInvDiscForHeader; COMMIT; // Delete the following line. FORM.RUNMODAL(FORM::"Sales Statistics",Rec);置換コード
CalcInvDiscForHeader; COMMIT; // Add the following lines. IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Sales Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Sales Order Stats.",Rec) // The end of the lines."販売注文一覧" フォーム (9305) の OnPush 関数のコードを次のように変更します。
既存のコードCalcInvDiscForHeader; COMMIT; // Delete the following line. FORM.RUNMODAL(FORM::"Sales Statistics",Rec);置換コード
CalcInvDiscForHeader; COMMIT; // Add the following lines. IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Sales Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Sales Order Stats.",Rec) // The end of the lines."見積もりの購入" フォーム (9306) で OnPush 関数のコードを次のように変更します。
既存のコードCalcInvDiscForHeader; COMMIT; // Delete the following line. FORM.RUNMODAL(FORM::"Purchase Statistics",Rec);置換コード
CalcInvDiscForHeader; COMMIT; // Add the following lines. IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Purchase Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Purchase Stats.",Rec) // The end of the lines."発注書一覧" フォーム (9307) で OnPush 関数のコードを次のように変更します。
既存のコードCalcInvDiscForHeader; COMMIT; // Delete the following line. FORM.RUNMODAL(FORM::"Purchase Statistics",Rec);置換コード
CalcInvDiscForHeader; COMMIT; // Add the following lines. IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Purchase Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Purchase Stats.",Rec) // The end of the lines."請求書の購入" フォーム (9308) で OnPush 関数のコードを次のように変更します。
既存のコードCalcInvDiscForHeader; COMMIT; // Delete the following line. FORM.RUNMODAL(FORM::"Purchase Statistics",Rec);置換コード
CalcInvDiscForHeader; COMMIT; // Add the following lines. IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Purchase Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Purchase Stats.",Rec) // The end of the lines."クレジット メモの購入" フォーム (9309) で OnPush 関数のコードを次のように変更します。
既存のコードCalcInvDiscForHeader; COMMIT; // Delete the following line. FORM.RUNMODAL(FORM::"Purchase Statistics",Rec);置換コード
CalcInvDiscForHeader; COMMIT; // Add the following lines. IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Purchase Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Purchase Stats.",Rec) // The end of the lines."一括購入注文" フォーム (9310) で OnPush 関数のコードを次のように変更します。
既存のコードCalcInvDiscForHeader; COMMIT; // Delete the following line. FORM.RUNMODAL(FORM::"Purchase Statistics",Rec);置換コード
CalcInvDiscForHeader; COMMIT; // Add the following lines. IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Purchase Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Purchase Stats.",Rec) // The end of the lines."購買返品注文一覧" フォーム (9311) の OnPush 関数のコードを次のように変更します。
既存のコードCalcInvDiscForHeader; COMMIT; // Delete the following line. FORM.RUNMODAL(FORM::"Purchase Statistics",Rec);置換コード
CalcInvDiscForHeader; COMMIT; // Add the following lines. IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Purchase Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Purchase Stats.",Rec) // The end of the lines."Service Quotes" フォーム (9317) で OnPush 関数のコードを次のように変更します。
既存のコードCalcInvDiscForHeader; COMMIT; // Delete the following line. FORM.RUNMODAL(FORM::"Service Statistics",Rec);置換コード
CalcInvDiscForHeader; COMMIT; // Add the following lines. IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Service Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Service Stats.",Rec) // The end of the lines."Service Quotes" フォーム (9318) で OnPush 関数のコードを次のように変更します。
既存のコードSalesSetup.GET; IF SalesSetup."Calc. Inv. Discount" THEN BEGIN ServLine.RESET; ServLine.SETRANGE("Document Type","Document Type"); ServLine.SETRANGE("Document No.","No."); IF ServLine.FIND('-') THEN BEGIN ServLines.SETTABLEVIEW(ServLine); ServLines.CalcInvDisc(ServLine); COMMIT END; END; // Delete the following line. FORM.RUNMODAL(FORM::"Service Order Statistics",Rec);置換コード
SalesSetup.GET; IF SalesSetup."Calc. Inv. Discount" THEN BEGIN ServLine.RESET; ServLine.SETRANGE("Document Type","Document Type"); ServLine.SETRANGE("Document No.","No."); IF ServLine.FIND('-') THEN BEGIN ServLines.SETTABLEVIEW(ServLine); ServLines.CalcInvDisc(ServLine); COMMIT END; END; // Add the following lines. IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Service Order Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Service Order Stats.",Rec) // The end of the lines."サービス請求書" フォーム (9319) の OnPush 関数のコードを次のように変更します。
既存のコードCalcInvDiscForHeader; COMMIT; // Delete the following line. FORM.RUNMODAL(FORM::"Service Statistics",Rec);置換コード
CalcInvDiscForHeader; COMMIT; // Add the following lines. IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Service Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Service Stats.",Rec) // The end of the lines."Service Credit Memos" フォーム (9320) で OnPush 関数のコードを次のように変更します。
既存のコードCalcInvDiscForHeader; COMMIT; // Delete the following line. FORM.RUNMODAL(FORM::"Service Statistics",Rec);置換コード
CalcInvDiscForHeader; COMMIT; // Add the following lines. IF "Tax Area Code" = '' THEN FORM.RUNMODAL(FORM::"Service Statistics",Rec) ELSE FORM.RUNMODAL(FORM::"Service Stats.",Rec) // The end of the lines.
前提条件
この修正プログラムを適用するには、北米バージョンの Microsoft Dynamics NAV 2009 Service Pack 1 がインストールされている必要があります。
アンインストール情報
この修正プログラムを削除することはできません。
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
MICROSOFT および/またはそのサプライヤーは、この WEB サイト (「素材」) に掲載されているドキュメントおよび関連するグラフィックスに含まれる情報の適合性、信頼性、正確性について、いかなる目的でも表明または保証しません。
THE MATERIALS MAY INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS AND MAY BE REVISED AT ANY TIME WITHOUT NOTICE. 適用法によって許容される最大限の範囲において、MICROSOFT および/またはそのサプライヤーは、明示、黙示、または法令に基づくすべての表明、保証、および条件 (タイトルの表明、保証、または条件、非侵害、満足のいく条件または品質、商品性および特定の目的への適合性を含むがこれに限定されない)を、素材に関して否認し、除外します。