Ytterligere RG 23 A Part II-oppføring eller en ekstra RG 23 C Part II-oppføring opprettes uventet når du legger inn en kjøpsfaktura i den indiske versjonen av Microsoft Dynamics NAV 2009 Service Pack 1

Gjelder for
Dynamics NAV 2009 Service Pack 1

Denne artikkelen gjelder for Microsoft Dynamics NAV for den indiske (i) språkinnstillingen.

Symptomer

Vurder følgende scenario i den indiske versjonen av Microsoft Dynamics NAV 2009 Service Pack 1 (SP1):

  • Du oppretter en bestilling som bruker utenlandsk valuta for en vare.
  • Du knytter en struktur til kjøpet for å beregne CVD-en eller forbrukeravgiften på varen.
  • Du kan legge inn bestillingen som kvittering.
  • En RG 23 A Part II-oppføring opprettes.
  • Du oppretter en kjøpsfaktura for innkjøpsordren ved hjelp av hent kvitteringsfunksjonalitet.
  • Du legger inn kjøpsfakturaen.

I dette scenarioet opprettes en ekstra RG 23 A Part II-oppføring uventet.
La oss i tillegg anta at du oppretter en ny innkjøpsordre for et anleggsmiddel eller for en vare der det er merket av for Kapitalelement . I samme scenario, når du legger inn den tilsvarende kjøpsfakturaen som er opprettet for bestillingen, opprettes en ekstra RG 23 C Del II-oppføring uventet.

Oppløsning

Hurtigreparasjonsinformasjon

En støttet hurtigreparasjon er nå tilgjengelig fra Microsoft. Det er imidlertid bare ment å rette opp problemet som er beskrevet i denne artikkelen. Bruk den bare på systemer som opplever dette spesifikke problemet. Denne hurtigreparasjonen kan få ytterligere testing. Hvis du ikke er alvorlig påvirket av dette problemet, anbefaler vi derfor at du venter på den neste Microsoft Dynamics NAV-oppdateringspakken eller den neste Microsoft Dynamics NAV-versjonen som inneholder denne hurtigreparasjonen.

Obs! I spesielle tilfeller kan kostnader som vanligvis påløper for støtteanrop, bli avbrutt hvis en technical support professional for Microsoft Dynamics og relaterte produkter bestemmer at en bestemt oppdatering vil løse problemet. De vanlige støttekostnadene gjelder for ytterligere støttespørsmål og problemer som ikke kvalifiserer for den aktuelle oppdateringen.

            
          

Installasjonsinformasjon

Microsoft tilbyr programmeringseksempler bare for illustrasjon, uten garanti enten uttrykt eller underforstått. Dette omfatter, men er ikke begrenset til, de underforståtte garantiene om salgbarhet eller egnethet for et bestemt formål. Denne artikkelen antar at du er kjent med programmeringsspråket som demonstreres, og med verktøyene som brukes til å opprette og feilsøke prosedyrer. Microsoft kundestøtteteknikere kan bidra til å forklare funksjonaliteten til en bestemt prosedyre, men de vil ikke endre disse eksemplene for å gi ekstra funksjonalitet eller konstruere prosedyrer for å oppfylle dine spesifikke krav.

Obs! Før du installerer denne hurtigreparasjonen, må du kontrollere at alle Microsoft Navision-klientbrukere er logget av systemet. Dette inkluderer microsoft Navision Application Services (NAS)-klientbrukere. Du bør være den eneste klientbrukeren som er logget på når du implementerer denne hurtigreparasjonen.

Hvis du vil implementere denne hurtigreparasjonen, må du ha en utviklerlisens.

Vi anbefaler at brukerkontoen i Windows-påloggingsvinduet eller i vinduet Pålogginger for database tilordnes rolle-ID-en SUPER. Hvis brukerkontoen ikke kan tilordnes rolle-IDen SUPER, må du kontrollere at brukerkontoen har følgende tillatelser:

  • Endre-tillatelsen for objektet du skal endre.
  • Execute-tillatelsen for Objektet System Object ID 5210 og systemobjekt-ID 9015-objektet.

                
Vær oppmerksom på at du ikke trenger å ha rettigheter til datalagrene med mindre du må utføre datareparasjon.

Kodeendringer

