この記事は、ドイツ語 (de) 言語ロケールの Microsoft Dynamics NAV に適用されます。
現象
ドイツ語バージョンの Microsoft Dynamics NAV でアーカイブされた販売注文をコピーするために販売注文で ドキュメントのコピー 機能を実行しようとすると、次のエラー メッセージが表示されます。
注
Prepmt。Amt. Inv. は、Sales Line Document Type='Type',Document No.='Number1',Line No.='Number2' で前払いする必要があります。
この問題は、次の製品で発生します。
- Microsoft Dynamics NAV 2009 R2 のドイツ語バージョン
- Microsoft Dynamics NAV 2009 Service Pack 1 (SP1) のドイツ語バージョン
- Microsoft Dynamics NAV 5.0 Service Pack 1 のドイツ語バージョン
解決策
修正プログラムの情報
サポートされている修正プログラムが Microsoft から入手できるようになりました。 ただし、この記事で説明されている問題を修正することのみを目的としています。 この特定の問題が発生しているシステムにのみ適用します。 この修正プログラムは、追加のテストを受け取る場合があります。 したがって、この問題の影響を大きく受けない場合は、次の Microsoft Dynamics NAV Service Pack またはこの修正プログラムを含む次の Microsoft Dynamics NAV バージョンを待機することをお勧めします。
注 特別なケースでは、Microsoft Dynamics および関連製品のテクニカル サポート プロフェッショナルが特定の更新プログラムによって問題が解決されると判断した場合、通常はサポート呼び出しに対して発生する料金が取り消されることがあります。 ただし、特定の更新プログラムの対象とならない追加の質問および問題については、通常のサポート料金が適用されます。
インストール情報
Microsoft は、明示または黙示の保証なしで、説明のみを目的としてプログラミング例を提供しています。 これには、商品性または特定の目的への適合性に関する暗黙の保証が含まれますが、これらに限定されません。 この記事では、デモンストレーションされているプログラミング言語と、プロシージャの作成とデバッグに使用されるツールについてよく理解していることを前提としています。 Microsoft サポート エンジニアは、特定のプロシージャの機能の説明を支援できます。 ただし、これらの例を変更して、特定の要件を満たすために追加の機能を提供したりプロシージャを構築したりすることはできません。
注 この修正プログラムをインストールする前に、すべての Microsoft Dynamics NAV クライアント ユーザーがシステムからログオフされていることを確認します。 これには、Microsoft Dynamics NAV Application Server (NAS) サービスが含まれます。 この修正プログラムを実装するときにログオンする唯一のクライアント ユーザーである必要があります。
この修正プログラムを実装するには、開発者ライセンスが必要です。
[Windows ログイン] ウィンドウまたは [データベース ログイン] ウィンドウのユーザー アカウントに "SUPER" ロール ID を割り当てることをお勧めします。 ユーザー アカウントに "SUPER" ロール ID を割り当てることができない場合は、ユーザー アカウントに次のアクセス許可があることを確認する必要があります。
- 変更するオブジェクトの [変更] アクセス許可。
- システム オブジェクト ID 5210 オブジェクトとシステム オブジェクト ID 9015 オブジェクトの Execute アクセス許可。
メモ データ修復を実行する必要がない限り、データ ストアに対する権限は必要ありません。
コードの変更
メモ 運用環境のコンピューターに修正プログラムを適用する前に、制御された環境でコード修正を常にテストします。
この問題を解決するには、次の手順を実行します。
Purch.-Post codeunit (90) の OnRun トリガーのコードを次のように変更します。
既存のコード... Ship := TempReturn; COMMIT; END; // Delete the following lines. IF Receive OR Ship THEN ArchiveUnpostedOrder; // has a COMMIT; // End of the deleted lines. IF (Status = Status::Open) OR (Status = Status::"Pending Prepayment") THEN BEGIN TempInvoice := Invoice; TempRcpt := Receive; TempReturn := Ship; CODEUNIT.RUN(CODEUNIT::"Release Purchase Document",PurchHeader); Status := Status::Open; Invoice := TempInvoice; Receive := TempRcpt; Ship := TempReturn; MODIFY; COMMIT; Status := Status::Released; END; IF (PurchHeader."Buy-from IC Partner Code" <> '') AND (ICPartner.GET(PurchHeader."Buy-from IC Partner Code")) THEN ICPartner.TESTFIELD(Blocked,FALSE); ...置換コード
... Ship := TempReturn; COMMIT; END; IF (Status = Status::Open) OR (Status = Status::"Pending Prepayment") THEN BEGIN TempInvoice := Invoice; TempRcpt := Receive; TempReturn := Ship; CODEUNIT.RUN(CODEUNIT::"Release Purchase Document",PurchHeader); Status := Status::Open; Invoice := TempInvoice; Receive := TempRcpt; Ship := TempReturn; MODIFY; COMMIT; Status := Status::Released; END; // Add the following lines. IF Receive OR Ship THEN ArchiveUnpostedOrder; // has a COMMIT; // End of the added lines. IF (PurchHeader."Buy-from IC Partner Code" <> '') AND (ICPartner.GET(PurchHeader."Buy-from IC Partner Code")) THEN ICPartner.TESTFIELD(Blocked,FALSE); ...Copy Document Mgt. codeunit (6620) の CopyArchSalesLine 関数のコードを次のように変更します。
既存のコード... IF (FromArchSalesLine.Type = FromArchSalesLine.Type::" ") AND (FromArchSalesLine."No." <> '') THEN ToSalesLine.VALIDATE("No.",FromArchSalesLine."No."); END ELSE BEGIN ToSalesLine."Quantity Shipped" := 0; ToSalesLine."Qty. Shipped (Base)" := 0; ToSalesLine."Return Qty. Received" := 0; ...置換コード
... IF (FromArchSalesLine.Type = FromArchSalesLine.Type::" ") AND (FromArchSalesLine."No." <> '') THEN ToSalesLine.VALIDATE("No.",FromArchSalesLine."No."); END ELSE BEGIN // Add the following lines. IF ToSalesLine."Document Type" <> ToSalesLine."Document Type"::Order THEN BEGIN ToSalesLine."Prepayment %" := 0; ToSalesLine."Prepayment VAT %" := 0; ToSalesLine."Prepmt. VAT Calc. Type" := 0; ToSalesLine."Prepayment VAT Identifier" := ''; ToSalesLine."Prepayment VAT %" := 0; ToSalesLine."Prepayment Tax Group Code" := ''; ToSalesLine."Prepmt. Line Amount" := 0; ToSalesLine."Prepmt. Amt. Incl. VAT" := 0; END; ToSalesLine."Prepmt. Amt. Inv." := 0; ToSalesLine."Prepayment Amount" := 0; ToSalesLine."Prepmt. VAT Base Amt." := 0; ToSalesLine."Prepmt Amt to Deduct" := 0; ToSalesLine."Prepmt Amt Deducted" := 0; ToSalesLine."Prepmt. Amount Inv. Incl. VAT" := 0; ToSalesLine."Prepayment VAT Difference" := 0; ToSalesLine."Prepmt VAT Diff. to Deduct" := 0; ToSalesLine."Prepmt VAT Diff. Deducted" := 0; // End of the added lines. ToSalesLine."Quantity Shipped" := 0; ToSalesLine."Qty. Shipped (Base)" := 0; ToSalesLine."Return Qty. Received" := 0; ...Copy Document Mgt. codeunit (6620) の CopyArchPurchLine 関数のコードを次のように変更します。
既存のコード... IF (FromArchPurchLine.Type = FromArchPurchLine.Type::" ") AND (FromArchPurchLine."No." <> '') THEN ToPurchLine.VALIDATE("No.",FromArchPurchLine."No."); END ELSE BEGIN ToPurchLine."Quantity Received" := 0; ToPurchLine."Qty. Received (Base)" := 0; ToPurchLine."Return Qty. Shipped" := 0; ...置換コード
... IF (FromArchPurchLine.Type = FromArchPurchLine.Type::" ") AND (FromArchPurchLine."No." <> '') THEN ToPurchLine.VALIDATE("No.",FromArchPurchLine."No."); END ELSE BEGIN // Add the following lines. IF ToPurchLine."Document Type" <> ToPurchLine."Document Type"::Order THEN BEGIN ToPurchLine."Prepayment %" := 0; ToPurchLine."Prepayment VAT %" := 0; ToPurchLine."Prepmt. VAT Calc. Type" := 0; ToPurchLine."Prepayment VAT Identifier" := ''; ToPurchLine."Prepayment VAT %" := 0; ToPurchLine."Prepayment Tax Group Code" := ''; ToPurchLine."Prepmt. Line Amount" := 0; ToPurchLine."Prepmt. Amt. Incl. VAT" := 0; END; ToPurchLine."Prepmt. Amt. Inv." := 0; ToPurchLine."Prepayment Amount" := 0; ToPurchLine."Prepmt. VAT Base Amt." := 0; ToPurchLine."Prepmt Amt to Deduct" := 0; ToPurchLine."Prepmt Amt Deducted" := 0; ToPurchLine."Prepmt. Amount Inv. Incl. VAT" := 0; ToPurchLine."Prepayment VAT Difference" := 0; ToPurchLine."Prepmt VAT Diff. to Deduct" := 0; ToPurchLine."Prepmt VAT Diff. Deducted" := 0; // End of the added lines. ToPurchLine."Quantity Received" := 0; ToPurchLine."Qty. Received (Base)" := 0; ToPurchLine."Return Qty. Shipped" := 0; ...
前提条件
この修正プログラムを適用するには、次のいずれかの製品がインストールされている必要があります。
- Microsoft Dynamics NAV 2009 R2 のドイツ語バージョン
- Microsoft Dynamics NAV 2009 Service Pack 1 のドイツ語バージョン
- Microsoft Dynamics NAV 5.0 Service Pack 1 のドイツ語バージョン
アンインストール情報
この修正プログラムを削除することはできません。
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
注: この資料は、"迅速な公開" を目的としてマイクロソフト サポート組織により直接作成されたものです。 ここに含まれる情報は、新しい問題に対応するため、そのままの状態で提供されます。 情報を迅速に公開するため、この資料には誤植などが含まれる可能性があり、また、予告なく改訂される場合があります。 その他の注意事項については、使用条件を参照してください。