適用先
Dynamics NAV 2009

この資料では、すべての国と言語ロケールのすべての Microsoft Dynamics NAV に該当します。

現象

Microsoft Dynamics NAV. では使用できません、不適切な数量を使用して、倉庫の内部配置にあるアイテムを作成することができます。この問題は、次の製品で発生します。

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 サービス パック 1

解決策

修正プログラムの情報

サポートされている修正プログラムはマイクロソフトから現在入手可能です。ただし、この資料に記載されている問題を解決するためのものはのみ。この特定の問題が発生したシステムにのみ適用してください。この修正プログラムは、今後さらにテストを行うことがあります。この問題で深刻な影響を受けていない場合は、次の Microsoft Dynamics NAV 2009 サービス パックまたは修正プログラムを含む次の Microsoft Dynamics NAV バージョン待つことを勧めします。注: かかる料金が免除されるテクニカル サポート担当者 Microsoft Dynamics および関連製品のことは、通常は特別な場合は、特定の更新プログラムは、問題を解決するにを決定します。追加の質問および問題の特定のアップデートの対象にはなりませんが、通常のサポート料金が適用されます。

インストール情報

マイクロソフトでは解説することのみを目的としてプログラミング例を提供しています。暗示あるいは明示していることに対しての保証はしておりません。ここで言う保証とは、特定の目的に対する商品性や適合性の暗示的保証を含んでいますが、それに限定されるわけではありません。この資料では、例示されているプログラミング言語およびプロシージャの作成やデバッグに使用するツールにお客様が精通していることを前提としています。マイクロソフトのサポート エンジニアは、特定のプロシージャの機能を説明することができますが、機能の追加またはお客様固有の要件を満たすようにプロシージャを作成するこれらの例は変更されません。注: この修正プログラムをインストールする前に、Microsoft Navision のすべてのクライアント ユーザーがシステムの電源を記録することを確認します。これには、Microsoft Navision アプリケーション サービス (NAS) クライアントのユーザーが含まれます。この修正プログラムを実装すると、ログオンしている唯一のクライアント ユーザーが必要です。この修正プログラムを実装するには、開発者用のライセンスが必要です。ユーザー アカウントまたはデータベース ログイン ウィンドウに Windows のログイン ウィンドウにある「スーパー」ロール id を割り当てられていることをお勧めします。ユーザー アカウントには、「スーパー」ロール ID を割り当てることができません、する場合は、ユーザー アカウントが次のアクセス許可を持っているを確認する必要があります。

  • 変更するオブジェクトの変更のアクセス許可。

  • システム オブジェクトの ID 5210オブジェクトおよびシステム オブジェクトの ID 9015オブジェクトの実行が許可されます。

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

コードの変更