Obs! Test alltid kodeløsninger i et kontrollert miljø før du bruker løsningene på produksjonsdatamaskinene.
Følg disse trinnene for å løse dette problemet:

  1. Endre koden i feltene i kjøpslinjetabellen (39) på følgende måte:
    Eksisterende kode 1

    ...
    Currency."Amount Rounding Precision");
    "Inv. Discount Amount" := 0;
    "Inv. Disc. Amount to Invoice" := 0;
    UpdateAmounts;
    UpdateUnitCost;
    END;
    
    CaptionML=ENU=Line Discount %;
    DecimalPlaces=0:5;
    MinValue=0;
    ...
    

    Erstatningskode 1

    ...
    Currency."Amount Rounding Precision");
    "Inv. Discount Amount" := 0;
    "Inv. Disc. Amount to Invoice" := 0;
    UpdateAmounts;
    UpdateUnitCost;
    
    // Add the following line.
     CheckExciseRegister;
    
    END;
    
    CaptionML=ENU=Line Discount %;
    DecimalPlaces=0:5;
    MinValue=0;
    ...
    

    Eksisterende kode 2

    ...
    "Line Discount %" := 0;
    "Inv. Discount Amount" := 0;
    "Inv. Disc. Amount to Invoice" := 0;
    UpdateAmounts;
    UpdateUnitCost;
    END;
    
    CaptionML=ENU=Line Discount Amount;
    AutoFormatType=1;
    AutoFormatExpr="Currency Code" }
    ...
    

    Erstatningskode 2

    ...
    "Line Discount %" := 0;
    "Inv. Discount Amount" := 0;
    "Inv. Disc. Amount to Invoice" := 0;
    UpdateAmounts;
    UpdateUnitCost;
    
    // Add the following lines.
     GetPurchHeader;
     CheckExciseRegister;
    // End of the lines.
    
    END;
    
    CaptionML=ENU=Line Discount Amount;
    AutoFormatType=1;
    AutoFormatExpr="Currency Code" }
    ...
    
  2. Legg til en ny global variabel i Kjøpslinje-tabellen (39), og angi deretter variabelen på følgende måte:

    • Navn: Text16510
    • DataType: TextConst
    • Verdi: ENU=RG-registeret er allerede opprettet for kvitteringene. Hvis du vil at endringene skal gjenspeiles i RG-registrene, kan du bruke funksjonen Hent kvitteringslinjer fra fakturaen og deretter publisere.
  3. Endre koden i UpdateStruOrdLineDetails-funksjonen i Kjøpslinje-tabellen (39) som følger:
    Eksisterende kode

    ...
    BEGIN
    GetPurchHeader;
    PurchHeader.TESTFIELD(Structure);
    StructureDetail.SETRANGE(Code, PurchHeader.Structure);
    StructureDetail.SETRANGE(Type,StructureDetail.Type::Excise);
    IF StructureDetail.FIND('-') THEN BEGIN
    StrOrderLineDetails.GET(StrOrderLineDetails.Type::Purchase,StructureDetail."Calculation Order",
    "Document Type","Document No.","No.","Line No.",StructureDetail.Type,'','EXCISE');
    ...
    

    Erstatningskode

    ...
    BEGIN
    GetPurchHeader;
    PurchHeader.TESTFIELD(Structure);
    
    // Add the following line.
     CheckExciseRegister;
    
    StructureDetail.SETRANGE(Code, PurchHeader.Structure);
    StructureDetail.SETRANGE(Type,StructureDetail.Type::Excise);
    IF StructureDetail.FIND('-') THEN BEGIN
    StrOrderLineDetails.GET(StrOrderLineDetails.Type::Purchase,StructureDetail."Calculation Order",
    "Document Type","Document No.","No.","Line No.",StructureDetail.Type,'','EXCISE');
    ...
    
  4. Endre koden i showsubOrderRcptForm-funksjonen i Kjøpslinje-tabellen (39) som følger:
    Eksisterende kode

    ...
    FORM.RUNMODAL(FORM::"Order Subcon Details Receipt",PurchaseLine)
    ELSE
    FORM.RUNMODAL(FORM::"Ord. Subcon Details Rcpt. List",PurchaseLine)
    END;
    
    // Delete the following line.
     BEGIN
    
    END.
    }
    }
    ...
    

    Erstatningskode

    ...
    FORM.RUNMODAL(FORM::"Order Subcon Details Receipt",PurchaseLine)
    ELSE
    FORM.RUNMODAL(FORM::"Ord. Subcon Details Rcpt. List",PurchaseLine)
    END;
    
    // Add the following lines.
     PROCEDURE CheckExciseRegister@1102601000();
     BEGIN
    
     IF ((("Document Type" = "Document Type" ::"Return Order") OR ("Document Type" ="Document Type" ::Order)) AND
     ("Quantity Received" <> 0 ) AND ("Excise Amount" <> 0 ))
     THEN BEGIN
     IF NOT PurchHeader.Trading THEN
     IF ("Direct Unit Cost" <> xRec."Direct Unit Cost") OR ("Line Amount" <> xRec."Line Amount") OR
     ("Line Discount %" <> xRec."Line Discount %") OR ("Line Discount Amount" <> xRec."Line Discount Amount") OR
     ("BED Amount" <> xRec."BED Amount") OR ("AED(GSI) Amount" <> xRec."AED(GSI) Amount") OR
     ("SED Amount" <>xRec."SED Amount") OR ("SAED Amount" <> xRec."SAED Amount") OR
     ("CESS Amount" <> xRec."CESS Amount") OR ("NCCD Amount" <> xRec."NCCD Amount") OR
     ("eCess Amount" <> xRec."eCess Amount") OR ("ADET Amount" <> xRec."ADET Amount") OR
     ("ADE Amount"<> xRec."ADE Amount") OR ("SHE Cess Amount" <> xRec."SHE Cess Amount") OR
     ("AED(TTA) Amount" <> "AED(TTA) Amount")
     THEN
     ERROR(Text16510);
     END;
    // End of the lines.
    
     END;}
    }
    ...
    
  5. Endre nøklene i RG 23 A Part II-tabellen (13720) som følger:
    Eksisterende kode

    ...
    { ;Entry No. ;Clustered=Yes }
    { ;Document No.,Posting Date }
    { ;Type }
    { ;Location E.C.C. No. ;SumIndexFields=BED Credit,AED(GSI) Credit,SED Credit,SAED Credit,NCCD Credit,eCess Credit,CESS Debit,ADC VAT Credit,SHE Cess Credit }
    { ;Posting Date,Location E.C.C. No.,Type }
    
    // Delete the following line.
    { ;Excise as Service Tax Credit,Closed,Remaining Excise Amount,Location E.C.C. No. }
    
    { ;Location E.C.C. No.,Excise as Service Tax Credit;
    SumIndexFields=Remaining BED Credit,Remaining AED(GSI) Credit,Remaining SED Credit,Remaining SAED Credit,Remaining NCCD Credit,Remaining eCess Credit,Remaining ADET Credit,Remaining AED(TTA) Credit,Remaining ADE Credit,Remaining ADC VAT Credit,Remaining SHECess Credit }
    { ;Location E.C.C. No.,Closed,Remaining Excise Amount,Excise as Service Tax Credit,Cenvat Cr. Receivable Account;
    SumIndexFields=Remaining BED Credit,Remaining AED(GSI) Credit,Remaining SED Credit,Remaining SAED Credit,Remaining NCCD Credit,Remaining eCess Credit,Remaining ADET Credit,Remaining AED(TTA) Credit,Remaining ADE Credit,Remaining ADC VAT Credit,Remaining SHECess Credit }
    { ;Location E.C.C. No.,Excise as Service Tax Credit,Posting Date;
    ...
    

    Repalcement code

    ...
    { ;Entry No. ;Clustered=Yes }
    { ;Document No.,Posting Date }
    { ;Type }
    { ;Location E.C.C. No. ;SumIndexFields=BED Credit,AED(GSI) Credit,SED Credit,SAED Credit,NCCD Credit,eCess Credit,CESS Debit,ADC VAT Credit,SHE Cess Credit }
    { ;Posting Date,Location E.C.C. No.,Type }
    
    // Add the following line.
    { ;Excise as Service Tax Credit,Closed,Location E.C.C. No. }
    
    { ;Location E.C.C. No.,Excise as Service Tax Credit;
    SumIndexFields=Remaining BED Credit,Remaining AED(GSI) Credit,Remaining SED Credit,Remaining SAED Credit,Remaining NCCD Credit,Remaining eCess Credit,Remaining ADET Credit,Remaining AED(TTA) Credit,Remaining ADE Credit,Remaining ADC VAT Credit,Remaining SHECess Credit }
    { ;Location E.C.C. No.,Closed,Remaining Excise Amount,Excise as Service Tax Credit,Cenvat Cr. Receivable Account;
    SumIndexFields=Remaining BED Credit,Remaining AED(GSI) Credit,Remaining SED Credit,Remaining SAED Credit,Remaining NCCD Credit,Remaining eCess Credit,Remaining ADET Credit,Remaining AED(TTA) Credit,Remaining ADE Credit,Remaining ADC VAT Credit,Remaining SHECess Credit }
    { ;Location E.C.C. No.,Excise as Service Tax Credit,Posting Date;
    ...
    
  6. Endre nøklene i RG 23 C Del II-tabellen (13722) som følger:
    Eksisterende kode

    ...
    { ;Entry No. ;Clustered=Yes }
    { ;Document No.,Posting Date }
    { ;Type }
    { ;Location E.C.C. No. ;SumIndexFields=BED Credit,AED(GSI) Credit,SED Credit,SAED Credit,CESS Credit,NCCD Credit,eCess Credit,SHE Cess Credit,ADC VAT Credit }
    { ;Posting Date,Location E.C.C. No.,Type }
    
    // Delete the following line.
    { ;Excise as Service Tax Credit,Closed,Remaining Excise Amount,Location E.C.C. No. }
    
    { ;Location E.C.C. No.,Excise as Service Tax Credit;
    SumIndexFields=Remaining BED Credit,Remaining AED(GSI) Credit,Remaining SED Credit,Remaining SAED Credit,Remaining NCCD Credit,Remaining eCess Credit,Remaining ADET Credit,Remaining AED(TTA) Credit,Remaining ADE Credit,Remaining ADC VAT Credit,Remaining SHECess Credit }
    { ;Location E.C.C. No.,Closed,Remaining Excise Amount,Excise as Service Tax Credit;
    SumIndexFields=Remaining BED Credit,Remaining AED(GSI) Credit,Remaining SED Credit,Remaining SAED Credit,Remaining NCCD Credit,Remaining eCess Credit,Remaining ADET Credit,Remaining AED(TTA) Credit,Remaining ADE Credit,Remaining ADC VAT Credit,Remaining SHECess Credit }
    { ;Location E.C.C. No.,Excise as Service Tax Credit,Posting Date;
    ...
    

    Erstatningskode

    ...
    { ;Entry No. ;Clustered=Yes }
    { ;Document No.,Posting Date }
    { ;Type }
    { ;Location E.C.C. No. ;SumIndexFields=BED Credit,AED(GSI) Credit,SED Credit,SAED Credit,CESS Credit,NCCD Credit,eCess Credit,SHE Cess Credit,ADC VAT Credit }
    { ;Posting Date,Location E.C.C. No.,Type }
    
    // Add the following line.
    { ;Excise as Service Tax Credit,Closed,Location E.C.C. No. }
    
    { ;Location E.C.C. No.,Excise as Service Tax Credit;
    SumIndexFields=Remaining BED Credit,Remaining AED(GSI) Credit,Remaining SED Credit,Remaining SAED Credit,Remaining NCCD Credit,Remaining eCess Credit,Remaining ADET Credit,Remaining AED(TTA) Credit,Remaining ADE Credit,Remaining ADC VAT Credit,Remaining SHECess Credit }
    { ;Location E.C.C. No.,Closed,Remaining Excise Amount,Excise as Service Tax Credit;
    SumIndexFields=Remaining BED Credit,Remaining AED(GSI) Credit,Remaining SED Credit,Remaining SAED Credit,Remaining NCCD Credit,Remaining eCess Credit,Remaining ADET Credit,Remaining AED(TTA) Credit,Remaining ADE Credit,Remaining ADC VAT Credit,Remaining SHECess Credit }
    { ;Location E.C.C. No.,Excise as Service Tax Credit,Posting Date;
    ...
    
  7. Legg til en ny lokal variabel i CheckExciseInvoiceDiff-funksjonen i Purch.-Post codeunit (90), og angi deretter variabelen som følger:

    • Navn: PurchRcptHead
    • Datatype: Post
    • Undertype: Purch. Rcpt. Header (120)
  8. Endre koden i CheckExciseInvoiceDiff-funksjonen i Purch.-Post codeunit (90) på følgende måte:
    Eksisterende kode 1

    ...
    EXIT;
    IF ("Document Type" = "Document Type"::Invoice) AND ("Receipt No." = '') THEN
    EXIT;
    IF ("Document Type" = "Document Type"::"Credit Memo") AND ("Return Shipment No." = '') THEN
    EXIT;
    
    // Delete the following lines.
     IF (NOT (Type IN[2,3])) THEN
     EXIT;
    // End of the lines.
    
    TempPurchLine.INIT;
    TempPurchLine.TRANSFERFIELDS(PurchLine);
    TempPurchLine.INSERT;
    
    IF ("Receipt No." <> '') THEN BEGIN
    ...
    

    Erstatningskode 1

    ...
    EXIT;
    IF ("Document Type" = "Document Type"::Invoice) AND ("Receipt No." = '') THEN
    EXIT;
    IF ("Document Type" = "Document Type"::"Credit Memo") AND ("Return Shipment No." = '') THEN
    EXIT;
    
    // Add the following lines.
     IF (NOT (Type IN[1,2,3])) THEN
     EXIT;
    // End of the lines.
    
    TempPurchLine.INIT;
    TempPurchLine.TRANSFERFIELDS(PurchLine);
    TempPurchLine.INSERT;
    
    IF ("Receipt No." <> '') THEN BEGIN
    ...
    

    Eksisterende kode 2

    ...
    TempPurchLine.INSERT;
    
    IF ("Receipt No." <> '') THEN BEGIN
    RcptHeader.GET("Receipt No.");
    RcptLine.GET("Receipt No.","Receipt Line No.");
    "BED Amount" -= RcptLine."BED Amount";
    "ADET Amount" -= RcptLine."ADET Amount";
    "ADE Amount" -= RcptLine."ADE Amount";
    "AED(GSI) Amount" -= RcptLine."AED(GSI) Amount";
    "AED(TTA) Amount" -= RcptLine."AED(TTA) Amount";
    ...
    

    Erstatningskode 2

    ...
    TempPurchLine.INSERT;
    
    IF ("Receipt No." <> '') THEN BEGIN
    RcptHeader.GET("Receipt No.");
    RcptLine.GET("Receipt No.","Receipt Line No.");
    
    // Add the following lines.
     IF RcptHeader."Currency Code" <> '' THEN BEGIN
     "BED Amount" := ("BED Amount" * RcptHeader."Currency Factor") - RcptLine."BED Amount";
     "ADET Amount" := ("ADET Amount" * RcptHeader."Currency Factor") - RcptLine."ADET Amount";
     "ADE Amount" := ("ADE Amount" * RcptHeader."Currency Factor") - RcptLine."ADE Amount";
     "AED(GSI) Amount" := ("AED(GSI) Amount" * RcptHeader."Currency Factor") - RcptLine."AED(GSI) Amount";
     "AED(TTA) Amount" := ("AED(TTA) Amount" * RcptHeader."Currency Factor") - RcptLine."AED(TTA) Amount";
     "CESS Amount" := ("CESS Amount" * RcptHeader."Currency Factor") - RcptLine."CESS Amount";
     "NCCD Amount" := ("NCCD Amount" * RcptHeader."Currency Factor") - RcptLine."NCCD Amount";
     "SAED Amount" := ("SAED Amount" * RcptHeader."Currency Factor") - RcptLine."SAED Amount";
     "SED Amount" := ("SED Amount" * RcptHeader."Currency Factor") - RcptLine."SED Amount";
     "eCess Amount" := ("eCess Amount" * RcptHeader."Currency Factor") - RcptLine."eCess Amount";
     "ADC VAT Amount" := ("ADC VAT Amount" * RcptHeader."Currency Factor") - RcptLine."ADC VAT Amount";
     "SHE Cess Amount" := ("SHE Cess Amount" * RcptHeader."Currency Factor") - RcptLine."SHE Cess Amount";
     "Custom eCess Amount" := ("Custom eCess Amount" * RcptHeader."Currency Factor") - RcptLine."Custom eCess Amount";
     "Custom SHECess Amount" := ("Custom SHECess Amount" * RcptHeader."Currency Factor") - RcptLine."Custom SHECess Amount";
     END ELSE BEGIN
    // End of the lines.
    
    "BED Amount" -= RcptLine."BED Amount";
    "ADET Amount" -= RcptLine."ADET Amount";
    "ADE Amount" -= RcptLine."ADE Amount";
    "AED(GSI) Amount" -= RcptLine."AED(GSI) Amount";
    "AED(TTA) Amount" -= RcptLine."AED(TTA) Amount";
    ...
    

    Eksisterende kode 3

    ...
    "eCess Amount" -= RcptLine."eCess Amount";
    "ADC VAT Amount" -= RcptLine."ADC VAT Amount";
    "SHE Cess Amount" -= RcptLine."SHE Cess Amount";
    "Custom eCess Amount" -= RcptLine."Custom eCess Amount";
    "Custom SHECess Amount" -= RcptLine."Custom SHECess Amount";
    
    IF (("BED Amount" <> 0) OR ("ADET Amount" <> 0) OR ("AED(GSI) Amount" <> 0) OR ("AED(TTA) Amount" <> 0) OR
    ("CESS Amount" <> 0) OR("NCCD Amount" <> 0) OR ("SAED Amount" <> 0) OR ("SED Amount" <> 0) OR ("eCess Amount" <> 0) OR
    ("ADE Amount" <> 0) OR ("ADC VAT Amount" <> 0) OR ("SHE Cess Amount" <> 0) OR ("Custom eCess Amount" <> 0) OR
    ("Custom SHECess Amount" <> 0))
    AND ("Excise Loading on Inventory" = FALSE)
    ...
    

    Erstatningskode 3

    ...
    "eCess Amount" -= RcptLine."eCess Amount";
    "ADC VAT Amount" -= RcptLine."ADC VAT Amount";
    "SHE Cess Amount" -= RcptLine."SHE Cess Amount";
    "Custom eCess Amount" -= RcptLine."Custom eCess Amount";
    "Custom SHECess Amount" -= RcptLine."Custom SHECess Amount";
    
    // Add the following line.
     END;
    
    IF (("BED Amount" <> 0) OR ("ADET Amount" <> 0) OR ("AED(GSI) Amount" <> 0) OR ("AED(TTA) Amount" <> 0) OR
    ("CESS Amount" <> 0) OR("NCCD Amount" <> 0) OR ("SAED Amount" <> 0) OR ("SED Amount" <> 0) OR ("eCess Amount" <> 0) OR
    ("ADE Amount" <> 0) OR ("ADC VAT Amount" <> 0) OR ("SHE Cess Amount" <> 0) OR ("Custom eCess Amount" <> 0) OR
    ("Custom SHECess Amount" <> 0))
    AND ("Excise Loading on Inventory" = FALSE)
    ...
    

    Eksisterende kode 4

    ...
    THEN BEGIN
    "Qty. to Receive (Base)" := RcptLine.Quantity;
    "Line No." := RcptLine."Line No.";
    IF (((Type = Type::Item) AND ("Capital Item" = TRUE)) OR (Type = Type::"Fixed Asset")) THEN
    ExciseInsertRGRegister.InsertRG23CPartIIPurchase(PurchLine,RcptHeader,ReturnShptHeader,TRUE)
    
    // Delete the following lines.
     ELSE
     ExciseInsertRGRegister.InsertRG23APartIIPurchase(PurchLine,RcptHeader,ReturnShptHeader,TRUE);
    // End of the lines.
    
    RcptLine."BED Amount" := TempPurchLine."BED Amount";
    RcptLine."ADET Amount" := TempPurchLine."ADET Amount";
    RcptLine."ADE Amount" := TempPurchLine."ADE Amount";
    RcptLine."AED(GSI) Amount" := TempPurchLine."AED(GSI) Amount";
    RcptLine."AED(TTA) Amount" := TempPurchLine."AED(TTA) Amount";
    ...
    

    Erstatningskode 4

    ...
    THEN BEGIN
    "Qty. to Receive (Base)" := RcptLine.Quantity;
    "Line No." := RcptLine."Line No.";
    IF (((Type = Type::Item) AND ("Capital Item" = TRUE)) OR (Type = Type::"Fixed Asset")) THEN
    ExciseInsertRGRegister.InsertRG23CPartIIPurchase(PurchLine,RcptHeader,ReturnShptHeader,TRUE)
    
    // Add the following lines.
     ELSE BEGIN
     IF (PurchLine."Receipt No." <> '') AND (PurchHeader."Currency Code" <> '') THEN BEGIN
     PurchRcptHead.GET(PurchLine."Receipt No.");
     IF PurchRcptHead."Currency Code" <> '' THEN
     ExciseInsertRGRegister.InsertRG23APartIIPurchase(PurchLine,RcptHeader,ReturnShptHeader,TRUE);
     END ELSE
     ExciseInsertRGRegister.InsertRG23APartIIPurchase(PurchLine,RcptHeader,ReturnShptHeader,TRUE);
     END;
    // End of the lines.
    
    RcptLine."BED Amount" := TempPurchLine."BED Amount";
    RcptLine."ADET Amount" := TempPurchLine."ADET Amount";
    RcptLine."ADE Amount" := TempPurchLine."ADE Amount";
    RcptLine."AED(GSI) Amount" := TempPurchLine."AED(GSI) Amount";
    RcptLine."AED(TTA) Amount" := TempPurchLine."AED(TTA) Amount";
    
  9. Endre koden i insertRG23APartIIPurchase-funksjonen i kodeenheten Sett inn RG-register (13701) på følgende måte:
    Eksisterende kode

    ...
    RG23APartII."Remaining Excise Amount" := RG23APartII."Remaining BED Credit" + RG23APartII."Remaining AED(GSI) Credit" +
    RG23APartII."Remaining SED Credit" + RG23APartII."Remaining SAED Credit" + RG23APartII."Remaining NCCD Credit" +
    RG23APartII."Remaining eCess Credit" + RG23APartII."Remaining ADET Credit" + RG23APartII."Remaining AED(TTA) Credit" +
    RG23APartII."Remaining ADE Credit" + RG23APartII."Remaining ADC VAT Credit" +
    RG23APartII."Remaining SHECess Credit";
    
    END ELSE BEGIN
    RG23APartII."Posting Date" := ReturnShptHeader."Posting Date";
    RG23APartII."Document No." := ReturnShptHeader."No.";
    IF NOT ExciseDifference THEN BEGIN
    RG23APartII."BED Debit" :=
    ...
    

    Erstatningskode

    ...
    RG23APartII."Remaining Excise Amount" := RG23APartII."Remaining BED Credit" + RG23APartII."Remaining AED(GSI) Credit" +
    RG23APartII."Remaining SED Credit" + RG23APartII."Remaining SAED Credit" + RG23APartII."Remaining NCCD Credit" +
    RG23APartII."Remaining eCess Credit" + RG23APartII."Remaining ADET Credit" + RG23APartII."Remaining AED(TTA) Credit" +
    RG23APartII."Remaining ADE Credit" + RG23APartII."Remaining ADC VAT Credit" +
    RG23APartII."Remaining SHECess Credit";
    
    // Add the following lines.
     IF ExciseDifference THEN
     AdjustCrEntriesRG23A(RG23APartII);
    // End of the lines.
    
    END ELSE BEGIN
    RG23APartII."Posting Date" := ReturnShptHeader."Posting Date";
    RG23APartII."Document No." := ReturnShptHeader."No.";
    IF NOT ExciseDifference THEN BEGIN
    RG23APartII."BED Debit" :=
    ...
    
  10. Legg til en ny lokal variabel i insertRG23CPartIIPurchase-funksjonen i kodeenheten Sett inn RG-registre (13701), og angi deretter variabelen på følgende måte:

    • Navn: TempRG23CPartII2
    • Datatype: MIDLERTIDIG post
    • Undertype: RG 23 C Del II (13722)
  11. Endre koden i insertRG23CPartIIPurchase-funksjonen i kodeenheten Sett inn RG-register (13701) på følgende måte:
    Eksisterende kode

    ...
    RG23CPartII."Remaining Excise Amount" := RG23CPartII."Remaining BED Credit" + RG23CPartII."Remaining AED(GSI) Credit" +
    RG23CPartII."Remaining SED Credit" + RG23CPartII."Remaining SAED Credit" + RG23CPartII."Remaining NCCD Credit" +
    RG23CPartII."Remaining eCess Credit" + RG23CPartII."Remaining ADET Credit" + RG23CPartII."Remaining AED(TTA) Credit" +
    RG23CPartII."Remaining ADE Credit" + RG23CPartII."Remaining ADC VAT Credit" +
    RG23CPartII."Remaining SHECess Credit";
    
    END ELSE BEGIN
    RG23CPartII."Posting Date" := ReturnShptHeader."Posting Date";
    RG23CPartII."Document No." := ReturnShptHeader."No.";
    IF NOT ExciseDifference THEN BEGIN
    RG23CPartII."BED Debit":=
    ...
    

    Erstatningskode

    ...
    RG23CPartII."Remaining Excise Amount" := RG23CPartII."Remaining BED Credit" + RG23CPartII."Remaining AED(GSI) Credit" +
    RG23CPartII."Remaining SED Credit" + RG23CPartII."Remaining SAED Credit" + RG23CPartII."Remaining NCCD Credit" +
    RG23CPartII."Remaining eCess Credit" + RG23CPartII."Remaining ADET Credit" + RG23CPartII."Remaining AED(TTA) Credit" +
    RG23CPartII."Remaining ADE Credit" + RG23CPartII."Remaining ADC VAT Credit" +
    RG23CPartII."Remaining SHECess Credit";
    
    // Add the following lines.
     IF ExciseDifference THEN BEGIN
     TempRG23CPartII2.INIT;
     TempRG23CPartII2.TRANSFERFIELDS(RG23CPartII);
     TempRG23CPartII2."BED Debit" := ROUND(TempRG23CPartII2."BED Debit" * 0.5);
     TempRG23CPartII2."AED(GSI) Debit" := ROUND(TempRG23CPartII2."AED(GSI) Debit" * 0.5);
     TempRG23CPartII2."SAED Debit" := ROUND(TempRG23CPartII2."SAED Debit" * 0.5);
     TempRG23CPartII2."NCCD Debit" := ROUND(TempRG23CPartII2."NCCD Debit" * 0.5);
     TempRG23CPartII2."eCess Debit" := ROUND(TempRG23CPartII2."eCess Debit" * 0.5);
     TempRG23CPartII2."SED Debit" := ROUND(TempRG23CPartII2."SED Debit" * 0.5);
     TempRG23CPartII2."ADET Debit" := ROUND(TempRG23CPartII2."ADET Debit" * 0.5);
     TempRG23CPartII2."AED(TTA) Debit" := ROUND(TempRG23CPartII2."AED(TTA) Debit" * 0.5);
     TempRG23CPartII2."ADE Debit":= ROUND(TempRG23CPartII2."ADE Debit" * 0.5);
     TempRG23CPartII2."SHE Cess Debit" := ROUND(TempRG23CPartII2."SHE Cess Debit" * 0.5);
     TempRG23CPartII2."ADC VAT Debit" := ROUND(TempRG23CPartII2."ADC VAT Debit" * 0.5);
     AdjustCrEntriesRG23C(TempRG23CPartII2);
     END;
    // End of the lines.
    
    END ELSE BEGIN
    RG23CPartII."Posting Date" := ReturnShptHeader."Posting Date";
    RG23CPartII."Document No." := ReturnShptHeader."No.";
    IF NOT ExciseDifference THEN BEGIN
    RG23CPartII."BED Debit":=
    ...
    
  12. Endre koden i adjustCrEntriesRG23A-funksjonen i kodeenheten Sett inn RG-registre (13701) på følgende måte:
    Eksisterende kode 1

    ...
    BEGIN
    WITH RG23APartII2 DO BEGIN
    RG23APartII3.RESET;
    
    // Delete the following line.
    RG23APartII3.SETCURRENTKEY("Excise as Service Tax Credit",Closed,"Remaining Excise Amount","Location E.C.C. No.");
    
    IF "Excise Credit Availed as ST" THEN BEGIN
    RG23APartII3.SETRANGE("Excise as Service Tax Credit",TRUE);
    NextEntryNo := 0;
    ExciseAsSTUtilisation2.RESET;
    IF ExciseAsSTUtilisation2.FINDLAST THEN
    ...
    

    Erstatningskode 1

    ...
    BEGIN
    WITH RG23APartII2 DO BEGIN
    RG23APartII3.RESET;
    
    // Add the following line.
     RG23APartII3.SETCURRENTKEY("Excise as Service Tax Credit",Closed,"Location E.C.C. No.");
    
    IF "Excise Credit Availed as ST" THEN BEGIN
    RG23APartII3.SETRANGE("Excise as Service Tax Credit",TRUE);
    NextEntryNo := 0;
    ExciseAsSTUtilisation2.RESET;
    IF ExciseAsSTUtilisation2.FINDLAST THEN
    ...
    

    Eksisterende kode 2

    ...
    IF ExciseAsSTUtilisation2.FINDLAST THEN
    NextEntryNo := ExciseAsSTUtilisation2."Entry No.";
    END;
    
    RG23APartII3.SETRANGE(Closed,FALSE);
    
    // Delete the following line.
    RG23APartII3.SETFILTER("Remaining Excise Amount",'>%1',0);
    
    RG23APartII3.SETRANGE("Location E.C.C. No.","Location E.C.C. No.");
    IF RG23APartII3.FINDSET THEN
    REPEAT
    RG23APartII4 := RG23APartII3;
    CompareAmt(RG23APartII4."Remaining BED Credit","BED Debit",RG23APartII4."Remaining Excise Amount");
    ...
    

    Erstatningskode 2

    ...
    IF ExciseAsSTUtilisation2.FINDLAST THEN
    NextEntryNo := ExciseAsSTUtilisation2."Entry No.";
    END;
    
    RG23APartII3.SETRANGE(Closed,FALSE);
    
    RG23APartII3.SETRANGE("Location E.C.C. No.","Location E.C.C. No.");
    IF RG23APartII3.FINDSET THEN
    REPEAT
    RG23APartII4 := RG23APartII3;
    CompareAmt(RG23APartII4."Remaining BED Credit","BED Debit",RG23APartII4."Remaining Excise Amount");
    ...
    
  13. Endre koden i funksjonen AdjustCrEntriesRG23C i kodeenheten Sett inn RG-register (13701) på følgende måte:
    Eksisterende kode 1

    ...
    BEGIN
    WITH RG23CPartII2 DO BEGIN
    RG23CPartII3.RESET;
    
    // Delete the following line.
    RG23CPartII3.SETCURRENTKEY("Excise as Service Tax Credit",Closed,"Remaining Excise Amount","Location E.C.C. No.");
    
    IF "Excise Credit Availed as ST" THEN BEGIN
    RG23CPartII3.SETRANGE("Excise as Service Tax Credit",TRUE);
    NextEntryNo := 0;
    ExciseAsSTUtilisation2.RESET;
    IF ExciseAsSTUtilisation2.FINDLAST THEN
    ...
    

    Erstatningskode 1

    ...
    BEGIN
    WITH RG23CPartII2 DO BEGIN
    RG23CPartII3.RESET;
    
    // Add the following line.
    RG23CPartII3.SETCURRENTKEY("Excise as Service Tax Credit",Closed,"Location E.C.C. No.");
    
    IF "Excise Credit Availed as ST" THEN BEGIN
    RG23CPartII3.SETRANGE("Excise as Service Tax Credit",TRUE);
    NextEntryNo := 0;
    ExciseAsSTUtilisation2.RESET;
    IF ExciseAsSTUtilisation2.FINDLAST THEN
    ...
    

    Eksisterende kode 2

    ...
    ExciseAsSTUtilisation2.RESET;
    IF ExciseAsSTUtilisation2.FINDLAST THEN
    NextEntryNo := ExciseAsSTUtilisation2."Entry No.";
    END;
    RG23CPartII3.SETRANGE(Closed,FALSE);
    
    // Delete the following line.
    RG23CPartII3.SETFILTER("Remaining Excise Amount",'>%1',0);
    
    RG23CPartII3.SETRANGE("Location E.C.C. No.","Location E.C.C. No.");
    IF RG23CPartII3.FINDSET THEN
    REPEAT
    RG23CPartII4 := RG23CPartII3;
    CompareAmt(RG23CPartII4."Remaining BED Credit","BED Debit",RG23CPartII4."Remaining Excise Amount");
    ...
    

    Erstatningskode 2

    ...
    ExciseAsSTUtilisation2.RESET;
    IF ExciseAsSTUtilisation2.FINDLAST THEN
    NextEntryNo := ExciseAsSTUtilisation2."Entry No.";
    END;
    RG23CPartII3.SETRANGE(Closed,FALSE);
    
    RG23CPartII3.SETRANGE("Location E.C.C. No.","Location E.C.C. No.");
    IF RG23CPartII3.FINDSET THEN
    REPEAT
    RG23CPartII4 := RG23CPartII3;
    CompareAmt(RG23CPartII4."Remaining BED Credit","BED Debit",RG23CPartII4."Remaining Excise Amount");
    ...
    
  14. Endre koden i PostRegEntries-funksjonen i service tax management codeunit (16471) på følgende måte:
    Eksisterende kode 1

    ...
    GenJnlLine.RESET;
    GenJnlLine.SETRANGE("Document No.",DocNo);
    IF GenJnlLine.FINDFIRST THEN BEGIN
    CheckAvailableRGCredit(GenJnlLine);;
    RG23APartII.RESET;
    
    // Delete the following lines.
    RG23APartII.SETCURRENTKEY("Excise as Service Tax Credit",Closed,"Remaining Excise Amount","Location E.C.C. No.");
    RG23APartII.SETRANGE("Excise as Service Tax Credit",TRUE);
    RG23APartII.SETRANGE(Closed,FALSE);
    RG23APartII.SETFILTER("Remaining Excise Amount",'>%1',0);
    // End of the lines.
    
    RG23APartII.SETRANGE("Location E.C.C. No.",GenJnlLine."E.C.C. No.");
    IF RG23APartII.FINDFIRST THEN BEGIN
    GenJnlLine."Excise Bus. Posting Group" := RG23APartII."Excise Bus. Posting Group";
    GenJnlLine."Excise Prod. Posting Group" := RG23APartII."Excise Prod. Posting Group";
    GenJnlLine.VALIDATE("Account No.",RG23APartII."Cenvat Cr. Receivable Account");
    ...
    

    Erstatningskode 1

    ...
    GenJnlLine.RESET;
    GenJnlLine.SETRANGE("Document No.",DocNo);
    IF GenJnlLine.FINDFIRST THEN BEGIN
    CheckAvailableRGCredit(GenJnlLine);;
    RG23APartII.RESET;
    
    // Add the following lines.
    RG23APartII.SETCURRENTKEY("Excise as Service Tax Credit",Closed,"Location E.C.C. No.");
    RG23APartII.SETRANGE("Excise as Service Tax Credit",TRUE);
    RG23APartII.SETRANGE(Closed,FALSE);
    // End of the lines.
    
    RG23APartII.SETRANGE("Location E.C.C. No.",GenJnlLine."E.C.C. No.");
    IF RG23APartII.FINDFIRST THEN BEGIN
    GenJnlLine."Excise Bus. Posting Group" := RG23APartII."Excise Bus. Posting Group";
    GenJnlLine."Excise Prod. Posting Group" := RG23APartII."Excise Prod. Posting Group";
    GenJnlLine.VALIDATE("Account No.",RG23APartII."Cenvat Cr. Receivable Account");
    ...
    

    Eksisterende kode 2

    ...
    GenJnlLine."Excise Bus. Posting Group" := RG23APartII."Excise Bus. Posting Group";
    GenJnlLine."Excise Prod. Posting Group" := RG23APartII."Excise Prod. Posting Group";
    GenJnlLine.VALIDATE("Account No.",RG23APartII."Cenvat Cr. Receivable Account");
    END ELSE BEGIN
    RG23CPartII.RESET;
    
    // Delete the following lines.
    RG23CPartII.SETCURRENTKEY("Excise as Service Tax Credit",Closed,"Remaining Excise Amount","Location E.C.C. No.");
    RG23CPartII.SETRANGE("Excise as Service Tax Credit",TRUE);
    RG23CPartII.SETRANGE(Closed,FALSE);
    RG23CPartII.SETFILTER("Remaining Excise Amount",'>%1',0);
    // End of the lines.
    
    RG23CPartII.SETRANGE("Location E.C.C. No.",GenJnlLine."E.C.C. No.");
    IF RG23CPartII.FINDFIRST THEN BEGIN
    GenJnlLine."Excise Bus. Posting Group" := RG23CPartII."Excise Bus. Posting Group";
    GenJnlLine."Excise Prod. Posting Group" := RG23CPartII."Excise Prod. Posting Group";
    GenJnlLine.VALIDATE("Account No.",RG23CPartII."Cenvat Cr. Receivable Acc.");
    ...
    

    Erstatningskode 2

    ...
    GenJnlLine."Excise Bus. Posting Group" := RG23APartII."Excise Bus. Posting Group";
    GenJnlLine."Excise Prod. Posting Group" := RG23APartII."Excise Prod. Posting Group";
    GenJnlLine.VALIDATE("Account No.",RG23APartII."Cenvat Cr. Receivable Account");
    END ELSE BEGIN
    RG23CPartII.RESET;
    
    // Add the following lines.
    RG23CPartII.SETCURRENTKEY("Excise as Service Tax Credit",Closed,"Location E.C.C. No.");
    RG23CPartII.SETRANGE("Excise as Service Tax Credit",TRUE);
    RG23CPartII.SETRANGE(Closed,FALSE);
    // End of the lines.
    
    RG23CPartII.SETRANGE("Location E.C.C. No.",GenJnlLine."E.C.C. No.");
    IF RG23CPartII.FINDFIRST THEN BEGIN
    GenJnlLine."Excise Bus. Posting Group" := RG23CPartII."Excise Bus. Posting Group";
    GenJnlLine."Excise Prod. Posting Group" := RG23CPartII."Excise Prod. Posting Group";
    GenJnlLine.VALIDATE("Account No.",RG23CPartII."Cenvat Cr. Receivable Acc.");
    ...
    

Forutsetninger

Du må ha den indiske versjonen av Microsoft Dynamics NAV 2009 Service Pack 1 installert for å bruke denne hurtigreparasjonen.

Informasjon om fjerning

Du kan ikke fjerne denne hurtigreparasjonen.

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen «Gjelder for».

Obs! Dette er en «FAST PUBLISH»-artikkel som er opprettet direkte fra Microsofts støtteorganisasjon. Informasjonen i dette er angitt som svar på nye problemer. Som et resultat av hastigheten på å gjøre det tilgjengelig, kan materialene inkludere typografiske feil og kan bli revidert når som helst uten varsel. Se vilkår for bruk for andre hensyn.