この資料は、(言語のロケールで)、インドは、Microsoft Dynamics NAV に適用されます。
現象
インドのバージョンの Microsoft Dynamics NAV 2009 サービス パック 1 (SP1) で発注書の場合は、部分的な返品荷物を転記することを想定しています。返す出荷明細行の取得関数を使用して作成された購買クレジット メモを転記した後、RG 23 D エントリの残りの数量が適切ではないことがわかります。
解決策
修正プログラムの情報
サポートされている修正プログラムはマイクロソフトから現在入手可能です。ただし、この資料に記載されている問題を解決するためのものはのみ。この特定の問題が発生したシステムにのみ適用してください。この修正プログラムは、今後さらにテストを行うことがあります。この問題で深刻な影響を受けていない場合は、次の Microsoft Dynamics NAV 2009 サービス パックまたは修正プログラムを含む次の Microsoft Dynamics NAV バージョン待つことを勧めします。
注: かかる料金が免除されるテクニカル サポート担当者 Microsoft Dynamics および関連製品のことは、通常は特別な場合は、特定の更新プログラムは、問題を解決するにを決定します。追加の質問および問題の特定のアップデートの対象にはなりませんが、通常のサポート料金が適用されます。
インストール情報
マイクロソフトでは解説することのみを目的としてプログラミング例を提供しています。暗示あるいは明示していることに対しての保証はしておりません。ここで言う保証とは、特定の目的に対する商品性や適合性の暗示的保証を含んでいますが、それに限定されるわけではありません。この資料では、例示されているプログラミング言語およびプロシージャの作成やデバッグに使用するツールにお客様が精通していることを前提としています。マイクロソフトのサポート エンジニアは、特定のプロシージャの機能を説明することができますが、機能の追加またはお客様固有の要件を満たすようにプロシージャを作成するこれらの例は変更されません。
注: この修正プログラムをインストールする前に、Microsoft Navision のすべてのクライアント ユーザーがシステムの電源を記録することを確認します。これには、Microsoft Navision アプリケーション サービス (NAS) クライアントのユーザーが含まれます。この修正プログラムを実装すると、ログオンしている唯一のクライアント ユーザーが必要です。 この修正プログラムを実装するには、開発者用のライセンスが必要です。 ユーザー アカウントまたはデータベース ログイン ウィンドウに Windows のログイン ウィンドウにある「スーパー」ロール id を割り当てられていることをお勧めします。ユーザー アカウントには、「スーパー」ロール ID を割り当てることができません、する場合は、ユーザー アカウントが次のアクセス許可を持っているを確認する必要があります。-
変更するオブジェクトの変更のアクセス許可。
-
システム オブジェクトの ID 5210オブジェクトおよびシステム オブジェクトの ID 9015オブジェクトの実行が許可されます。
注: データの修復を実行する必要があるない限り、データ ストアへの権限を持っている必要はありません。
コードの変更
注: 常にテスト コードを修正、管理された環境で適用する前に、運用コンピューターに修正プログラムします。
この問題を解決するには、次の手順を実行します。-
販売明細行のテーブル (37) では、次のグローバル変数を追加します。
-
名: ExecuteExcise
-
データ型: ブール値
-
-
販売明細行のテーブル (37) のCalculateStructures関数では、次の変数を追加します。
-
名: DetailRG23D
-
データ型: レコードを示します。16533
... END;
UNTIL StrOrderDetails.NEXT = 0; END; SalesLine.MODIFY; UNTIL SalesLine.NEXT = 0; // Add the following l ines. IF NOT ExecuteExcise THEN BEGIN DetailRG23D.RESET; DetailRG23D.SETRANGE("Document Type","Document Type"); DetailRG23D.SETRANGE("Order No.","No."); DetailRG23D.SETRANGE("Document No.",''); DetailRG23D.DELETEALL; END; // End of the added lines. ... -
-
販売明細行のテーブル (37) のCheckAvailableQtyForReturn関数では、次の変数を追加します。
-
名: RG23D2
-
データ型: レコードを示します。16537
... IF RG23D.FINDSET THEN
REPEAT // Delete the following line. QtyAllocated += ABS(RG23D.Quantity); // End of the deleted line. // Add the following lines. RG23D2.GET(RG23D."Ref. Entry No."); RG23D2.CALCFIELDS("Remaining Quantity"); QtyAllocated += ABS(RG23D2.Quantity - RG23D2."Remaining Quantity"); // End of the added lines. UNTIL RG23D.NEXT = 0; ... -
-
販売明細行のテーブル (37) では、 SetExecuteExcise関数を作成します。次のパラメーターを追加します。
-
名: ExecuteExcise2
-
データ型: ブール値
ExecuteExcise := ExecuteExcise2;
-
-
購買注文明細行のテーブル (39) では、次のグローバル変数を追加します。
-
名: ExecuteExcise
-
データ型: ブール値
-
-
(39)購買注文明細行のテーブル内のCalculateStructures関数では、次の変数を追加します。
-
名: DetailRG23D
-
データ型: レコードを示します。16533
... END;
UNTIL StrOrderDetails.NEXT = 0; END; PurchLine.MODIFY; UNTIL PurchLine.NEXT = 0; // Add the following lines. IF NOT ExecuteExcise THEN BEGIN DetailRG23D.RESET; DetailRG23D.SETRANGE("Document Type","Document Type"); DetailRG23D.SETRANGE("Order No.","No."); DetailRG23D.SETRANGE("Document No.",''); DetailRG23D.DELETEALL; END; // End of the added lines. END; END; END; ... -
-
購買注文明細行のテーブル (39) では、 SetExecuteExcise関数を作成します。次のパラメーターを追加します。
-
名: ExecuteExcise2
-
データ型: ブール値
ExecuteExcise := ExecuteExcise2;
-
-
コード内のプロパティを変更します、販売 - 投稿codeunit (80) を次のようにします。
... SalesLine.GetSalesPriceExclusiveTaxes(SalesHeader);
SalesLine.UpdateSalesLinesPIT(SalesHeader); END; IF Structure <> '' THEN BEGIN // Add the following lines. SalesLine.SetExecuteExcise( ("Document Type" IN ["Document Type"::"Credit Memo","Document Type"::Invoice]) OR (("Document Type" IN ["Document Type"::"Return Order", "Document Type"::Order]) AND Invoice)); // End of the added lines. SalesLine.CalculateStructures(SalesHeader); SalesLine.AdjustStructureAmounts(SalesHeader); SalesLine.UpdateSalesLines(SalesHeader); CheckVATSettled(SalesHeader); END; ... -
コード内のプロパティを変更します、購買。-投稿codeunit (90) を次のようにします。
... TESTFIELD("Document Date");
IF GenJnlCheckLine.DateNotAllowed("Posting Date") THEN FIELDERROR("Posting Date",Text045); IF Structure <> '' THEN BEGIN // Add the following lines. PurchLine.SetExecuteExcise(("Document Type" = "Document Type"::"Credit Memo") OR (("Document Type" = "Document Type"::"Return Order") AND Invoice)); // End of the added lines. PurchLine.CalculateStructures(PurchHeader); COMMIT; CheckVATSettled; PurchLine.AdjustStructureAmounts(PurchHeader); PurchLine.UpdatePurchLines(PurchHeader); ...
必要条件
インドのバージョンの Microsoft Dynamics NAV 2009 サービス パック 1 (SP1) この修正プログラムを適用するためにインストールする必要があります。
アンインストール情報
この修正プログラムを削除することはできません。
状況
マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。
関連情報
VSTF DynamicsNAV SE: 209399
注: これは、マイクロソフト サポートの組織内から直接作成した「高速公開」の資料です。ここに含まれる情報は、新たに発生している問題に応じて現状のまま提供されています。速やかに利用できるようにした結果として、内容には誤植が含まれている可能性があり、事前告知なしで改訂する場合があります。その他の考慮事項については、使用条件を参照してください。