注: 常にテスト コードを修正、管理された環境で適用する前に、運用コンピューターに修正プログラムします。 この問題を解決するには、次の手順を実行します。

  1. "Whse で、[フィールド] セクション内のコードを変更します。。次のように"内部の配置にある行のテーブル (7332):既存のコード 1

    ...CALCFIELDS("Put-away Qty.");IF Quantity < "Qty. Put Away" + "Put-away Qty." THENFIELDERROR(Quantity,STRSUBSTNO(Text001,"Qty. Put Away" + "Put-away Qty."));// Delete the following lines.IF CurrFieldNo = FIELDNO(Quantity) THENCheckBinContentQty;VALIDATE("Qty. Outstanding",(Quantity - "Qty. Put Away"));"Qty. (Base)" := CalcBaseQty(Quantity);Status := CalcStatusPutAwayLine;// End of the lines.IF Status <> xRec.Status THEN BEGINGetInternalPutAwayHeader("No.");DocStatus := WhseInternalPutAwayHeader.GetDocumentStatus(0);...

    置換用コード 1

    ...CALCFIELDS("Put-away Qty.");IF Quantity < "Qty. Put Away" + "Put-away Qty." THENFIELDERROR(Quantity,STRSUBSTNO(Text001,"Qty. Put Away" + "Put-away Qty."));// Add the following lines."Qty. (Base)" := CalcBaseQty(Quantity);IF CurrFieldNo = FIELDNO(Quantity) THENCheckBinContentQty;VALIDATE("Qty. Outstanding",(Quantity - "Qty. Put Away"));Status := CalcStatusPutAwayLine;// End of the lines.IF Status <> xRec.Status THEN BEGINGetInternalPutAwayHeader("No.");DocStatus := WhseInternalPutAwayHeader.GetDocumentStatus(0);...

    既存のコード 2

    ...OnLookup=BEGINSelectLookUp(FIELDNO("Unit of Measure Code"));END;// Delete the following line.}{ 30  ;   ;Qty. per Unit of Measure;Decimal   ;InitValue=1;DecimalPlaces=0:5;Editable=No }{ 31  ;   ;Variant Code        ;Code10        ;TableRelation="Item Variant".Code WHERE (Item No.=FIELD(Item No.));...

    置換用コード 2

    ...OnLookup=BEGINSelectLookUp(FIELDNO("Unit of Measure Code"));END;// Add the following line.Editable=No }{ 30  ;   ;Qty. per Unit of Measure;Decimal   ;InitValue=1;DecimalPlaces=0:5;Editable=No }{ 31  ;   ;Variant Code        ;Code10        ;TableRelation="Item Variant".Code WHERE (Item No.=FIELD(Item No.));...
  2. "Whse 内のCheckCurrentLineQty関数内のコードを変更します。。次のように"内部の配置にある行のテーブル (7332):既存のコード

    ...WhseItemTrackingForm.SetSource(TempWhseWorksheetLine,DATABASE::"Whse. Internal Put-away Line");WhseItemTrackingForm.InsertItemTrackingLine(TempWhseWorksheetLine,SerialNo,LotNo,ExpirationDate,QtyToEmpty);END;BEGINEND.}}...

    置換用コード

    ...WhseItemTrackingForm.SetSource(TempWhseWorksheetLine,DATABASE::"Whse. Internal Put-away Line");WhseItemTrackingForm.InsertItemTrackingLine(TempWhseWorksheetLine,SerialNo,LotNo,ExpirationDate,QtyToEmpty);END;// Add the following lines. PROCEDURE CheckCurrentLineQty@25();VARBinContent@1000 : Record 7302;AvailQtyBase@1001 : Decimal;BEGINGetLocation("Location Code");IF Location."Bin Mandatory" AND("Location Code" <> '') AND ("From Bin Code" <> '') AND("Item No." <> '') AND ("Unit of Measure Code" <> '')THEN BEGINIF Location."Directed Put-away and Pick" THENCheckBlocking(BinContent);AvailQtyBase := BinContent.CalcQtyAvailToPick(0);IF AvailQtyBase < "Qty. (Base)" THENFIELDERROR("Qty. (Base)",STRSUBSTNO(Text002,AvailQtyBase));END;END;// End of the lines.BEGINEND.}}...
  3. データ項目数 5 のコードを変更、"Whse。-ソース - ドキュメントを作成」(7305) を次のように報告。既存のコード

    ...BinContent."Block Movement"::Outbound,BinContent."Block Movement"::All]THENBinContent.FIELDERROR("Block Movement");END;WhseWkshLine.SETRANGE("Whse. Document Line No.","Line No.");IF NOT WhseWkshLine.FIND('-') THEN BEGINTESTFIELD("Qty. per Unit of Measure");...

    置換用コード

    ...BinContent."Block Movement"::Outbound,BinContent."Block Movement"::All]THENBinContent.FIELDERROR("Block Movement");END;// Add the following line.CheckCurrentLineQty;WhseWkshLine.SETRANGE("Whse. Document Line No.","Line No.");IF NOT WhseWkshLine.FIND('-') THEN BEGINTESTFIELD("Qty. per Unit of Measure");...

必要条件

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

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 サービス パック 1

アンインストール情報

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

状況

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

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

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。