이 문서의 Microsoft Dynamics 탐색 2009 모든 국가 모든 언어 로케일에 적용 됩니다.

증상

계획 워크시트를 실행 하면 Microsoft Dynamics 탐색 2009 서비스 팩 1 (SP1) 및 Microsoft Dynamics 탐색 2009 r 2에서 충분 한 재고가 있는 키트 항목에 대 한 빌드 키트 BOM 자동 설정을 사용 하면 가정 합니다. 키트 항목의 판매 주문 게시 하려고 하면 다음과 같은 오류 메시지가 나타납니다.

예약 항목을 존재 하지 않습니다. 식별 필드 및 값: 항목 번호 ='Entry_Number', 양수 = '예'

해결 방법

핫픽스 정보

지원 되는 핫픽스를 Microsoft에서 출시 되었습니다. 이 문서에 설명 되어 있는 문제를 해결 하기 위한 것일 뿐입니다. 이러한 특정 문제가 발생 한 시스템에만 적용 됩니다. 이 핫픽스는 추가 테스트가 필요할 수 있습니다. 따라서이 문제의 영향이 심각 하지 다음 Microsoft Dynamics 탐색 2009 서비스 팩 또는이 핫픽스가 포함 된 다음 Microsoft Dynamics 탐색 버전까지 기다리는 것이 좋습니다.참고: 특별 한 경우 일반적으로 호출 취소 될 수도 있습니다 경우 기술 지원 담당자는 Microsoft Dynamics 및 관련 된 제품에 대 한 지원에 따른 비용이 특정 업데이트로 문제를 해결할 수 있다고 결정 합니다. 추가 지원 질문과 특정 업데이트가 필요 하지 않은 문제에는 일반 지원 비용이 적용 됩니다.

설치 정보

Microsoft는 모든 보증, 그림에 대 한 묵시적인 보증. 이 포함 되지만 상품성 또는 특정 목적에의 적합성의 묵시적된 보증에 국한 되지는 않습니다. 이 문서는 작성 하 고 프로시저를 디버깅할 데 사용 되는 도구 및 여기서 설명 하는 프로그래밍 언어에 익숙한 가정 합니다. Microsoft 지원 엔지니어는 특정 프로시저의 기능을 설명할 수 있지만 추가 기능을 제공 하거나 특정 요구 사항에 맞도록 프로시저를 구성 하는 이러한 예제를 수정 하지 않습니다.참고: 이 핫픽스를 설치 하기 전에 모든 Microsoft Navision 클라이언트 사용자가 시스템 로그를 확인 하십시오. Navision 응용 프로그램 서비스 (NAS) 클라이언트 사용자가 포함 됩니다. 이 핫픽스를 구현할 때 로그온 되어 있는 사용자만 클라이언트 수 있습니다.이 핫픽스를 구현 하려면 개발자 라이센스가 있어야 합니다.것을 권장 합니다 Windows 로그인 창이 나 데이터베이스 로그인 창에서 사용자 계정 "SUPER" 역할 ID를 할당할 수 사용자 계정 "SUPER" 역할 ID를 할당할 수 없습니다, 사용자 계정에 다음 권한이 있는지 확인 해야 합니다.

  • 변경할 수 있는 개체에 대 한 수정 권한이 있습니다.

  • 시스템 개체 ID 9015 개체 및 시스템 개체 ID 5210 개체에 대 한 Execute 권한이 있습니다.

참고: 데이터 복구를 수행 해야 할 경우가 아니면 데이터 저장소에 대 한 권한을 가질 필요가 없습니다.

코드 변경 사항

참고: 항상 테스트 코드 수정 제어 된 환경에 적용 하기 전에 프로덕션 컴퓨터에 수정 프로그램입니다.이 문제를 해결 하려면 재고 프로 파일 오프셋 codeUnit (99000854)의 DemandtoInvProfile 함수에 코드를 다음과 같이 변경.참고: 10/26/11이이 KB 탐색 도구 5.0SP1에 게시 된 코드를 사용 하 여 인라인 코드를 약간 변경이 했습니다. 기능은 변경 되지 않았습니다. 대체 코드;의 "추가" 섹션에서 변경 된 특정 행은

