นำไปใช้กับ
Dynamics NAV 2009 Service Pack 1 Microsoft Dynamics NAV 5.0 Service Pack 1

บทความนี้ใช้ได้กับ Microsoft Dynamics NAV ในภาษาสเปน (es)

อาการ

สมมติว่าเลือกกล่องกาเครื่องหมาย EU Service ในกล่องโต้ตอบการตั้งค่าการโพสต์ VATใน Microsoft Dynamics NAV เวอร์ชันภาษาสเปน เมื่อคุณสร้างไฟล์การประกาศ 349 จํานวนในไฟล์ที่ส่งออกไม่ถูกต้องปัญหานี้เกิดขึ้นในผลิตภัณฑ์ต่อไปนี้:

  • Microsoft Dynamics NAV 2009 เวอร์ชันภาษาสเปนService Pack 1 (SP1)

  • Microsoft Dynamics NAV 5.0 เวอร์ชันภาษาสเปนService Pack 1 (SP1)

การแก้ไข

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

ขณะนี้การแก้ไขด่วนที่ได้รับการสนับสนุนพร้อมใช้งานจาก Microsoft แล้ว อย่างไรก็ตาม มีไว้เพื่อแก้ไขปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น ปรับใช้กับระบบที่พบปัญหานี้เท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น ถ้าคุณไม่ได้รับผลกระทบอย่างร้ายแรงจากปัญหานี้ เราขอแนะนะให้ คุณรอ Service Pack 2009 ของ Microsoft Dynamics NAV 2009 ถัดไปหรือเวอร์ชัน Microsoft Dynamics NAV ถัดไปที่มีการแก้ไขด่วนนี้ หมายเหตุ ในกรณีพิเศษ ค่าธรรมเนียมที่เกิดขึ้นตามปกติในการโทรติดต่อฝ่ายสนับสนุนอาจถูกยกเลิกถ้าผู้เชี่ยวชาญด้านการสนับสนุนทางเทคนิคของ Microsoft Dynamics และผลิตภัณฑ์ที่เกี่ยวข้องระบุว่าการอัปเดตเฉพาะจะแก้ไขปัญหาของคุณ ค่าใช้จ่ายด้านการสนับสนุนปกติจะมีผลบังคับใช้กับคําถามและปัญหาเพิ่มเติมที่ไม่มีคุณสมบัติในการอัปเดตเฉพาะในคําถาม

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

Microsoft มีตัวอย่างการเขียนโปรแกรมในภาพประกอบเท่านั้น โดยไม่รับประกันตามที่แสดงไว้หรือโดยนัย ซึ่งรวมถึงแต่ไม่จํากัดเพียงการรับประกันโดยนัยของความสามารถทางการค้าหรือความเหมาะสมของวัตถุประสงค์เฉพาะ บทความนี้ถือว่าคุณคุ้นเคยกับภาษาการเขียนโปรแกรมที่จะถูกสาธิตและด้วยเครื่องมือที่ใช้ในการสร้างและแก้จุดบกพร่องของกระบวนการ วิศวกรฝ่ายสนับสนุนของ Microsoft สามารถช่วยอธิบายฟังก์ชันการการใช้งานของกระบวนงานใดกระบวนการหนึ่งได้ แต่จะไม่ปรับเปลี่ยนตัวอย่างเหล่านี้เพื่อให้มีฟังก์ชันการฟังก์ชันการงานหรือการสร้างเพิ่มเติมเพื่อให้ตรงตามความต้องการเฉพาะของคุณหมายเหตุ ก่อนที่คุณจะติดตั้งโปรแกรมแก้ไขด่วนนี้ ให้ตรวจสอบว่าผู้ใช้ไคลเอ็นต์ Microsoft Navision ทั้งหมดออกจากระบบแล้ว ซึ่งรวมถึงผู้ใช้ไคลเอ็นต์ Microsoft Navision Application Services (NAS) คุณควรเป็นผู้ใช้ไคลเอ็นต์ที่เข้าสู่ระบบเมื่อคุณใช้โปรแกรมแก้ไขด่วนนี้เท่านั้นเมื่อต้องการใช้โปรแกรมแก้ไขด่วนนี้ คุณต้องมีสิทธิ์การใช้งานของนักพัฒนาเราขอแนะนนะให้บัญชีผู้ใช้ในหน้าต่างการเข้าสู่ระบบ Windows หรือในหน้าต่างการเข้าสู่ระบบฐานข้อมูลได้รับการมอบหมาย ID บทบาท "SUPER" ถ้าไม่สามารถมอบหมาย ID บทบาท "SUPER" ให้กับบัญชีผู้ใช้ได้ คุณต้องตรวจสอบว่าบัญชีผู้ใช้มีสิทธิ์ต่อไปนี้

  • สิทธิ์ในการปรับเปลี่ยนวัตถุที่คุณจะเปลี่ยนแปลง

  • สิทธิ์ Execute ของวัตถุ System Object ID 5210 และวัตถุ System Object ID 9015

