"Documentele nu pot fi ne-aplicate Service Credit fiscal a fost deja utilizată" mesaj de eroare când executați funcția Revocare aplicare intrări pe o factură de cumpărare pentru furnizorii de GTA specificat în Indian versiunea de Microsoft Dynamics NAV 2009

Se aplică la: Dynamics NAV 2009

Acest articol se aplică la Microsoft Dynamics NAV pentru Indian (regionale de limbă din).

Simptome


Când executați funcția Revocare aplicare intrări pe o factură de cumpărare care are o taxă de service pentru furnizorii de GTA specificat în Indian versiunea de Microsoft Dynamics NAV 2009 R2 și Microsoft Dynamics NAV 2009 Service Pack 1 (SP1), primiți următorul mesaj de eroare:
Documentele nu pot fi ne-aplicate Service Credit fiscal a fost deja utilizată.

Rezolvare


Informații despre remedierea rapidă

Un hotfix acceptat este acum disponibil de la Microsoft. Cu toate acestea, acesta este destinat numai corectării problemei descrise în acest articol. Aplicați-o numai pe sistemele care întâmpină această problemă anume. Această remediere rapidă poate să necesite testare suplimentară. De aceea, dacă nu sunteți grav afectat de această problemă, vă recomandăm să așteptați următorul pachet service pack Microsoft Dynamics NAV 2009 sau versiunea Microsoft Dynamics NAV următoare, care conține această remediere rapidă.

Notă În cazuri speciale, costurile implicate de obicei pentru asistență apeluri pot fi anulate dacă un specialist în asistență tehnică pentru Microsoft Dynamics și produse asociate stabilește că o anumită actualizare va rezolva problema. Se vor aplica costurile uzuale de asistenţă pentru întrebări suplimentare de asistenţă şi pentru probleme ce nu fac obiectul actualizării în cauză.


Informaţii despre instalare

Microsoft furnizează exemple de programare scop ilustrativ, fără nicio garanţie explicită sau implicită. Aceasta include, dar nu se limitează la, garanţiile implicite de vandabilitate sau de potrivire pentru un anumit scop. Acest articol presupune că sunteţi familiarizat cu limbajul de programare care este prezentat şi cu instrumentele utilizate pentru a crea şi a depana proceduri. Specialiștii în asistență Microsoft pot ajuta la explicarea funcționalității unei anumite proceduri, dar nu vor modifica aceste exemple pentru a furniza funcționalitate suplimentară sau pentru a construi proceduri pentru a răspunde cerințelor dvs. specifice.

Notă Înainte de a instala această remediere rapidă, Verificați că toate Microsoft Navision client utilizatorii au făcut Log off sistemul. Aceasta include utilizatorii de client Microsoft Navision Application Services (NAS). Ar trebui să fie doar client utilizatorului care este conectat când implementați această remediere rapidă.

Pentru a implementa această remediere rapidă, trebuie să aibă o licență pentru dezvoltatori.

Vă recomandăm că contul de utilizator în fereastra Conectări Windows sau în fereastra Conectări bază de date se atribuie "SUPER" rolul ID-ul. În cazul în care contul de utilizator nu poate fi atribuit ID-ul "SUPER" rolul, trebuie să verificați că contul de utilizator are următoarele permisiuni:
  • Modify permisiunea pentru obiectul care se va schimba.
  • Permisiunea de executare pentru obiectul de sistem obiect ID 5210 și pentru obiectul de sistem obiect ID 9015 .


Notă Nu trebuie să aveți drepturi de la magazine de date decât dacă trebuie să efectuați o reparare de date.

Modificări de cod

