Microsoft로 로그인
로그인하거나 계정을 만듭니다.
안녕하세요.
다른 계정을 선택합니다.
계정이 여러 개 있음
로그인할 계정을 선택합니다.

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

증상

주문 계획 함수는 Microsoft Dynamics NAV.에서 주문 만들기 환경을 사용할 때 "주문 수량"의 잘못 된 제안 단어를 계산 다단계 빌 재료 (BOM)를 사용 하는 경우이 문제가 발생 합니다.
다음 제품에이 문제가 발생합니다.

  • Microsoft Dynamics 탐색 2009 R2

  • Microsoft Dynamics 탐색 2009 서비스 팩 1 (SP1)

  • Microsoft Dynamics 탐색 2009

  • Microsoft Dynamics 탐색 5.0 서비스 팩 1 (SP1)

원인

항상 검색된 항목 (BOM 생성 일부 항목이 한 번 이상에 발생할 수 있는 "트리")에 대 한 수량을 변경 하는 재귀 함수를 사용 하는 됩니다. 그러나 업데이트 된 항목에 대 한 모든 자식 항목 중 하나가 삭제할지 아니면 업데이트 때문에 잘못 된 동작이입니다.

해결 방법

핫픽스 정보

지원 되는 핫픽스를 Microsoft에서 출시 되었습니다. 이 문서에 설명 되어 있는 문제를 해결 하기 위한 것일 뿐입니다. 이러한 특정 문제가 발생 한 시스템에만 적용 됩니다. 이 핫픽스는 추가 테스트가 필요할 수 있습니다. 따라서이 문제의 영향이 심각 하지 다음 Microsoft Dynamics 탐색 2009 서비스 팩 또는이 핫픽스가 포함 된 다음 Microsoft Dynamics 탐색 버전까지 기다리는 것이 좋습니다.

참고: 특별 한 경우 일반적으로 호출 취소 될 수도 있습니다 경우 기술 지원 담당자는 Microsoft Dynamics 및 관련 된 제품에 대 한 지원에 따른 비용이 특정 업데이트로 문제를 해결할 수 있다고 결정 합니다. 추가 지원 질문과 특정 업데이트가 필요 하지 않은 문제에는 일반 지원 비용이 적용 됩니다.



설치 정보

Microsoft는 모든 보증, 그림에 대 한 묵시적인 보증. 이 포함 되지만 상품성 또는 특정 목적에의 적합성의 묵시적된 보증에 국한 되지는 않습니다. 이 문서는 작성 하 고 프로시저를 디버깅할 데 사용 되는 도구 및 여기서 설명 하는 프로그래밍 언어에 익숙한 가정 합니다. Microsoft 지원 엔지니어는 특정 프로시저의 기능을 설명할 수 있지만 추가 기능을 제공 하거나 특정 요구 사항에 맞도록 프로시저를 구성 하는 이러한 예제를 수정 하지 않습니다.

참고: 이 핫픽스를 설치 하기 전에 모든 Microsoft Navision 클라이언트 사용자가 시스템 로그를 확인 하십시오. Navision 응용 프로그램 서비스 (NAS) 클라이언트 사용자가 포함 됩니다. 이 핫픽스를 구현할 때 로그온 되어 있는 사용자만 클라이언트 수 있습니다.

이 핫픽스를 구현 하려면 개발자 라이센스가 있어야 합니다.

것을 권장 합니다 Windows 로그인 창이 나 데이터베이스 로그인 창에서 사용자 계정 "SUPER" 역할 ID를 할당할 수 사용자 계정 "SUPER" 역할 ID를 할당할 수 없습니다, 사용자 계정에 다음 권한이 있는지 확인 해야 합니다.

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

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



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

코드 변경 사항

