Ďalšia položka RG 23 A Part II alebo ďalšia položka RG 23 C Part II sa vytvorí neočakávane, keď uverejníte faktúru na nákup v indickej verzii balíka Microsoft Dynamics NAV 2009 Service Pack 1

Vzťahuje sa na
Dynamics NAV 2009 Service Pack 1

Tento článok sa vzťahuje na národné nastavenia systému Microsoft Dynamics NAV pre indický jazyk.

Príznaky

Pozrite si nasledujúci scenár v indickej verzii balíka Microsoft Dynamics NAV 2009 Service Pack 1 (SP1):

  • Vytvoríte nákupnú objednávku, ktorá pre položku používa cudziu menu.
  • K nákupu pripojíte štruktúru s cieľom vypočítať CVD alebo vykonať spotrebnú daň z položky.
  • Objednávku uverejníte ako potvrdenie.
  • Vytvorí sa položka RG 23 A Part II.
  • Faktúru na nákup objednávky vytvoríte pomocou funkcie získania potvrdenia.
  • Zaúčtujete faktúru nákupu.

V tomto scenári sa neočakávane vytvorí ďalšia položka RG 23 A Part II.
Predpokladajme tiež, že vytvoríte ďalšiu objednávku na dlhodobý majetok alebo na položku, v ktorej je začiarknuté políčko Kapitálová položka . V rovnakom scenári platí, že keď zaúčtujete príslušnú nákupnú faktúru, ktorá je vytvorená pre objednávku, neočakávane sa vytvorí ďalšia položka RG 23 C časť II.

Riešenie

Informácie o rýchlych opravách

Spoločnosť Microsoft teraz poskytuje podporovanú rýchlu opravu. Jeho účelom je však len vyriešiť problém, ktorý je popísaný v tomto článku. Použite ju len v systémoch, v ktorých sa vyskytol tento konkrétny problém. Táto rýchla oprava môže byť ešte otestovaná. Ak teda nie ste týmto problémom vážne zasiahnutí, odporúčame počkať na ďalší balík Service Pack pre systém Microsoft Dynamics alebo ďalšiu verziu systému Microsoft Dynamics NAV, ktorá obsahuje túto opravu.

Poznámka: V osobitných prípadoch môžu byť poplatky, ktoré sú zvyčajne účtované za hovory s oddelením technickej podpory, zrušené, ak pracovník technickej podpory pre systém Microsoft Dynamics a súvisiace produkty rozhodne, že konkrétna aktualizácia vyrieši váš problém. Zvyčajné náklady na podporu sa budú vzťahovať na ďalšie otázky a problémy podpory, na ktoré sa nevzťahuje konkrétna príslušná aktualizácia.

            
          

Informácie o inštalácii

Spoločnosť Microsoft poskytuje príklady programovania len pre ilustráciu bez výslovnej alebo implicitnej záruky. To sa týka (okrem iného) aj implicitných záruk obchodovateľnosti alebo vhodnosti na konkrétny účel. Článok predpokladá, že poznáte predvádzaný programovací jazyk a nástroje, ktoré sa používajú na vytváranie a ladenie procedúr. Pracovníci technickej podpory spoločnosti Microsoft vám môžu pomôcť vysvetliť funkčnosť konkrétneho postupu, tieto príklady však nebudú upravovať, aby poskytovali ďalšie funkcie alebo zostavili procedúry podľa vašich špecifických požiadaviek.

Poznámka Pred inštaláciou tejto rýchlej opravy overte, či sú všetci používatelia klienta Microsoft Navision odhlásení zo systému. Týka sa to používateľov klientských služieb Microsoft Navision Application Services (NAS). V čase implementácie tejto rýchlej opravy by ste mali byť jediným klientskym používateľom, ktorý je prihlásený.

Ak chcete implementovať túto rýchlu opravu, musíte mať vývojársku licenciu.

Odporúčame priradiť používateľskému kontu v okne Prihlásenie do Windowsu alebo v okne Prihlásenia do databázy ID roly SUPER. Ak používateľskému kontu nie je možné priradiť ID roly SUPER, musíte overiť, či má používateľské konto nasledujúce povolenia:

  • Povolenie Upraviť pre objekt, ktorý budete meniť.
  • Povolenie na spustenie pre objekt systémového objektu ID 5210 a pre objekt systémového objektu ID 9015.

                
Poznámka: Ak nepotrebujete vykonať opravu údajov, nemusíte mať práva na ukladacie priestory údajov.

Zmeny kódu