줄: InventoryProfile. " "줄 번호: LineNo; = 변경: InventoryProfile. " "줄 번호: = NextLineNo;선: LineNo: LineNo; + 1 = 제거 되었습니다.

기존 코드

...InventoryProfile.SETCURRENTKEY("Line No.");SalesLine.SETCURRENTKEY(Type,"No.","Variant Code","Drop Shipment","Location Code","Document Type","Shipment Date");SalesLine.SETFILTER("Document Type",'%1|%2',SalesLine."Document Type"::Order,SalesLine."Document Type"::"Return Order");SalesLine.SETRANGE(Type,SalesLine.Type::Item);SalesLine.SETRANGE("No.",Item."No.");Item.COPYFILTER("Location Filter",SalesLine."Location Code");Item.COPYFILTER("Variant Filter",SalesLine."Variant Code");SalesLine.SETFILTER("Outstanding Qty. (Base)",'<>0');SalesLine.SETFILTER("Shipment Date",'>%1&<=%2',0D,ToDate);IF SalesLine.FIND('-') THEN  REPEAT    InventoryProfile.INIT;    InventoryProfile."Line No." := NextLineNo;    InventoryProfile.TransferFromSalesLine(SalesLine,TempItemTrkgEntry);    IF InventoryProfile.IsSupply THEN      InventoryProfile.ChangeSign;    InventoryProfile.INSERT;  UNTIL SalesLine.NEXT = 0;ServiceLine.SETCURRENTKEY(Type,"No.","Variant Code","Location Code","Posting Date");ServiceLine.SETRANGE("Document Type",ServiceLine."Document Type"::Order);ServiceLine.SETRANGE(Type,ServiceLine.Type::Item);ServiceLine.SETRANGE("No.",Item."No.");Item.COPYFILTER("Location Filter",ServiceLine."Location Code");Item.COPYFILTER("Variant Filter",ServiceLine."Variant Code");ServiceLine.SETFILTER("Outstanding Qty. (Base)",'<>0');ServiceLine.SETFILTER("Posting Date",'>%1&<=%2',0D,ToDate);IF ServiceLine.FIND('-') THEN  REPEAT    InventoryProfile.INIT;    InventoryProfile."Line No." := NextLineNo;    InventoryProfile.TransferFromServiceInvLine(ServiceLine,TempItemTrkgEntry);    IF InventoryProfile.IsSupply THEN      InventoryProfile.ChangeSign;    InventoryProfile.INSERT;  UNTIL ServiceLine.NEXT = 0;ReqLine.SETCURRENTKEY("Ref. Order Type","Ref. Order Status","Ref. Order No.","Ref. Line No.");ReqLine.SETRANGE("Ref. Order Type",ReqLine."Ref. Order Type"::"Prod. Order");ProdOrderComp.SETCURRENTKEY("Item No.","Variant Code","Location Code",Status,"Due Date");ProdOrderComp.SETRANGE("Item No.",Item."No.");Item.COPYFILTER("Location Filter",ProdOrderComp."Location Code");Item.COPYFILTER("Variant Filter",ProdOrderComp."Variant Code");ProdOrderComp.SETRANGE(Status,ProdOrderComp.Status::Planned,ProdOrderComp.Status::Released);ProdOrderComp.SETFILTER("Due Date",'>%1&<=%2',0D,ToDate);IF ProdOrderComp.FIND('-') THEN  REPEAT    ReqLine.SETRANGE("Ref. Order Status",ProdOrderComp.Status);    ReqLine.SETRANGE("Ref. Order No.",ProdOrderComp."Prod. Order No.");    ReqLine.SETRANGE("Ref. Line No.",ProdOrderComp."Prod. Order Line No.");    ReqLine.SETRANGE("Operation No.",'');    IF NOT ReqLine.FIND('-') THEN BEGIN      InventoryProfile.INIT;      InventoryProfile."Line No." := NextLineNo;      InventoryProfile.TransferFromComponent(ProdOrderComp,TempItemTrkgEntry);      IF InventoryProfile.IsSupply THEN        InventoryProfile.ChangeSign;      InventoryProfile.INSERT;    END;  UNTIL ProdOrderComp.NEXT = 0;PlanningComponent.SETCURRENTKEY("Item No.","Variant Code","Location Code","Due Date");PlanningComponent.SETRANGE("Item No.",Item."No.");Item.COPYFILTER("Location Filter",PlanningComponent."Location Code");Item.COPYFILTER("Variant Filter",PlanningComponent."Variant Code");PlanningComponent.SETFILTER("Due Date",'>%1&<=%2',0D,ToDate);IF PlanningComponent.FIND('-') THEN  REPEAT    InventoryProfile.INIT;    InventoryProfile."Line No." := NextLineNo;    InventoryProfile."Item No." := Item."No.";    InventoryProfile.TransferFromPlanComponent(PlanningComponent,TempItemTrkgEntry);    IF InventoryProfile.IsSupply THEN      InventoryProfile.ChangeSign;    InventoryProfile.INSERT;  UNTIL PlanningComponent.NEXT = 0;TransferReqLine.SETCURRENTKEY(Type,"No.","Variant Code","Transfer-from Code","Transfer Shipment Date");TransferReqLine.SETRANGE("Replenishment System",TransferReqLine."Replenishment System"::Transfer);TransferReqLine.SETRANGE(Type,TransferReqLine.Type::Item);TransferReqLine.SETRANGE("No.",Item."No.");Item.COPYFILTER("Location Filter",TransferReqLine."Transfer-from Code");Item.COPYFILTER("Variant Filter",TransferReqLine."Variant Code");TransferReqLine.SETFILTER("Transfer Shipment Date",'>%1&<=%2',0D,ToDate);IF TransferReqLine.FIND('-') THEN  REPEAT    InventoryProfile.INIT;    InventoryProfile."Line No." := NextLineNo;    InventoryProfile."Item No." := Item."No.";    InventoryProfile.TransferFromOutboundTransfPlan(TransferReqLine,TempItemTrkgEntry);    IF InventoryProfile.IsSupply THEN      InventoryProfile.ChangeSign;    InventoryProfile.INSERT;  UNTIL TransferReqLine.NEXT = 0;TransLine.SETCURRENTKEY("Item No.");TransLine.SETRANGE("Item No.",Item."No.");Item.COPYFILTER("Variant Filter",TransLine."Variant Code");Item.COPYFILTER("Location Filter",TransLine."Transfer-from Code");TransLine.SETFILTER("Shipment Date",'>%1&<=%2',0D,ToDate);FilterIsSetOnLocation := Item.GETFILTER("Location Filter") <> '';IF TransLine.FIND('-') THEN  REPEAT    InventoryProfile.INIT;    InventoryProfile."Line No." := NextLineNo;    InventoryProfile."Item No." := Item."No.";    InventoryProfile.TransferFromOutboundTransfer(TransLine,TempItemTrkgEntry);    IF InventoryProfile.IsSupply THEN      InventoryProfile.ChangeSign;    IF FilterIsSetOnLocation THEN      InventoryProfile."Transfer Location Not Planned" := TransferLocationIsFilteredOut(Item,TransLine);    InventoryProfile.INSERT;  UNTIL TransLine.NEXT = 0;...

