รายการ RG 23 A ส่วน II เพิ่มเติมหรือรายการ RG 23 C ส่วน II เพิ่มเติมถูกสร้างขึ้นอย่างไม่คาดคิดเมื่อคุณลงรายการบัญชีอินวอยซ์การซื้อใน Microsoft Dynamics NAV 2009 Service Pack 1 รุ่นอินเดีย


บทความนี้นำไปใช้กับ Microsoft Dynamics NAV สำหรับการอินเดียน(ระบบภาษา in)

อาการ


พิจารณาสถานการณ์สมมติต่อไปนี้ใน Microsoft Dynamics NAV 2009 Service Pack 1 (SP1) รุ่นอินเดีย:
  • คุณสร้างใบสั่งซื้อที่ใช้สกุลเงินต่างประเทศสำหรับสินค้า
  • คุณสามารถแนบโครงสร้างการซื้อ เพื่อคำนวณการ CVD หรือสรรพสามิตในสินค้า
  • คุณลงรายการบัญชีใบสั่งซื้อรับสินค้า
  • มีสร้างรายการ RG 23 A ส่วน II
  • คุณสามารถสร้างใบแจ้งหนี้การซื้อสำหรับใบสั่งซื้อได้ โดยใช้ฟังก์ชันรับการรับ
  • คุณลงรายการบัญชีอินวอยซ์การซื้อ
ในสถานการณ์สมมตินี้ รายการ RG 23 A ส่วน II เพิ่มเติมถูกสร้างขึ้นอย่างไม่คาดคิด
นอกจากนี้ สมมติว่า คุณสร้างใบสั่งซื้ออื่น สำหรับสินทรัพย์ถาวร หรือ สำหรับสินค้าที่มีเลือกกล่องกาเครื่องหมายของสินค้าประเภททุน ในสถานการณ์จำลองเดียวกัน เมื่อคุณลงรายการบัญชีอินวอยซ์การซื้อสอดคล้องกันที่ถูกสร้างขึ้นสำหรับใบสั่งซื้อ เพิ่มเติม RG 23 C ส่วน II มีสร้างรายการโดยไม่คาดคิด

การแก้ปัญหา


ข้อมูลโปรแกรมแก้ไขด่วน

โปรแกรมแก้ไขด่วนจะพร้อมใช้งานได้ในขณะนี้จาก Microsoft อย่างไรก็ตาม มีเป้าหมายเพียงเพื่อการแก้ไขปัญหาที่อธิบายไว้ในบทความนี้ นำวิธีนี้ไปใช้กับระบบที่ประสบกับปัญหาที่เฉพาะเจาะจงเท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น ถ้าคุณจะไม่รุนแรงได้รับผลกระทบจากปัญหานี้ เราขอแนะนำให้ คุณรอ service pack ถัดไปของ Microsoft Dynamics NAV หรือเวอร์ชันถัดไป Microsoft Dynamics NAV ที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้

หมายเหตุ ในกรณีพิเศษ ค่าธรรมเนียมค่าใช้จ่ายสำหรับการสนับสนุนโทรศัพท์อาจถูกยกเลิกถ้า Technical Support Professional สำหรับ Microsoft Dynamics และผลิตภัณฑ์ที่เกี่ยวข้องตรวจพบว่าการปรับปรุงเฉพาะจะแก้ปัญหาของคุณ ค่าใช้จ่ายในการสนับสนุนตามปกติจะใช้กับคำถามและปัญหาในการสนับสนุนเพิ่มเติมซึ่งไม่สอดคล้องตามเกณฑ์สำหรับโปรแกรมปรับปรุงเฉพาะที่เกี่ยวข้อง


ข้อมูลการติดตั้ง

Microsoft ให้ตัวอย่างการเขียนโปรแกรมไว้สำหรับประกอบการอธิบายเท่านั้นโดยไม่มีการรับประกันไม่ว่าจะโดยชัดแจ้งหรือโดยนัย กรณีนี้รวมถึงแต่มิได้จำกัดเพียงแค่การการรับประกันโดยนัยเกี่ยวกับการจำหน่ายเป็นสินค้าหรือความเหมาะสำหรับวัตถุประสงค์เฉพาะ บทความนี้ตั้งสมมติฐานว่าคุณมีความคุ้นเคยกับภาษาการเขียนโปรแกรมที่กำลังแสดงและคุ้นเคยกับเครื่องมือที่ใช้ใน การสร้างและแก้จุดบกพร่องของขั้นตอนการดำเนินการ วิศวกรฝ่ายสนับสนุนของ Microsoft สามารถช่วยอธิบายฟังก์ชันการทำงานของกระบวนการเฉพาะได้ แต่จะไม่ปรับเปลี่ยนตัวอย่างเหล่านี้เพื่อให้ฟังก์ชันการทำงานเพิ่มเติมหรือสร้างกระบวนงานเพื่อตอบสนองความต้องการเฉพาะของคุณ