참고: 항상 테스트 코드 수정 제어 된 환경에 적용 하기 전에 프로덕션 컴퓨터에 수정 프로그램입니다.
이 문제를 해결하려면 다음과 같이 하십시오.

  1. 지역 함수가 UpdateRelatedComponent codeunit (99000809)에 만듭니다.

    ...LOCAL PROCEDURE UpdateRelatedComponent@15(ParentReqLine@1000 : Record 246);
    WITH PlanningComponent DO BEGIN
    SETCURRENTKEY("Worksheet Template Name","Worksheet Batch Name","Worksheet Line No.","Item No.");
    SETRANGE("Worksheet Line No.",ParentReqLine."Line No.");
    SETFILTER("Item No.",'<>%1','');
    SETFILTER("Expected Quantity",'<>0');
    SETFILTER("Planning Level Code",'<>0');
    IF FIND('-') THEN
    REPEAT
    IF LineHasBeenCreated(ChildReqLine,PlanningComponent) THEN BEGIN
    UpdateRelatedComponent(ChildReqLine);
    IF ChildReqLine.Quantity <> "Expected Quantity" THEN BEGIN
    // qty has to be updated, there is a new need of component
    ChildReqLine.BlockDynamicTracking(Blocked);
    ChildReqLine.VALIDATE(Quantity,ChildReqLine.Quantity - "Expected Quantity");
    ChildReqLine.MODIFY;

    // updating qty of component for parent
    VALIDATE("Quantity per","Quantity per");
    MODIFY;
    END ELSE
    // line will be recreated
    ChildReqLine.DELETE(TRUE);
    END;
    UNTIL NEXT = 0;
    END;
    ...


    함수에 다음 매개 변수를 추가 합니다.

    • 이름: PlanningComponent; 데이터 형식: 레코드 (99000829)

    • 이름: ChildReqLine; 데이터 형식: 레코드 (246)

  2. 지역 함수가 LineHasBeenCreated codeunit (99000829)에 만듭니다.

    ...LOCAL PROCEDURE LineHasBeenCreated@18(VAR ChildReqLine@1000 : Record 246;PlanningComponent@1001 : Record 99000829) : Boolean;
    WITH ChildReqLine DO BEGIN
    SETCURRENTKEY("Worksheet Template Name","Journal Batch Name",Type,"No.");
    SETRANGE("Worksheet Template Name",PlanningComponent."Worksheet Template Name");
    SETRANGE("Journal Batch Name",PlanningComponent."Worksheet Batch Name");
    SETRANGE(Type,Type::Item);
    SETRANGE("No.",PlanningComponent."Item No.");
    SETRANGE("Variant Code",PlanningComponent."Variant Code");
    SETRANGE("Ref. Order Type","Ref. Order Type"::"Prod. Order");
    SETRANGE("Ref. Order Status",PlanningComponent."Ref. Order Status");
    SETRANGE("Ref. Order No.",PlanningComponent."Ref. Order No.");
    SETFILTER("Planning Level",'>%1',0);
    EXIT(FINDFIRST);
    END;
    ...
  3. InsertPlanningLine 함수 codeunit (99000809)의 코드를 다음과 같이 변경.
    기존 코드

    ... IF ReqLine2."Planning Level" < ReqLine."Planning Level" THEN
    ReqLine2."Planning Level" := ReqLine."Planning Level";

    ReqLine2.MODIFY;
    ...

    대체 코드

    ... IF ReqLine2."Planning Level" <ReqLine."Planning Level" THEN
    ReqLine2."Planning Level" := ReqLine."Planning Level";

    // the ReqLine2 can have children which has to be delete or updated
    // Add the following line.
    UpdateRelatedComponent(ReqLine2);

    ReqLine2.MODIFY;
    ...


전제 조건

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

  • Microsoft Dynamics 탐색 2009 R2

  • Microsoft Dynamics 탐색 2009 서비스 팩 1 (SP1)

  • Microsoft Dynamics 탐색 2009

  • Microsoft Dynamics 탐색 5.0 서비스 팩 1 (SP1)



제거 정보

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

상태

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

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

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

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

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

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?
제출을 누르면 피드백이 Microsoft 제품과 서비스를 개선하는 데 사용됩니다. IT 관리자는 이 데이터를 수집할 수 있습니다. 개인정보처리방침

의견 주셔서 감사합니다!

×