대체 코드

...InventoryProfile.SETCURRENTKEY("Line No.");SalesLine.SETCURRENTKEY(Type,"No.","Variant Code","Drop Shipment","Location Code","Document Type","Shipment Date");SalesLine.SETFILTER("Document Type",'%1|%2',SalesLine."Document Type"::Order,SalesLine."Document Type"::"Return Order");SalesLine.SETRANGE(Type,SalesLine.Type::Item);SalesLine.SETRANGE("No.",Item."No.");Item.COPYFILTER("Location Filter",SalesLine."Location Code");Item.COPYFILTER("Variant Filter",SalesLine."Variant Code");SalesLine.SETFILTER("Outstanding Qty. (Base)",'<>0');SalesLine.SETFILTER("Shipment Date",'>%1&<=%2',0D,ToDate);// Add the following line.SalesLine.SETRANGE("Build Kit",FALSE);// End of the line.IF SalesLine.FIND('-') THEN  REPEAT    InventoryProfile.INIT;    InventoryProfile."Line No." := NextLineNo;    InventoryProfile.TransferFromSalesLine(SalesLine,TempItemTrkgEntry);    IF InventoryProfile.IsSupply THEN      InventoryProfile.ChangeSign;    InventoryProfile.INSERT;  UNTIL SalesLine.NEXT = 0;// Add the following lines.KitSalesLine.SETCURRENTKEY("Document Type",Type,"No.","Variant Code","Location Code","Shipment Date");KitSalesLine.SETRANGE("Document Type",KitSalesLine."Document Type"::Order);KitSalesLine.SETRANGE(Type,KitSalesLine.Type::Item);KitSalesLine.SETRANGE("No.",Item."No.");Item.COPYFILTER("Location Filter",KitSalesLine."Location Code");Item.COPYFILTER("Variant Filter",KitSalesLine."Variant Code");KitSalesLine.SETFILTER("Outstanding Qty. (Base)",'<>0');KitSalesLine.SETFILTER("Shipment Date",'>%1&<=%2',0D,ToDate);IF KitSalesLine.FINDFIRST THEN  REPEAT    InventoryProfile.INIT;    InventoryProfile."Line No." := NextLineNo;    InventoryProfile.TransferFromKitSalesLine(KitSalesLine,TempItemTrkgEntry);    IF InventoryProfile.IsSupply THEN      InventoryProfile.ChangeSign;    InventoryProfile.INSERT;  UNTIL KitSalesLine.NEXT = 0;// End of the lines.ServiceLine.SETCURRENTKEY(Type,"No.","Variant Code","Location Code","Posting Date");ServiceLine.SETRANGE("Document Type",ServiceLine."Document Type"::Order);ServiceLine.SETRANGE(Type,ServiceLine.Type::Item);ServiceLine.SETRANGE("No.",Item."No.");Item.COPYFILTER("Location Filter",ServiceLine."Location Code");Item.COPYFILTER("Variant Filter",ServiceLine."Variant Code");ServiceLine.SETFILTER("Outstanding Qty. (Base)",'<>0');ServiceLine.SETFILTER("Posting Date",'>%1&<=%2',0D,ToDate);IF ServiceLine.FIND('-') THEN  REPEAT    InventoryProfile.INIT;    InventoryProfile."Line No." := NextLineNo;    InventoryProfile.TransferFromServiceInvLine(ServiceLine,TempItemTrkgEntry);    IF InventoryProfile.IsSupply THEN      InventoryProfile.ChangeSign;    InventoryProfile.INSERT;  UNTIL ServiceLine.NEXT = 0;ReqLine.SETCURRENTKEY("Ref. Order Type","Ref. Order Status","Ref. Order No.","Ref. Line No.");ReqLine.SETRANGE("Ref. Order Type",ReqLine."Ref. Order Type"::"Prod. Order");ProdOrderComp.SETCURRENTKEY("Item No.","Variant Code","Location Code",Status,"Due Date");ProdOrderComp.SETRANGE("Item No.",Item."No.");Item.COPYFILTER("Location Filter",ProdOrderComp."Location Code");Item.COPYFILTER("Variant Filter",ProdOrderComp."Variant Code");ProdOrderComp.SETRANGE(Status,ProdOrderComp.Status::Planned,ProdOrderComp.Status::Released);ProdOrderComp.SETFILTER("Due Date",'>%1&<=%2',0D,ToDate);IF ProdOrderComp.FIND('-') THEN  REPEAT    ReqLine.SETRANGE("Ref. Order Status",ProdOrderComp.Status);    ReqLine.SETRANGE("Ref. Order No.",ProdOrderComp."Prod. Order No.");    ReqLine.SETRANGE("Ref. Line No.",ProdOrderComp."Prod. Order Line No.");    ReqLine.SETRANGE("Operation No.",'');    IF NOT ReqLine.FIND('-') THEN BEGIN      InventoryProfile.INIT;      InventoryProfile."Line No." := NextLineNo;      InventoryProfile.TransferFromComponent(ProdOrderComp,TempItemTrkgEntry);      IF InventoryProfile.IsSupply THEN        InventoryProfile.ChangeSign;      InventoryProfile.INSERT;    END;  UNTIL ProdOrderComp.NEXT = 0;PlanningComponent.SETCURRENTKEY("Item No.","Variant Code","Location Code","Due Date");PlanningComponent.SETRANGE("Item No.",Item."No.");Item.COPYFILTER("Location Filter",PlanningComponent."Location Code");Item.COPYFILTER("Variant Filter",PlanningComponent."Variant Code");PlanningComponent.SETFILTER("Due Date",'>%1&<=%2',0D,ToDate);IF PlanningComponent.FIND('-') THEN  REPEAT    InventoryProfile.INIT;    InventoryProfile."Line No." := NextLineNo;    InventoryProfile."Item No." := Item."No.";    InventoryProfile.TransferFromPlanComponent(PlanningComponent,TempItemTrkgEntry);    IF InventoryProfile.IsSupply THEN      InventoryProfile.ChangeSign;    InventoryProfile.INSERT;  UNTIL PlanningComponent.NEXT = 0;TransferReqLine.SETCURRENTKEY(Type,"No.","Variant Code","Transfer-from Code","Transfer Shipment Date");TransferReqLine.SETRANGE("Replenishment System",TransferReqLine."Replenishment System"::Transfer);TransferReqLine.SETRANGE(Type,TransferReqLine.Type::Item);TransferReqLine.SETRANGE("No.",Item."No.");Item.COPYFILTER("Location Filter",TransferReqLine."Transfer-from Code");Item.COPYFILTER("Variant Filter",TransferReqLine."Variant Code");TransferReqLine.SETFILTER("Transfer Shipment Date",'>%1&<=%2',0D,ToDate);IF TransferReqLine.FIND('-') THEN  REPEAT    InventoryProfile.INIT;    InventoryProfile."Line No." := NextLineNo;    InventoryProfile."Item No." := Item."No.";    InventoryProfile.TransferFromOutboundTransfPlan(TransferReqLine,TempItemTrkgEntry);    IF InventoryProfile.IsSupply THEN      InventoryProfile.ChangeSign;    InventoryProfile.INSERT;  UNTIL TransferReqLine.NEXT = 0;TransLine.SETCURRENTKEY("Item No.");TransLine.SETRANGE("Item No.",Item."No.");Item.COPYFILTER("Variant Filter",TransLine."Variant Code");Item.COPYFILTER("Location Filter",TransLine."Transfer-from Code");TransLine.SETFILTER("Shipment Date",'>%1&<=%2',0D,ToDate);FilterIsSetOnLocation := Item.GETFILTER("Location Filter") <> '';IF TransLine.FIND('-') THEN  REPEAT    InventoryProfile.INIT;    InventoryProfile."Line No." := NextLineNo;    InventoryProfile."Item No." := Item."No.";    InventoryProfile.TransferFromOutboundTransfer(TransLine,TempItemTrkgEntry);    IF InventoryProfile.IsSupply THEN      InventoryProfile.ChangeSign;    IF FilterIsSetOnLocation THEN      InventoryProfile."Transfer Location Not Planned" := TransferLocationIsFilteredOut(Item,TransLine);    InventoryProfile.INSERT;  UNTIL TransLine.NEXT = 0;...

전제 조건

이 핫픽스를 적용 하려면 설치한 다음 제품 중 하나가 있어야 합니다.

  • Microsoft Dynamics 탐색 2009 R2

  • Microsoft Dynamics 탐색 2009 서비스 팩 1

제거 정보

이 핫픽스를 제거할 수 없습니다.

상태

Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.

참고: 이 문서는 Microsoft 지원 부서 내에서 직접 작성한 "빠른 게시" 문서입니다. 여기에 포함된 정보는 신흥 문제에 대한 응답으로 제공되었습니다. 신속히 사용할 수 있도록 작성되었으므로, 자료 입력 오류가 포함될 수 있으며 언제든지 예고없이 개정될 수 있습니다. 다른 고려 사항은 사용 약관을 참조하십시오.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.