적용 대상
Dynamics NAV 2009

Microsoft Dynamics 탐색 2009의 이탈리아어 버전에는 적용 되지 않은 지불을 취소 하는 경우 게시 된 항목을 반전 입력 테이블 (179)에 정확 하지 않습니다. 이 문제는 핫픽스 2802054를 구현한 후 여전히 발생 합니다. 이 문제를 해결 하려면 코드 변경 섹션의 단계를 따릅니다. 다음 제품에이 문제가 발생합니다.

  • 이탈리아어 버전의 Microsoft Dynamics 탐색 2009 R2

  • 이탈리아어 버전의 Microsoft Dynamics 탐색 2009 서비스 팩 1 (SP1)

해결 방법

핫픽스 정보

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

설치 정보

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

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

  • 시스템 개체 ID 9015 및 시스템 개체 ID 5210 개체에 대 한 실행 권한개체입니다.

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

코드 변경 사항

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

  1. 반전 입력 테이블 (179)에 전역 변수의 코드를 다음과 같이 변경.기존 코드

    ...PostApplied@1029 : Boolean;        Text012@1028 : TextConst 'ENU=You cannot reverse register No. %1 because it contains customer or vendor ledger entries that have been posted and applied in the same transaction.\\You must reverse each transaction in register No. %1 separately.;ITA=Impossibile stornare il registro Nr. %1 perch‚ contiene movimenti contabili clienti o fornitori che sono stati registrati e collegati nella stessa transazione.\\Ô necessario stornare separatamente ogni transazione nel registro Nr. %1.';      PROCEDURE ReverseTransaction@8(TransactionNo@1000 : Integer);...

    대체 코드

    ...PostApplied@1029 : Boolean;        Text012@1028 : TextConst 'ENU=You cannot reverse register No. %1 because it contains customer or vendor ledger entries that have been posted and applied in the same transaction.\\You must reverse each transaction in register No. %1 separately.;ITA=Impossibile stornare il registro Nr. %1 perch‚ contiene movimenti contabili clienti o fornitori che sono stati registrati e collegati nella stessa transazione.\\Ô necessario stornare separatamente ogni transazione nel registro Nr. %1.';// Add the following line.       Text013@1039 : TextConst 'ENU=You cannot reverse %1 No. %2 because the entry has an associated Realized Gain/Loss entry.';      PROCEDURE ReverseTransaction@8(TransactionNo@1000 : Integer);...
  2. 반전 입력 테이블 (179)에 InsertReversalEntry 함수에서 코드를 다음과 같이 변경.기존 코드 1

    ...DtldCustLedgEntry.SETFILTER(              DtldCustLedgEntry."Entry Type",'<>%1',DtldCustLedgEntry."Entry Type"::"Initial Entry");// Delete the following lines.           IF DtldCustLedgEntry.FIND('-') THEN BEGIN             IF RevType = RevType::Register THEN               ERROR(Text012,Number);             CLEAR(DtldCustLedgEntry);             DtldCustLedgEntry.SETCURRENTKEY("Cust. Ledger Entry No.");             DtldCustLedgEntry.SETRANGE("Cust. Ledger Entry No.",CustLedgEntry."Entry No.");             DtldCustLedgEntry.SETRANGE(Unapplied,TRUE);             IF DtldCustLedgEntry.FIND('-') THEN BEGIN               REPEAT                 TempRevertTransactionNo.Number := DtldCustLedgEntry."Transaction No.";                 IF TempRevertTransactionNo.INSERT THEN;               UNTIL DtldCustLedgEntry.NEXT = 0;             END;           END;// End of the deleted lines.          UNTIL CustLedgEntry.NEXT = 0;...

    대체 코드 1

    ...DtldCustLedgEntry.SETFILTER(              DtldCustLedgEntry."Entry Type",'<>%1',DtldCustLedgEntry."Entry Type"::"Initial Entry");// Add the following lines.           IF NOT DtldCustLedgEntry.ISEMPTY THEN             IF RevType = RevType::Register THEN               ERROR(Text012,Number);           CheckDtldCustLedgEntry(CustLedgEntry);// End of the added lines.          UNTIL CustLedgEntry.NEXT = 0;...

    기존 코드 2

    ...DtldVendLedgEntry.SETFILTER(              DtldVendLedgEntry."Entry Type",'<>%1',DtldVendLedgEntry."Entry Type"::"Initial Entry");// Delete the following lines.           IF DtldVendLedgEntry.FIND('-') THEN BEGIN             IF RevType = RevType::Register THEN               ERROR(Text012,Number);             CLEAR(DtldVendLedgEntry);             DtldVendLedgEntry.SETCURRENTKEY("Vendor Ledger Entry No.");             DtldVendLedgEntry.SETRANGE("Vendor Ledger Entry No.",VendLedgEntry."Entry No.");             DtldVendLedgEntry.SETRANGE(Unapplied,TRUE);             IF DtldVendLedgEntry.FIND('-') THEN BEGIN               REPEAT                 TempRevertTransactionNo.Number := DtldVendLedgEntry."Transaction No.";                 IF TempRevertTransactionNo.INSERT THEN;               UNTIL DtldVendLedgEntry.NEXT = 0;             END;           END;// End of the deleted lines.          UNTIL VendLedgEntry.NEXT = 0;...

    대체 코드 2

    ...DtldVendLedgEntry.SETFILTER(              DtldVendLedgEntry."Entry Type",'<>%1',DtldVendLedgEntry."Entry Type"::"Initial Entry");// Add the following lines.           IF NOT DtldVendLedgEntry.ISEMPTY THEN             IF RevType = RevType::Register THEN               ERROR(Text012,Number);           CheckDtldVendLedgEntry(VendLedgEntry);// End of the added lines.          UNTIL VendLedgEntry.NEXT = 0;...
  3. 반전 입력 테이블 (179)에 CheckDtldCustLedgEntry 함수에서 코드를 다음과 같이 변경.기존 코드

    ...DtldCustLedgEntry@1001 : Record 379;      BEGIN// Delete the following lines.       DtldCustLedgEntry.SETCURRENTKEY("Cust. Ledger Entry No.");       DtldCustLedgEntry.SETRANGE("Cust. Ledger Entry No.",CustLedgEntry."Entry No.");       IF DtldCustLedgEntry.FIND('-') THEN         REPEAT           IF (DtldCustLedgEntry."Entry Type" <> DtldCustLedgEntry."Entry Type"::"Initial Entry") AND              (NOT DtldCustLedgEntry.Unapplied)           THEN             ERROR(               Text000,CustLedgEntry.TABLECAPTION,CustLedgEntry."Entry No.");         UNTIL DtldCustLedgEntry.NEXT = 0;// End of the deleted lines.      END;...

    대체 코드

    ...DtldCustLedgEntry@1001 : Record 379;      BEGIN// Add the following lines.       DtldCustLedgEntry.SETCURRENTKEY("Cust. Ledger Entry No.","Entry Type");       DtldCustLedgEntry.SETRANGE("Cust. Ledger Entry No.",CustLedgEntry."Entry No.");       DtldCustLedgEntry.SETFILTER("Entry Type",'<>%1',DtldCustLedgEntry."Entry Type"::"Initial Entry");       DtldCustLedgEntry.SETRANGE(Unapplied,FALSE);       IF NOT DtldCustLedgEntry.ISEMPTY THEN         ERROR(Text000,CustLedgEntry.TABLECAPTION,CustLedgEntry."Entry No.");       DtldCustLedgEntry.SETRANGE(Unapplied);       DtldCustLedgEntry.SETFILTER("Entry Type",'%1|%2',         DtldCustLedgEntry."Entry Type"::"Realized Gain",DtldCustLedgEntry."Entry Type"::"Realized Loss");       IF NOT DtldCustLedgEntry.ISEMPTY THEN         ERROR(Text013,CustLedgEntry.TABLECAPTION,CustLedgEntry."Entry No.");// End of the added lines.      END;...
  4. 반전 입력 테이블 (179)에 CheckDtldVendLedgEntry 함수에서 코드를 다음과 같이 변경.기존 코드

    ...DtldVendLedgEntry@1001 : Record 380;      BEGIN// Delete the following lines.       DtldVendLedgEntry.SETCURRENTKEY("Vendor Ledger Entry No.");       DtldVendLedgEntry.SETRANGE("Vendor Ledger Entry No.",VendLedgEntry."Entry No.");       IF DtldVendLedgEntry.FIND('-') THEN         REPEAT           IF (DtldVendLedgEntry."Entry Type" <> DtldVendLedgEntry."Entry Type"::"Initial Entry") AND              (NOT DtldVendLedgEntry.Unapplied)           THEN             ERROR(               Text000,VendLedgEntry.TABLECAPTION,VendLedgEntry."Entry No.");         UNTIL DtldVendLedgEntry.NEXT = 0;// End of the deleted lines.      END;...

    대체 코드

    ...DtldVendLedgEntry@1001 : Record 380;      BEGIN// Add the following lines.       DtldVendLedgEntry.SETCURRENTKEY("Vendor Ledger Entry No.","Entry Type");       DtldVendLedgEntry.SETRANGE("Vendor Ledger Entry No.",VendLedgEntry."Entry No.");       DtldVendLedgEntry.SETFILTER("Entry Type",'<>%1',DtldVendLedgEntry."Entry Type"::"Initial Entry");       DtldVendLedgEntry.SETRANGE(Unapplied,FALSE);       IF NOT DtldVendLedgEntry.ISEMPTY THEN         ERROR(Text000,VendLedgEntry.TABLECAPTION,VendLedgEntry."Entry No.");       DtldVendLedgEntry.SETRANGE(Unapplied);       DtldVendLedgEntry.SETFILTER("Entry Type",'%1|%2',         DtldVendLedgEntry."Entry Type"::"Realized Gain",DtldVendLedgEntry."Entry Type"::"Realized Loss");       IF NOT DtldVendLedgEntry.ISEMPTY THEN         ERROR(Text013,VendLedgEntry.TABLECAPTION,VendLedgEntry."Entry No.");// End of the added lines.      END;...

전제 조건

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

  • 이탈리아어 버전의 Microsoft Dynamics 탐색 2009 R2

  • 이탈리아어 버전의 Microsoft Dynamics 탐색 2009 SP1

제거 정보

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

상태

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

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

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

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