Notă Întotdeauna test cod remediază într-un mediu controlat înainte de a aplica remedieri pentru computerele de producție.
Pentru a rezolva această problemă, urmați acești pași:
  1. Adăugați următoarele global variabila în gen jurnal.-Post linie codeunit (12):
    • TempServiceTaxEntry3@1500076: Înregistrare temporară 16473
  2. Adăugați următoarele variabila locală în funcția UnApplyVendSTEntries în gen jurnal.-Post linie codeunit (12):
    • STEntryDetail2@1500000: Înregistrare 16474
  3. Modificați codul din funcția UnApplyVendSTEntries în gen jurnal.-Post linie codeunit (12) după cum urmează:
    Cod existent 1
    ...        STaxApplBuffer[1].DELETEALL;
    WITH DtldVendLedgEntry2 DO BEGIN
    ...

    Cod de înlocuire 1
    ...        STaxApplBuffer[1].DELETEALL;

    // Add the following line.
    TempServiceTaxEntry3.DELETEALL;
    // End of the line.

    WITH DtldVendLedgEntry2 DO BEGIN
    ...

    Cod existent 2
    ...              ServiceTaxMgt.UnApplyVendPmtEntries(STEntryDetail,NextTransactionNo);

    // Delete the following line.
    Sign := -1;
    FillSvcTaxApplication4(STEntryDetail,Sign);
    Sign := 1;
    FillSvcTaxApplication4(STEntryDetail,Sign);
    ServiceTaxEntry.GET(STEntryDetail."Service Tax Entry No.");
    IF ServiceTaxEntry."Serv. Tax on Advance Payment" THEN BEGIN
    // End of the line.
    ...

    Înlocuirea cod 2
    ...              ServiceTaxMgt.UnApplyVendPmtEntries(STEntryDetail,NextTransactionNo);

    // Add the following lines.
    ServiceTaxEntry.GET(STEntryDetail."Service Tax Entry No.");
    ServiceTaxSetup.RESET;
    ServiceTaxSetup.SETRANGE(Code,STEntryDetail."Service Tax Group Code");
    ServiceTaxSetup.SETRANGE("From Date",0D,STEntryDetail."Posting Date");
    TempServiceTaxEntry3.TRANSFERFIELDS(ServiceTaxEntry);
    IF NOT STEntryDetail.GTA THEN BEGIN
    TempServiceTaxEntry3.INSERT;
    Sign := -1;
    END ELSE BEGIN
    TempServiceTaxEntry3."G/L Account" := STEntryDetail."GL Account";
    TempServiceTaxEntry3.INSERT;
    Sign := 1;
    END;

    FillSvcTaxApplication4(STEntryDetail,Sign);

    STEntryDetail2 := STEntryDetail;
    IF NOT STEntryDetail.GTA THEN
    Sign := 1
    ELSE BEGIN
    IF ServiceTaxSetup.FINDLAST THEN
    STEntryDetail2."GL Account" := ServiceTaxSetup."Payables Account (Interim)";
    Sign := -1;
    END;

    FillSvcTaxApplication4(STEntryDetail2,Sign);
    IF ServiceTaxEntry."Serv. Tax on Advance Payment" THEN BEGIN
    // End of the lines.
    ...

    Cod existent 3
    ...                  ServiceTaxEntry."From Excise" := STEntryDetail."From Excise";

    // Delete the following lines.
    ServiceTaxSetup.RESET;
    ServiceTaxSetup.SETRANGE(Code,STEntryDetail."Service Tax Group Code");
    ServiceTaxSetup.SETRANGE("From Date",0D,STEntryDetail."Posting Date");
    // End of the lines.

    IF ServiceTaxSetup.FINDLAST THEN BEGIN
    ...

    Cod de înlocuire 3
    ...                  ServiceTaxEntry."From Excise" := STEntryDetail."From Excise";
    IF ServiceTaxSetup.FINDLAST THEN BEGIN
    ...

  4. Ștergeți următoarele variabila locală în funcția FillSvcTaxApplication4 în gen jurnal.-Post linie codeunit (12):
    • VAR ServiceTaxEntry@1002: Înregistrare 16473
  5. Modificați codul din funcția FillSvcTaxApplication4 în gen jurnal.-Post linie codeunit (12) după cum urmează:
    Cod existent
    ...          IF Sign < 0 THEN

    // Delete the following lines.
    STaxApplBuffer[1]."G/L Account" := "GL Account"
    ELSE BEGIN
    ServiceTaxEntry.GET("Service Tax Entry No.");
    STaxApplBuffer[1]."G/L Account" := ServiceTaxEntry."G/L Account";
    END;
    // End of the lines.

    STaxApplBuffer[1]."Amount to Apply (LCY)" := Sign * ("Service Tax Amount" + "Service Tax eCess Amount" +
    ...

    Cod de înlocuire
    ...IF Sign < 0 THEN

    // Add the following lines.
    STaxApplBuffer[1]."G/L Account" := "GL Account"
    ELSE
    STaxApplBuffer[1]."G/L Account" := TempServiceTaxEntry3."G/L Account";
    // End of the lines.

    STaxApplBuffer[1]."Amount to Apply (LCY)" := Sign * ("Service Tax Amount" + "Service Tax eCess Amount" +
    ...

  6. Modificați codul din funcția UnApplyVendPmtEntries în codeunit taxe Service Management (16471) după cum urmează:
    Cod existent 1
    ...        WITH STEntryDetail DO BEGIN

    // Delete the following lines.
    IF ("Service Tax Amount" <> "Remaining Credit") OR ("Service Tax eCess Amount" <> "Remaining Credit (eCess)") OR
    ("Service Tax SHE Cess Amount" <> "Remaining Credit (SHECess)")
    THEN
    ERROR(Text16535,"Document No.");
    // End of the lines.

    STEntryDetail2.RESET;
    ...

    Cod de înlocuire 1
    ...        WITH STEntryDetail DO BEGIN

    // Add the following lines.
    IF GTA THEN BEGIN
    IF ("Service Tax Amount" <> "GTA Remaining Credit") OR ("Service Tax eCess Amount" <> "GTA Remaining Credit (eCess)") OR
    ("Service Tax SHE Cess Amount" <> "GTA Remaining Credit (SHECess)")
    THEN
    ERROR(Text16535,"Document No.");
    END ELSE BEGIN
    IF ("Service Tax Amount" <> "Remaining Credit") OR ("Service Tax eCess Amount" <> "Remaining Credit (eCess)") OR
    ("Service Tax SHE Cess Amount" <> "Remaining Credit (SHECess)")
    THEN
    ERROR(Text16535,"Document No.");
    END;
    // End of the lines.

    STEntryDetail2.RESET;
    ...

    Cod existent 2
    ...          STEntryDetail2."Remaining S.T. Base Amount" := - STEntryDetail2."Remaining S.T. Base Amount";
    STEntryDetail2.INSERT;
    ...

    Înlocuirea cod 2
    ...          STEntryDetail2."Remaining S.T. Base Amount" := - STEntryDetail2."Remaining S.T. Base Amount";

    // Add the following lines.
    STEntryDetail2."GTA Remaining Credit" := - STEntryDetail2."GTA Remaining Credit";
    STEntryDetail2."GTA Remaining Credit (eCess)" := - STEntryDetail2."GTA Remaining Credit (eCess)";
    STEntryDetail2."GTA Remaining Credit (SHECess)" := - STEntryDetail2."GTA Remaining Credit (SHECess)";
    // End of the lines.

    STEntryDetail2.INSERT;
    ...

Cerințe preliminare

Trebuie să aveți unul dintre următoarele produse instalate pentru a aplica această remediere rapidă:
  • Indian versiunea de Microsoft Dynamics NAV 2009 R2
  • Indian versiunea de Microsoft Dynamics NAV 2009 Service Pack 1

Eliminare informaţii

Nu se poate elimina această remediere rapidă.

Stare


Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".
Notă Acesta este un articol "rapid publicat" creat direct în cadrul organizației de asistență Microsoft. Informațiile conținute în acest document sunt furnizate ca răspuns la problemele care apar. Ca rezultat al vitezei în a-l face disponibil, materialele pot include erori tipografice și pot fi revizuite în orice moment, fără notificare. Consultați Termenii de utilizare pentru alte considerații.