หมายเหตุ ก่อนที่คุณติดตั้งโปรแกรมแก้ไขด่วนนี้ โปรดตรวจสอบว่า ผู้ใช้ไคลเอนต์ของ Microsoft Navision ทั้งหมดเข้าสู่ระบบออกจากระบบ ข้อมูลนี้รวมถึงผู้ใช้ไคลเอ็นต์บริการแอพลิเคชัน Navision Microsoft (NAS) คุณควรไคลเอ็นต์เฉพาะผู้ใช้ที่เข้าสู่ระบบเมื่อคุณใช้โปรแกรมแก้ไขด่วนนี้

เมื่อต้องการใช้โปรแกรมแก้ไขด่วนนี้ คุณต้องมีสิทธิ์การใช้งานสำหรับนักพัฒนา

เราขอแนะนำว่า บัญชีผู้ใช้ ในหน้าต่างล็อกอินของ Windows หรือ ในหน้าต่างล็อกอินฐานข้อมูลสามารถกำหนดรหัสการเข้าถึงข้อมูล "ขั้นสูง" ถ้าบัญชีผู้ใช้ไม่สามารถกำหนดรหัสการบทบาท "SUPER" คุณต้องตรวจสอบว่า บัญชีผู้ใช้มีสิทธิ์ต่อไปนี้:
  • สิทธิ์การปรับเปลี่ยนสำหรับออปเจ็กต์ที่คุณจะสามารถเปลี่ยน
  • สิทธิ์ Execute สำหรับออบเจ็กต์5210 รหัสวัตถุของระบบและ สำหรับออบเจ็กต์ระบบ 9015 ID ของวัตถุ


หมายเหตุ คุณไม่จำเป็นต้องมีสิทธิ์ไปยังร้านค้าข้อมูลยกเว้นว่าคุณจำเป็นต้องซ่อมแซมข้อมูล

การเปลี่ยนแปลงรหัส

