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

심지어 때 없는 Cartera 스페인어 버전의 Microsoft Dynamics 탐색 2009에서 작업할 수 있는 권한이, 청구서 및 지불 고객 또는 공급 업체 원장 항목에서 적용할 수 있습니다. 문제는 Cartera 권한"" 없이 이러한 문서 (결제 및 청구)을 적용할 때 자재 남아 판매 또는 지급 Cartera 문서에서 "열기". 그러면 데이터베이스의 불일치. 이 문제는 다음 제품에서 발생합니다.

  • 스페인어 버전의 Microsoft Dynamics 탐색 2009 R2

  • 스페인어 버전의 Microsoft Dynamics 탐색 2009 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. 글로벌 Variablesin에서 코드를 변경 하는 Gen. Jnl.-아래와 같이 게시 줄 Codeunit (12).
    기존 코드

    ...Text1100010@1100016 : TextConst 'ENU=Remove it from its payment order and try again.;ESP=B¢rrelo de la orden de pago e int‚ntelo de nuevo.';
    Text1100011@1100021 : TextConst 'ENU=Document Type is " " in Line %1. This posting will not realize the VAT, do you want to proceed?;ESP=El tipo de documento es " " en la l¡nea %1. Esta contabilizaci¢n no tendr en cuenta el IVA, ¨desea continuar?';
    Text1100012@1100022 : TextConst 'ENU=The posting process has been cancelled by the user.;ESP=El proceso de registro ha sido cancelado por el usuario.';
    AppliedAmountLCY2@1100053 : Decimal;
    AppliesToDocType@1100023 : Integer;

    PROCEDURE GetGLReg@10(VAR NewGLReg@1000 : Record 45);
    BEGIN
    NewGLReg := GLReg;
    END;
    ...

    대체 코드

    ...Text1100010@1100016 : TextConst 'ENU=Remove it from its payment order and try again.;ESP=B¢rrelo de la orden de pago e int‚ntelo de nuevo.';
    Text1100011@1100021 : TextConst 'ENU=Document Type is " " in Line %1. This posting will not realize the VAT, do you want to proceed?;ESP=El tipo de documento es " " en la l¡nea %1. Esta contabilizaci¢n no tendr en cuenta el IVA, ¨desea continuar?';
    Text1100012@1100022 : TextConst 'ENU=The posting process has been cancelled by the user.;ESP=El proceso de registro ha sido cancelado por el usuario.';
    AppliedAmountLCY2@1100053 : Decimal;
    AppliesToDocType@1100023 : Integer;

    // Add the following line.
    Text1100013@1100026 : TextConst 'ENU=You do not have permissions to apply or unapply documents in the Cartera Module.';
    // End of the added line.


    PROCEDURE GetGLReg@10(VAR NewGLReg@1000 : Record 45);
    BEGIN
    NewGLReg := GLReg;
    END;
    ...
  2. ApplyCustLedgEntry의 코드 변경함수의 경우에 Gen. Jnl.-아래와 같이 게시 줄 Codeunit (12).
    기존 코드 1

    ...OldCustLedgEntry.SETRANGE("Bill No.",NewCVLedgEntryBuf."Applies-to Bill No.");
    OldCustLedgEntry.SETRANGE("Customer No.",NewCVLedgEntryBuf."CV No.");
    OldCustLedgEntry.SETRANGE(Open,TRUE);

    OldCustLedgEntry.FINDFIRST;
    OldCustLedgEntry.TESTFIELD(Positive,NOT NewCVLedgEntryBuf.Positive);
    IF AppManagement.AccessToCartera THEN
    DocPost.CheckAppliedReceivableDoc(
    OldCustLedgEntry,GenJnlLine."System-Created Entry");
    ...

    대체 코드 1

    ...OldCustLedgEntry.SETRANGE("Bill No.",NewCVLedgEntryBuf."Applies-to Bill No.");
    OldCustLedgEntry.SETRANGE("Customer No.",NewCVLedgEntryBuf."CV No.");
    OldCustLedgEntry.SETRANGE(Open,TRUE);

    OldCustLedgEntry.FINDFIRST;

    // Add the following line.
    CheckCarteraAccessPermissions(OldCustLedgEntry."Document Situation");
    // End of the added line.

    OldCustLedgEntry.TESTFIELD(Positive,NOT NewCVLedgEntryBuf.Positive);
    IF AppManagement.AccessToCartera THEN
    DocPost.CheckAppliedReceivableDoc(
    OldCustLedgEntry,GenJnlLine."System-Created Entry");
    ...

    기존 코드 2

    ...// Check Cust Ledger Entry and add to Temp.
    IF SalesSetup."Appln. between Currencies" = SalesSetup."Appln. between Currencies"::None THEN
    OldCustLedgEntry.SETRANGE("Currency Code",NewCVLedgEntryBuf."Currency Code");
    IF OldCustLedgEntry.FINDSET(FALSE,FALSE) THEN

    // Delete the following lines.
    REPEAT
    IF GenJnlApply.CheckAgainstApplnCurrency(
    NewCVLedgEntryBuf."Currency Code",
    OldCustLedgEntry."Currency Code",
    GenJnlLine."Account Type"::Customer,
    FALSE)
    THEN BEGIN
    IF (OldCustLedgEntry."Posting Date" > ApplyingDate) AND (OldCustLedgEntry."Applies-to ID" <> '') THEN
    ApplyingDate := OldCustLedgEntry."Posting Date";
    TempOldCustLedgEntry := OldCustLedgEntry;
    TempOldCustLedgEntry.INSERT;
    END;
    UNTIL OldCustLedgEntry.NEXT=0;
    // End of the deleted lines.


    TempOldCustLedgEntry.SETRANGE(Positive,NewCVLedgEntryBuf."Remaining Amount" > 0);

    IF TempOldCustLedgEntry.FIND('-') THEN BEGIN
    ...

    대체 코드 2

    ...// Check Cust Ledger Entry and add to Temp.
    IF SalesSetup."Appln. between Currencies" = SalesSetup."Appln. between Currencies"::None THEN
    OldCustLedgEntry.SETRANGE("Currency Code",NewCVLedgEntryBuf."Currency Code");
    IF OldCustLedgEntry.FINDSET(FALSE,FALSE) THEN

    // Add the following lines.
    REPEAT
    CheckCarteraAccessPermissions(OldCustLedgEntry."Document Situation");
    IF GenJnlApply.CheckAgainstApplnCurrency(
    NewCVLedgEntryBuf."Currency Code",
    OldCustLedgEntry."Currency Code",
    GenJnlLine."Account Type"::Customer,
    FALSE)
    THEN BEGIN
    IF (OldCustLedgEntry."Posting Date" > ApplyingDate) AND (OldCustLedgEntry."Applies-to ID" <> '') THEN
    ApplyingDate := OldCustLedgEntry."Posting Date";
    TempOldCustLedgEntry := OldCustLedgEntry;
    TempOldCustLedgEntry.INSERT;
    END;
    UNTIL OldCustLedgEntry.NEXT=0;
    // End of the added lines.


    TempOldCustLedgEntry.SETRANGE(Positive,NewCVLedgEntryBuf."Remaining Amount" > 0);

    IF TempOldCustLedgEntry.FIND('-') THEN BEGIN...
  3. UnapplyCustLedgEntry 에 Gen. Jnl. 함수의 코드를 변경-다음과 같이 게시 줄 Codeunit (12).
    기존 코드

    ...DtldCustLedgEntry2.SETRANGE("Customer No.",DtldCustLedgEntry."Customer No.");
    DtldCustLedgEntry2.SETFILTER("Entry Type",'>%1',DtldCustLedgEntry."Entry Type"::"Initial Entry");
    UnapplyVATEntries := FALSE;
    DtldCustLedgEntry2.FINDSET;
    REPEAT
    DtldCustLedgEntry2.TESTFIELD(Unapplied,FALSE);
    IF (DtldCustLedgEntry2."Entry Type" = DtldCustLedgEntry2."Entry Type"::"Payment Discount (VAT Adjustment)") OR
    (DtldCustLedgEntry2."Entry Type" = DtldCustLedgEntry2."Entry Type"::"Payment Tolerance (VAT Adjustment)") OR
    (DtldCustLedgEntry2."Entry Type" = DtldCustLedgEntry2."Entry Type"::"Payment Discount Tolerance (VAT Adjustment)")
    THEN
    ...

    대체 코드

    ...DtldCustLedgEntry2.SETRANGE("Customer No.",DtldCustLedgEntry."Customer No.");
    DtldCustLedgEntry2.SETFILTER("Entry Type",'>%1',DtldCustLedgEntry."Entry Type"::"Initial Entry");
    UnapplyVATEntries := FALSE;
    DtldCustLedgEntry2.FINDSET;
    REPEAT

    // Add the following line.
    CheckCarteraAccessPermissions(DtldCustLedgEntry2."Document Situation");
    // End of the added line.

    DtldCustLedgEntry2.TESTFIELD(Unapplied,FALSE);
    IF (DtldCustLedgEntry2."Entry Type" = DtldCustLedgEntry2."Entry Type"::"Payment Discount (VAT Adjustment)") OR
    (DtldCustLedgEntry2."Entry Type" = DtldCustLedgEntry2."Entry Type"::"Payment Tolerance (VAT Adjustment)") OR
    (DtldCustLedgEntry2."Entry Type" = DtldCustLedgEntry2."Entry Type"::"Payment Discount Tolerance (VAT Adjustment)")
    THEN
    ...
  4. ApplyVendLedgEntry 에 Gen. Jnl. 함수의 코드를 변경-다음과 같이 게시 줄 Codeunit (12).
    기존 코드 1

    ...OldVendLedgEntry.SETRANGE("Document Type",GenJnlLine."Applies-to Doc. Type");
    OldVendLedgEntry.SETRANGE("Bill No.",NewCVLedgEntryBuf."Applies-to Bill No.");
    OldVendLedgEntry.SETRANGE("Vendor No.",NewCVLedgEntryBuf."CV No.");
    OldVendLedgEntry.SETRANGE(Open,TRUE);
    OldVendLedgEntry.FINDFIRST;
    OldVendLedgEntry.TESTFIELD(Positive,NOT NewCVLedgEntryBuf.Positive);
    IF AppManagement.AccessToCartera THEN
    DocPost.CheckAppliedPayableDoc(
    OldVendLedgEntry,GenJnlLine."System-Created Entry");
    ...

    대체 코드 1

    ...OldVendLedgEntry.SETRANGE("Document Type",GenJnlLine."Applies-to Doc. Type");
    OldVendLedgEntry.SETRANGE("Bill No.",NewCVLedgEntryBuf."Applies-to Bill No.");
    OldVendLedgEntry.SETRANGE("Vendor No.",NewCVLedgEntryBuf."CV No.");
    OldVendLedgEntry.SETRANGE(Open,TRUE);
    OldVendLedgEntry.FINDFIRST;

    // Add the following line.
    CheckCarteraAccessPermissions(OldVendLedgEntry."Document Situation");
    // End of the added line.

    OldVendLedgEntry.TESTFIELD(Positive,NOT NewCVLedgEntryBuf.Positive);
    IF AppManagement.AccessToCartera THEN
    DocPost.CheckAppliedPayableDoc(
    OldVendLedgEntry,GenJnlLine."System-Created Entry");
    ...

    기존 코드 2

    ...//Check and Move Ledger Entries to Temp
    IF PurchSetup."Appln. between Currencies" = PurchSetup."Appln. between Currencies"::None THEN
    OldVendLedgEntry.SETRANGE("Currency Code",NewCVLedgEntryBuf."Currency Code");
    IF OldVendLedgEntry.FINDSET(FALSE,FALSE) THEN
    REPEAT
    IF GenJnlApply.CheckAgainstApplnCurrency(
    NewCVLedgEntryBuf."Currency Code",
    OldVendLedgEntry."Currency Code",
    GenJnlLine."Account Type"::Vendor,
    FALSE)
    ...

    대체 코드 2

    ...//Check and Move Ledger Entries to Temp
    IF PurchSetup."Appln. between Currencies" = PurchSetup."Appln. between Currencies"::None THEN
    OldVendLedgEntry.SETRANGE("Currency Code",NewCVLedgEntryBuf."Currency Code");
    IF OldVendLedgEntry.FINDSET(FALSE,FALSE) THEN
    REPEAT

    // Add the following line.
    CheckCarteraAccessPermissions(OldVendLedgEntry."Document Situation");
    // End of the added line.

    IF GenJnlApply.CheckAgainstApplnCurrency(
    NewCVLedgEntryBuf."Currency Code",
    OldVendLedgEntry."Currency Code",
    GenJnlLine."Account Type"::Vendor,
    FALSE)
    ...
  5. UnapplyVendLedgEntry 에 Gen. Jnl. 함수의 코드를 변경-다음과 같이 게시 줄 Codeunit (12).
    기존 코드

    ...DtldVendLedgEntry2.SETCURRENTKEY("Transaction No.","Vendor No.","Entry Type");
    DtldVendLedgEntry2.SETRANGE("Transaction No.",DtldVendLedgEntry."Transaction No.");
    DtldVendLedgEntry2.SETRANGE("Vendor No.",DtldVendLedgEntry."Vendor No.");
    DtldVendLedgEntry2.SETFILTER("Entry Type",'>%1',DtldVendLedgEntry."Entry Type"::"Initial Entry");
    DtldVendLedgEntry2.FINDSET;
    UnapplyVATEntries := FALSE;
    REPEAT
    IF (DtldVendLedgEntry2."Entry Type" = DtldVendLedgEntry2."Entry Type"::"Payment Discount (VAT Adjustment)") OR
    (DtldVendLedgEntry2."Entry Type" = DtldVendLedgEntry2."Entry Type"::"Payment Tolerance (VAT Adjustment)") OR
    (DtldVendLedgEntry2."Entry Type" = DtldVendLedgEntry2."Entry Type"::"Payment Discount Tolerance (VAT Adjustment)")
    ...

    대체 코드

    ...DtldVendLedgEntry2.SETCURRENTKEY("Transaction No.","Vendor No.","Entry Type");
    DtldVendLedgEntry2.SETRANGE("Transaction No.",DtldVendLedgEntry."Transaction No.");
    DtldVendLedgEntry2.SETRANGE("Vendor No.",DtldVendLedgEntry."Vendor No.");
    DtldVendLedgEntry2.SETFILTER("Entry Type",'>%1',DtldVendLedgEntry."Entry Type"::"Initial Entry");
    DtldVendLedgEntry2.FINDSET;

    // Add the following line.
    CheckCarteraAccessPermissions(DtldVendLedgEntry2."Document Situation");
    // End of the added line.

    UnapplyVATEntries := FALSE;
    REPEAT
    IF (DtldVendLedgEntry2."Entry Type" = DtldVendLedgEntry2."Entry Type"::"Payment Discount (VAT Adjustment)") OR
    (DtldVendLedgEntry2."Entry Type" = DtldVendLedgEntry2."Entry Type"::"Payment Tolerance (VAT Adjustment)") OR
    (DtldVendLedgEntry2."Entry Type" = DtldVendLedgEntry2."Entry Type"::"Payment Discount Tolerance (VAT Adjustment)")
    ...
  6. CheckCarteraAccessPermissions 에 Gen. Jnl. 함수의 코드를 변경-다음과 같이 게시 줄 Codeunit (12).
    기존 코드

    ...CLEAR(GenJnlLine2);

    EXIT(IsOK);
    END;

    BEGIN
    END.
    }
    }
    ...

    대체 코드

    ...CLEAR(GenJnlLine2);

    EXIT(IsOK);
    END;

    // Add the following lines.
    LOCAL PROCEDURE CheckCarteraAccessPermissions@1100024(DocumentSituation@1170001 : ' ,Posted BG/PO,Closed BG/PO,BG/PO,Cartera,Closed Documents');
    BEGIN
    IF (DocumentSituation <> DocumentSituation::" ") AND (NOT AppManagement.AccessToCartera) THEN
    ERROR(Text1100013);
    END;

    // End of the added lines.

    BEGIN
    END.
    }
    }
    ...

전제 조건

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

  • 스페인어 버전의 Microsoft Dynamics 탐색 2009 R2

  • 스페인어 버전의 Microsoft Dynamics 탐색 2009 SP1

제거 정보

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

상태

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

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

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

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

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

이 정보가 유용한가요?

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

의견 주셔서 감사합니다!

×