Poznámka: Opravy kódu pred použitím opráv v produkčných počítačoch vždy testujte v kontrolovanom prostredí.
Pri odstraňovaní tohto problému postupujte nasledovne:

  1. Kód v poliach v tabuľke Nákupný riadok (39) zmeňte takto:
    Existujúci kód 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;
    ...
    

    Náhradný kód 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;
    ...
    

    Existujúci kód 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" }
    ...
    

    Náhradný kód 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. Pridajte novú globálnu premennú do tabuľky Nákupný riadok (39) a potom ju určite nasledovne:

    • Názov: Text16510
    • DataType: TextConst
    • Hodnota: Register ENU=RG už bol vytvorený pre potvrdenia. Ak chcete, aby sa zmeny odrazili v registroch skupín pre príjmy, použite funkciu "Získať riadky potvrdenia" z faktúry a potom ju odošlite.
  3. Zmeňte kód vo funkcii UpdateStruOrdLineDetails v tabuľke Purchase Line (39) takto:
    Existujúci kód

    ...
    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');
    ...
    

    Náhradný kód

    ...
    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. Zmeňte kód vo funkcii ShowSubOrderRcptForm v tabuľke Purchase Line (39) takto:
    Existujúci kód

    ...
    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.
    }
    }
    ...
    

    Náhradný kód

    ...
    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. Kľúče v tabuľke RG 23 A časť II (13720) vymeňte takto:
    Existujúci kód

    ...
    { ;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;
    ...
    

    Kód repalcementu

    ...
    { ;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. Kľúče v tabuľke RG 23 C časť II (13722) vymeňte takto:
    Existujúci kód

    ...
    { ;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;
    ...
    

    Náhradný kód

    ...
    { ;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. Pridajte novú lokálnu premennú vo funkcii CheckExciseInvoiceDiff v jednotke smerovacieho čísla Purch.-Post (90) a potom zadajte premennú takto:

    • Názov: PurchRcptHead
    • DataType: Record
    • Podtyp: Purch. Rcpt. hlavička (120)
  8. Zmeňte kód vo funkcii CheckExciseInvoiceDiff v jednotke smerovacieho čísla Purch.-Post (90) takto:
    Existujúci kód 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
    ...
    

    Náhradný kód 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
    ...
    

    Existujúci kód 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";
    ...
    

    Náhradný kód 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";
    ...
    

    Existujúci kód 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)
    ...
    

    Náhradný kód 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)
    ...
    

    Existujúci kód 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";
    ...
    

    Náhradný kód 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. Zmeňte kód vo funkcii InsertRG23APartIIPurchase vo funkcii Excuse Insert RG Registers codeunit (13701) takto:
    Existujúci kód

    ...
    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" :=
    ...
    

    Náhradný kód

    ...
    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. Pridajte novú lokálnu premennú vo funkcii InsertRG23CPartIIPurchase v kódovej jednotke Excise Insert RG Registers (13701) a potom zadajte premennú nasledovne:

    • Názov: TempRG23CPartII2
    • DataType: TEMPORARY Record
    • Podtyp: RG 23 C časť II (13722)
  11. Zmeňte kód vo funkcii InsertRG23CPartIIPurchase v kódovej jednotke spotrebnej dane Vložiť registre RG (13701) takto:
    Existujúci kód

    ...
    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":=
    ...
    

    Náhradný kód

    ...
    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. Zmeňte kód vo funkcii AdjustCrEntriesRG23A v kódovej jednotke Vložiť spotrebnú daň RG Registers (13701) takto:
    Existujúci kód 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
    ...
    

    Náhradný kód 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
    ...
    

    Existujúci kód 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");
    ...
    

    Náhradný kód 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. Zmeňte kód vo funkcii AdjustCrEntriesRG23C v kódovej jednotke spotrebnej dane Vložiť registre RG (13701) takto:
    Existujúci kód 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
    ...
    

    Náhradný kód 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
    ...
    

    Existujúci kód 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");
    ...
    

    Náhradný kód 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. Zmeňte kód vo funkcii PostRegEntries v jednotke kódu Service Tax Management (16471) takto:
    Existujúci kód 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");
    ...
    

    Náhradný kód 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");
    ...
    

    Existujúci kód 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.");
    ...
    

    Náhradný kód 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.");
    ...
    

Predpoklady

Ak chcete použiť túto rýchlu opravu, musíte mať nainštalovanú indickú verziu balíka Microsoft Dynamics NAV 2009 Service Pack 1.

Informácie o odstránení

Túto rýchlu opravu nemožno odstrániť.

Stav

Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.

Poznámka: Toto je článok typu FAST PUBLISH, ktorý bol vytvorený priamo v rámci organizácie podpory spoločnosti Microsoft. Informácie obsiahnuté v tomto dokumente sa poskytujú tak, ako sú, ako odpoveď na vzniknuté problémy. V dôsledku rýchlosti ich sprístupnenia môžu materiály obsahovať typografické chyby a môžu byť kedykoľvek revidované bez predchádzajúceho upozornenia. Ďalšie dôležité informácie nájdete v Podmienkach používania .