โปรดทราบว่า คุณไม่มีสิทธิ์ที่เก็บข้อมูล เว้นแต่ว่าคุณจะต้องซ่อมแซมข้อมูล

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

Note Always test code fixes in a controlled environment before you apply the fixes to your production computers. หากต้องการแก้ปัญหานี้ ให้ทำตามขั้นตอนต่างๆ ต่อไปนี้:

  1. เปลี่ยนรหัสในส่วนหมายเลขรายการข้อมูล 5 ในรายงานการประกาศแบบสร้าง 349 (88) ดังนี้: รหัสที่มีอยู่ 1

                                  BEGIN                                REPEAT                                  //Delete the following line.                                  VATInvSales.RESET;                                  VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);                                  VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);

    แทนที่รหัส 1

                                  BEGIN                                REPEAT                                  //Add the follwing lines.                                  LastTransactionNo := 0;                                  VATInvSales.RESET;                                  VATInvSales.SETCURRENTKEY("Transaction No.");                                   //End of the lines.                                                                 VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);                                  VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);

    รหัสที่มีอยู่ 2

                                              IF "VAT Registration No." <> '' THEN BEGIN                                            IF AmountToIncludein349 <> 0 THEN BEGIN                                              //Delete the following lines.                                              OpTriang := 'X';                                              AmountOpTri := AmountOpTri + AmountToIncludein349                                              //End of the lines.                                                                                       END ELSE BEGIN                                              OpTriang := 'X';

    แทนที่รหัส 2

                                              IF "VAT Registration No." <> '' THEN BEGIN                                            IF AmountToIncludein349 <> 0 THEN BEGIN                                              //Add the following lines.                                              IF VATInvSales."Transaction No." <> LastTransactionNo THEN BEGIN                                                OpTriang := 'X';                                                AmountOpTri := AmountOpTri + AmountToIncludein349;                                              END;                                              //End of the lines.                                                                                       END ELSE BEGIN                                              OpTriang := 'X';

    รหัสที่มีอยู่ 3

                                          // OpTriang := 'X';                                      // AmountOpTri := AmountOpTri + VATInvSales.Base;                                    UNTIL VATInvSales.NEXT = 0;                                  END;

    แทนที่รหัส 3

                                          // OpTriang := 'X';                                      // AmountOpTri := AmountOpTri + VATInvSales.Base;                                      //Add the following line.                                      LastTransactionNo := VATInvSales."Transaction No.";                                    UNTIL VATInvSales.NEXT = 0;                                  END;

    รหัสที่มีอยู่ 4

                                        UNTIL VATInvSales.NEXT = 0;                                  END;                                  //Delete the following line.                                  VATInvSales.RESET;                                  VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);                                  VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);

    แทนที่รหัส 4

                                        UNTIL VATInvSales.NEXT = 0;                                  END;                                  //Add the following lines.                                  LastTransactionNo := 0;                                  VATInvSales.RESET;                                  VATInvSales.SETCURRENTKEY("Transaction No.");                                   //End of the lines.                                  VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);                                  VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);

    รหัสที่มีอยู่ 5

                                              ((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN                                          IF "VAT Registration No." <> '' THEN BEGIN                                           //Delete the following lines.                                           IF AmountToIncludein349 <> 0 THEN                                             NormalAmount := NormalAmount + AmountToIncludein349                                           ELSE                                           //End of the lines.                                             NormalAmount := NormalAmount + VATInvSales.Base;                                          END ELSE

    แทนที่รหัส 5

                                              ((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN                                          IF "VAT Registration No." <> '' THEN BEGIN                                           //Add the following lines.                                           IF AmountToIncludein349 <> 0 THEN BEGIN                                             IF VATInvSales."Transaction No." <> LastTransactionNo THEN                                               NormalAmount := NormalAmount + AmountToIncludein349;                                           END ELSE                                           //End of the lines.                                                                                     NormalAmount := NormalAmount + VATInvSales.Base;                                          END ELSE

    รหัสที่มีอยู่ 6

                                          END;                                      // NormalAmount := NormalAmount + VATInvSales.Base;                                    UNTIL VATInvSales.NEXT = 0;                                  END;

    แทนที่รหัส 6

                                          END;                                      // NormalAmount := NormalAmount + VATInvSales.Base;                                      //Add the following line.                                      LastTransactionNo := VATInvSales."Transaction No.";                                    UNTIL VATInvSales.NEXT = 0;                                  END;

    รหัสที่มีอยู่ 7

                                      END;                                  //Delete the following line.                                  VATInvSales.RESET;                                  VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale);                                  VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);

    แทนที่รหัส 7

                                      END;                                  //Add the following lines.                                  LastTransactionNo := 0;                                   VATInvSales.RESET;                                  VATInvSales.SETCURRENTKEY("Transaction No.");                                   //End of the lines.                                  VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale);                                  VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);

    รหัสที่มีอยู่ 8

                                              ((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN                                          IF "VAT Registration No." <> '' THEN BEGIN                                            //Delete the following lines.                                            IF AmountToIncludein349 <> 0 THEN                                              AmountEUService := AmountEUService + AmountToIncludein349                                            ELSE                                            //End of the lines.                                                                                       AmountEUService := AmountEUService + VATInvSales.Base;                                          END ELSE

    แทนที่รหัส 8

                                              ((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN                                          IF "VAT Registration No." <> '' THEN BEGIN                                            //Add the following lines.                                            IF AmountToIncludein349 <> 0 THEN BEGIN                                              IF VATInvSales."Transaction No." <> LastTransactionNo THEN                                                AmountEUService := AmountEUService + AmountToIncludein349;                                            END ELSE                                            //End of the lines.                                                                                       AmountEUService := AmountEUService + VATInvSales.Base;                                          END ELSE

    รหัสที่มีอยู่ 9

                                            END;                                      END;                                    UNTIL VATInvSales.NEXT = 0;

    แทนที่รหัส 9

                                            END;                                      END;                                      //Add the following line.                                      LastTransactionNo := VATInvSales."Transaction No.";                                    UNTIL VATInvSales.NEXT = 0;
  2. เปลี่ยนรหัสในส่วนหมายเลขรายการข้อมูล 6 ในรายงานการประกาศแบบสร้าง 349 (88) ดังนี้: รหัสที่มีอยู่ 1

                                  BEGIN                                REPEAT                                  //Delete the following line.                                  VATInvPurch.RESET;                                  VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);                                  VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);

    แทนที่รหัส 1

                                  BEGIN                                REPEAT                                  //Add the following lines.                                  LastTransactionNo := 0;                                  VATInvPurch.RESET;                                  VATInvPurch.SETCURRENTKEY("Transaction No.");                                  //End of the lines.                                                            VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);                                  VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);

    รหัสที่มีอยู่ 2

                                              IF "VAT Registration No." <> '' THEN BEGIN                                            IF AmountToIncludein349 <> 0 THEN BEGIN                                              //Delete the following lines.                                              OpTriang := 'X';                                              AmountOpTri := AmountOpTri + AmountToIncludein349;                                              //End of the lines.                                                                                       END ELSE BEGIN                                              OpTriang := 'X';

    แทนที่รหัส 2

                                              IF "VAT Registration No." <> '' THEN BEGIN                                            IF AmountToIncludein349 <> 0 THEN BEGIN                                              //Add the following lines.                                              IF VATInvPurch."Transaction No." <> LastTransactionNo THEN BEGIN                                                OpTriang := 'X';                                                AmountOpTri := AmountOpTri + AmountToIncludein349;                                              END;                                              //End of the lines.                                            END ELSE BEGIN                                              OpTriang := 'X';

    รหัสที่มีอยู่ 3

                                          // OpTriang := 'X';                                      // AmountOpTri := AmountOpTri + VATInvPurch.Base;                                    UNTIL VATInvPurch.NEXT = 0;                                  END;

    แทนที่รหัส 3

                                          // OpTriang := 'X';                                      // AmountOpTri := AmountOpTri + VATInvPurch.Base;                                      //Add the following line.                                      LastTransactionNo := VATInvPurch."Transaction No.";                                    UNTIL VATInvPurch.NEXT = 0;                                  END;

    รหัสที่มีอยู่ 4

                                        UNTIL VATInvPurch.NEXT = 0;                                  END;                                  //Delete the following line.                                  VATInvPurch.RESET;                                  VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);                                  VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);

    แทนที่รหัส 4

                                        UNTIL VATInvPurch.NEXT = 0;                                  END;                                  //Add the following lines.                                  LastTransactionNo := 0;                                  VATInvPurch.RESET;                                  VATInvPurch.SETCURRENTKEY("Transaction No.");                                  //End of the lines.                                                                 VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);                                  VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);

    รหัสที่มีอยู่ 5

                                              ((VATInvPurch."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN                                          IF "VAT Registration No." <> '' THEN BEGIN                                            //Delete the following lines.                                            IF AmountToIncludein349 <> 0 THEN                                              NormalAmount := NormalAmount + AmountToIncludein349                                            ELSE                                            //End of the lines.                                              NormalAmount := NormalAmount + VATInvPurch.Base;                                          END ELSE

    แทนที่รหัส 5

                                              ((VATInvPurch."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN                                          IF "VAT Registration No." <> '' THEN BEGIN                                            //Add the following lines.                                            IF AmountToIncludein349 <> 0 THEN BEGIN                                              IF VATInvPurch."Transaction No." <> LastTransactionNo THEN                                                NormalAmount := NormalAmount + AmountToIncludein349;                                            END ELSE                                            //End of the lines.                                              NormalAmount := NormalAmount + VATInvPurch.Base;                                          END ELSE

    รหัสที่มีอยู่ 6

                                          END;                                      // NormalAmount := NormalAmount + VATInvPurch.Base;                                    UNTIL VATInvPurch.NEXT = 0;                                  END;

    แทนที่รหัส 6

                                          END;                                      // NormalAmount := NormalAmount + VATInvPurch.Base;                                      //Add the following line.                                      LastTransactionNo := VATInvPurch."Transaction No.";                                    UNTIL VATInvPurch.NEXT = 0;                                  END;

    รหัสที่มีอยู่ 7

                                        UNTIL VATInvPurch.NEXT = 0;                                  END;                                  //Delete the following line.                                  VATInvPurch.RESET;                                  VATInvPurch.SETRANGE(Type,VATInvPurch.Type::Purchase);                                  VATInvPurch.SETRANGE("Document Type",VATInvPurch."Document Type"::Invoice);

    แทนที่รหัส 7

                                        UNTIL VATInvPurch.NEXT = 0;                                  END;                                  //Add the following lines.                                  LastTransactionNo := 0;                                  VATInvPurch.RESET;                                  VATInvPurch.SETCURRENTKEY("Transaction No.");                                  //End of the lines.                                                              VATInvPurch.SETRANGE(Type,VATInvPurch.Type::Purchase);                                  VATInvPurch.SETRANGE("Document Type",VATInvPurch."Document Type"::Invoice);

    รหัสที่มีอยู่ 8

                                            THEN BEGIN                                          IF "VAT Registration No." <> '' THEN BEGIN                                            //Delete the following lines.                                            IF AmountToIncludein349 <> 0 THEN                                              AmountEUService := AmountEUService + AmountToIncludein349                                            ELSE                                            //End of the lines.                                                                                       AmountEUService := AmountEUService + VATInvPurch.Base;                                          END ELSE

    แทนที่รหัส 8

                                            THEN BEGIN                                          IF "VAT Registration No." <> '' THEN BEGIN                                            //Add the following lines.                                            IF AmountToIncludein349 <> 0 THEN BEGIN                                              IF VATInvPurch."Transaction No." <> LastTransactionNo THEN                                                AmountEUService := AmountEUService + AmountToIncludein349;                                            END ELSE                                            //End of the lines.                                                                                       AmountEUService := AmountEUService + VATInvPurch.Base;                                          END ELSE

    รหัสที่มีอยู่ 9

                                            END;                                      END;                                    UNTIL VATInvPurch.NEXT = 0;

    แทนที่รหัส 9

                                            END;                                      END;                                      //Add the following line.                                      LastTransactionNo := VATInvPurch."Transaction No.";                                    UNTIL VATInvPurch.NEXT = 0;
  3. เพิ่มตัวแปรส่วนกลางใหม่ในรายงานการประกาศ Make 349 (88) แล้วระบุตัวแปรดังนี้:

    • ชื่อ: LastTransactionNo@1100072

    • ชนิดข้อมูล: จํานวน เต็ม

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

คุณต้องติดตั้งหนึ่งในผลิตภัณฑ์ต่อไปนี้เพื่อใช้การแก้ไขด่วนนี้:

  • Microsoft Dynamics NAV 2009 เวอร์ชันภาษาสเปนService Pack 1 (SP1)

  • Microsoft Dynamics NAV 5.0 เวอร์ชันภาษาสเปนService Pack 1 (SP1)

คุณต้องมีรายงานภาษาสเปน 349 ติดตั้งอยู่เพื่อใช้การแก้ไขด่วนนี้For more information, visit the following Microsoft website: Spanish 349 Report Additionally, you must have the VAT 2010 package installed to apply this hotfix.For more information, visit the following Microsoft website: Microsoft Dynamics NAV Support for VAT 2010

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

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

สถานะ

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

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

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