หมายเหตุ เสมอทดสอบรหัสแก้ไขในสภาพแวดล้อมการควบคุมก่อนที่คุณนำไปใช้แก้ไขปัญหากับคอมพิวเตอร์ของคุณผลิต
เมื่อต้องการแก้ไขปัญหานี้ ให้ทำตามขั้นตอนเหล่านี้:
  1. เปลี่ยนแปลงรหัสนี้ในฟิลด์ในตารางบรรทัดการซื้อ (39) เป็นดังนี้:
    รหัสที่อยู่ 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;
    ...
    รหัสแทนที่ 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;
    ...
    รหัสที่มีอยู่ 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" }
    ...
    รหัสแทนที่ 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. เพิ่มตัวแปรส่วนกลางใหม่ในตารางบรรทัดการซื้อ (39), และระบุตัวแปรดังนี้:
    • ชื่อ: Text16510
    • ชนิดข้อมูล: TextConst
    • ค่า: ENU =ลงทะเบียนRG ที่สร้างไว้แล้วสำหรับการรับสินค้า เพื่อที่จะทำการเปลี่ยนแปลงสะท้อนในการลงทะเบียน RG โปรดใช้ฟังก์ชัน ''รับบรรทัดใบรับ '' จากใบแจ้งหนี้ และลงรายการบัญชีแล้ว

  3. เปลี่ยนแปลงรหัสนี้ในฟังก์ชันUpdateStruOrdLineDetailsในตารางบรรทัดการซื้อ (39) เป็นดังนี้:
    รหัสที่มีอยู่
    ...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');
    ...
    รหัสแทน
    ...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. เปลี่ยนแปลงรหัสนี้ในฟังก์ชันShowSubOrderRcptFormในตารางบรรทัดการซื้อ (39) เป็นดังนี้:
    รหัสที่มีอยู่
    ...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.
    }
    }
    ...
    รหัสแทน
    ...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. เปลี่ยนคีย์ในตาราง RG 23 A ส่วน II (13720) เป็นดังนี้:
    รหัสที่มีอยู่
    ...{ ;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
    ...{ ;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. เปลี่ยนคีย์ในตาราง RG 23 C ส่วน II (13722) เป็นดังนี้:
    รหัสที่มีอยู่
    ...{ ;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;
    ...
    รหัสแทน
    ...{ ;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. เพิ่มตัวแปรท้องถิ่นใหม่ในฟังก์ชันCheckExciseInvoiceDiffในการซื้อ-การลงรายการบัญชีโค้ดยูนิต (90), และระบุตัวแปรดังนี้:
    • ชื่อ: PurchRcptHead
    • ชนิดข้อมูล:เรกคอร์ด
    • ชนิดย่อย:การซื้อ หัวข้อใบรับสินค้า(120)
  8. เปลี่ยนแปลงรหัสนี้ในฟังก์ชันCheckExciseInvoiceDiffในการซื้อ-การลงรายการบัญชีโค้ดยูนิต (90) เป็นดังนี้:
    รหัสที่อยู่ 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
    ...
    รหัสแทนที่ 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
    ...
    รหัสที่มีอยู่ 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";
    ...
    รหัสแทนที่ 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";
    ...
    รหัสที่มีอยู่ 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)
    ...
    รหัสแทนที่ 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)
    ...
    รหัสที่มีอยู่ 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";
    ...
    รหัสแทนที่ 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. เปลี่ยนแปลงรหัสนี้ในฟังก์ชันInsertRG23APartIIPurchaseในโค้ดยูนิตสรรพสามิตแทรกลงทะเบียน RG (13701) เป็นดังนี้:
    รหัสที่มีอยู่
    ...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" :=
    ...
    รหัสแทน
    ...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. เพิ่มตัวแปรท้องถิ่นใหม่ในฟังก์ชันInsertRG23CPartIIPurchaseในโค้ดยูนิตสรรพสามิตแทรกลงทะเบียน RG (13701), และระบุตัวแปรดังนี้:
    • ชื่อ: TempRG23CPartII2
    • ชนิดข้อมูล:ระเบียนชั่วคราว
    • ชนิดย่อย: RG 23 C ส่วนที่ II (13722)
  11. เปลี่ยนแปลงรหัสนี้ในฟังก์ชันInsertRG23CPartIIPurchaseในโค้ดยูนิตสรรพสามิตแทรกลงทะเบียน RG (13701) เป็นดังนี้:
    รหัสที่มีอยู่
    ...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":=
    ...
    รหัสแทน
    ...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. เปลี่ยนแปลงรหัสนี้ในฟังก์ชันAdjustCrEntriesRG23Aในโค้ดยูนิตสรรพสามิตแทรกลงทะเบียน RG (13701) เป็นดังนี้:
    รหัสที่อยู่ 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
    ...
    รหัสแทนที่ 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
    ...
    รหัสที่มีอยู่ 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");
    ...
    รหัสแทนที่ 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. เปลี่ยนแปลงรหัสนี้ในฟังก์ชันAdjustCrEntriesRG23Cในโค้ดยูนิตสรรพสามิตแทรกลงทะเบียน RG (13701) เป็นดังนี้:
    รหัสที่อยู่ 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
    ...
    รหัสแทนที่ 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
    ...
    รหัสที่มีอยู่ 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");
    ...
    รหัสแทนที่ 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. เปลี่ยนแปลงรหัสนี้ในฟังก์ชันPostRegEntriesในโค้ดยูนิตการจัดการภาษีบริการ (16471) เป็นดังนี้:
    รหัสที่อยู่ 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");
    ...
    รหัสแทนที่ 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");
    ...
    รหัสที่มีอยู่ 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.");
    ...
    รหัสแทนที่ 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.");
    ...

ข้อกำหนดเบื้องต้น

คุณต้องมีรุ่นของ Microsoft Dynamics NAV 2009 Service Pack 1 ติดตั้งอยู่เพื่อใช้โปรแกรมแก้ไขด่วนนี้อินเดีย

ข้อมูลการเอาออก

คุณไม่สามารถเอาโปรแกรมแก้ไขด่วนนี้

สถานะ


Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"
หมายเหตุ นี่คือบทความ "เผยแพร่เร็ว" ที่สร้างขึ้นโดยตรงจากภายใน Microsoft สนับสนุนองค์กร ข้อมูลในที่นี้ให้ไว้ตามสภาพ เพื่อตอบสนองกับปัญหาที่เกิดขึ้นใหม่ เป็นผลมาจากความเร็วในการทำให้พร้อมใช้งาน วัสดุอาจรวมถึงข้อผิดพลาดการพิมพ์ผิด และอาจแก้ไขได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบ ดูข้อตกลงการใช้สำหรับข้อควรพิจารณาอื่น ๆ