บทความนี้ใช้ได้กับ 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.
หากต้องการแก้ปัญหานี้ ให้ทำตามขั้นตอนต่างๆ ต่อไปนี้:
-
เปลี่ยนรหัสในส่วนหมายเลขรายการข้อมูล 5 ในรายงานการประกาศแบบสร้าง 349 (88) ดังนี้:
รหัสที่มีอยู่ 1BEGIN
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; -
เปลี่ยนรหัสในส่วนหมายเลขรายการข้อมูล 6 ในรายงานการประกาศแบบสร้าง 349 (88) ดังนี้:
รหัสที่มีอยู่ 1BEGIN
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; -
เพิ่มตัวแปรส่วนกลางใหม่ในรายงานการประกาศ 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" ที่สร้างขึ้นโดยตรงจากภายในองค์กรฝ่ายสนับสนุนของไมโครซอฟท์ ข้อมูลที่อยู่ในที่นี้จะได้รับตามที่เป็นเพื่อตอบสนองต่อปัญหาที่เกิดขึ้นใหม่ เนื่องจากความเร็วในการเริ่มให้พร้อมใช้งาน เนื้อหาอาจมีการพิมพ์ผิดพลาดและอาจแก้ไขได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบ ดู ข้อตกลงการใช้งานเพื่อ การพิจารณาอื่นๆ