"Cust입니다. 동부 유럽어 버전의 Microsoft Dynamics 탐색 2009 전자 사전 문자 선불을 사용 하는 판매 주문 게시 하려고 하면 원장 항목 항목 번호 [번호] 이미 있습니다"오류 메시지


여기서는 Microsoft Dynamics 이동 지점 (EE) 동유럽 언어 로케일에 적용 됩니다.

증상


동부 유럽어 버전 Microsoft Dynamics 탐색 2009 서비스 팩 1 (SP1) 및 Microsoft Dynamics 탐색 2009 r 2의 다음 시나리오를 고려 하십시오.
  • 절대 또는 완전히 발부 고급 거래 교정 종류 값을 설정 합니다.
  • 전자 사전 문자 선불을 사용 하는 판매 주문을 해야 합니다.
  • 게시 하 고 송장 선불 금액의 절반.
  • 판매 주문에서 부분 배송을 게시합니다.
  • 게시 하 고 남은 선불 금액 청구서.
  • 최종 출하 하는 판매 주문 게시 합니다.
이 시나리오에서는, 다음과 같은 오류 메시지가 나타날 수 있습니다.
Cust입니다. 원장 항목 항목 번호 ''가 이미 존재합니다.

해결 방법


핫픽스 정보

지원 되는 핫픽스를 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. 판매 게시물 이동 codeunit (26585) PostPaymentCorrection 함수에서 코드를 다음과 같이 변경.
    기존 코드
    ...      LedgEntryDim.SETRANGE("Entry No.",LinkedAdvanceEntry."Entry No.");
    DimMgt.CopyLedgEntryDimToJnlLineDim(LedgEntryDim,TempJnlLineDim);
    GenJnlPostLine.RunWithCheck(GenJnlLine,TempJnlLineDim);

    // Delete the following line.
    UNTIL LinkedAdvanceEntry.NEXT = 0;

    // Post Payment
    GenJnlLine.INIT;
    ...
    대체 코드
    ...      LedgEntryDim.SETRANGE("Entry No.",LinkedAdvanceEntry."Entry No.");
    DimMgt.CopyLedgEntryDimToJnlLineDim(LedgEntryDim,TempJnlLineDim);
    GenJnlPostLine.RunWithCheck(GenJnlLine,TempJnlLineDim);

    // Add the following line.
    UNTIL (LinkedAdvanceEntry.NEXT = 0) OR (InvoiceAmount = 0);

    // Post Payment
    GenJnlLine.INIT;
    ...
  2. 판매 게시물 이동 codeunit (26585) CalcLinkedPmtAmountToApply 함수에서 코드를 다음과 같이 변경.
    기존 코드
    ...      AmountToApply := ROUND(TotAmt,Currency."Amount Rounding Precision") - TotAmtRnded;
    TotAmtRnded := TotAmtRnded + AmountToApply;

    // Delete the following lines.
    IF LinkedAdvanceEntry.GET(CustLedgEntry."Entry No.") THEN BEGIN
    LinkedAdvanceEntry."Amount to Apply" := LinkedAdvanceEntry."Amount to Apply" + AmountToApply;
    LinkedAdvanceEntry.MODIFY;
    END ELSE BEGIN
    LinkedAdvanceEntry := CustLedgEntry;
    LinkedAdvanceEntry."Amount to Apply" := AmountToApply;
    LinkedAdvanceEntry."Currency Code" := Link."Currency Code";
    LinkedAdvanceEntry.INSERT;
    // End of the deleted lines.

    END;
    END;
    UNTIL Link.NEXT = 0;
    ...
    대체 코드
    ...      AmountToApply := ROUND(TotAmt,Currency."Amount Rounding Precision") - TotAmtRnded;
    TotAmtRnded := TotAmtRnded + AmountToApply;

    // Add the following lines.
    IF AmountToApply <> 0 THEN
    IF LinkedAdvanceEntry.GET(CustLedgEntry."Entry No.") THEN BEGIN
    LinkedAdvanceEntry."Amount to Apply" := LinkedAdvanceEntry."Amount to Apply" + AmountToApply;
    LinkedAdvanceEntry.MODIFY;
    END ELSE BEGIN
    LinkedAdvanceEntry := CustLedgEntry;
    LinkedAdvanceEntry."Amount to Apply" := AmountToApply;
    LinkedAdvanceEntry."Currency Code" := Link."Currency Code";
    LinkedAdvanceEntry.INSERT;
    //End of the added lines.

    END;
    END;
    UNTIL Link.NEXT = 0;
    ...
  3. 구매 후 이동 codeunit (26586) PostPaymentCorrection 함수에서 코드를 다음과 같이 변경.
    기존 코드
    ...      LedgEntryDim.SETRANGE("Entry No.",LinkedAdvanceEntry."Entry No.");
    DimMgt.CopyLedgEntryDimToJnlLineDim(LedgEntryDim,TempJnlLineDim);
    GenJnlPostLine.RunWithCheck(GenJnlLine,TempJnlLineDim);

    // Delete the following line.
    UNTIL LinkedAdvanceEntry.NEXT = 0;

    // Post Payment
    GenJnlLine.INIT;
    ...
    대체 코드
    ...      LedgEntryDim.SETRANGE("Entry No.",LinkedAdvanceEntry."Entry No.");
    DimMgt.CopyLedgEntryDimToJnlLineDim(LedgEntryDim,TempJnlLineDim);
    GenJnlPostLine.RunWithCheck(GenJnlLine,TempJnlLineDim);

    // Add the following line.
    UNTIL (LinkedAdvanceEntry.NEXT = 0) OR (InvoiceAmount = 0);

    // Post Payment
    GenJnlLine.INIT;
    ...
  4. 구매 후 이동 codeunit (26586) CalcLinkedPmtAmountToApply 함수에서 코드를 다음과 같이 변경.
    기존 코드
    ...      AmountToApply := ROUND(TotAmt,Currency."Amount Rounding Precision") - TotAmtRnded;
    TotAmtRnded := TotAmtRnded + AmountToApply;

    // Delete the following lines.
    IF LinkedAdvanceEntry.GET(VendLedgEntry."Entry No.") THEN BEGIN
    LinkedAdvanceEntry."Amount to Apply" := LinkedAdvanceEntry."Amount to Apply" + AmountToApply;
    LinkedAdvanceEntry.MODIFY;
    END ELSE BEGIN
    LinkedAdvanceEntry := VendLedgEntry;
    LinkedAdvanceEntry."Amount to Apply" := AmountToApply;
    LinkedAdvanceEntry."Currency Code" := Link."Currency Code";
    LinkedAdvanceEntry.INSERT;
    // End of the deleted lines.

    END;
    END;
    UNTIL Link.NEXT = 0;
    ...
    대체 코드
    ...      AmountToApply := ROUND(TotAmt,Currency."Amount Rounding Precision") - TotAmtRnded;
    TotAmtRnded := TotAmtRnded + AmountToApply;

    // Add the following lines.
    IF AmountToApply <> 0 THEN
    IF LinkedAdvanceEntry.GET(VendLedgEntry."Entry No.") THEN BEGIN
    LinkedAdvanceEntry."Amount to Apply" := LinkedAdvanceEntry."Amount to Apply" + AmountToApply;
    LinkedAdvanceEntry.MODIFY;
    END ELSE BEGIN
    LinkedAdvanceEntry := VendLedgEntry;
    LinkedAdvanceEntry."Amount to Apply" := AmountToApply;
    LinkedAdvanceEntry."Currency Code" := Link."Currency Code";
    LinkedAdvanceEntry.INSERT;
    //End of the added lines.

    END;
    END;
    UNTIL Link.NEXT = 0;
    ...

전제 조건

이 핫픽스를 적용 하려면 설치한 다음 제품 중 하나가 있어야 합니다.
  • Microsoft Dynamics 탐색 2009 r 2의 동부 유럽 버전
  • 동부 유럽어 버전의 Microsoft Dynamics 탐색 2009 서비스 팩 1
또한 2543219 핫픽스 및 핫픽스 2546451이이 핫픽스를 적용 하려면 설치 되어 있어야 합니다.
자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료에 있는 문서를 참조하십시오.
2543219 동부 유럽어 버전의 Microsoft Dynamics 탐색 2009 R2 예상 대로 overpaid 선불 처리할 수 없습니다.
2546451 이 없는 Cust. 원장 항목 필터"동부 유럽어 버전의 Microsoft Dynamics 탐색 2009 남은 수량 판매 주문 게시 하려고 할 때 오류 메시지가 나타난다

제거 정보

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

상태


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