Bài viết này áp dụng cho Microsoft Dynamics NAV cho bản địa ngôn ngữ tiếng Tây Ban Nha ().
Triệu chứng
Giả định rằng dịch vụ của EU được chọn hộp kiểm trong hộp thoại thiết lập bài viết VAT trong phiên bản tiếng Tây Ban Nha của Microsoft Dynamics NAV. Khi bạn tạo tệp tuyên bố 349, số tiền trong tệp đã xuất không chính xác.
Sự cố này xảy ra trong các sản phẩm sau đây:-
Phiên bản tiếng Tây Ban Nha của Microsoft Dynamics NAV 2009 gói dịch vụ 1 (SP1)
-
Phiên bản tiếng Tây Ban Nha của Microsoft Dynamics NAV 5,0 gói dịch vụ 1 (SP1)
Giải pháp
Thông tin hotfix
Một hotfix được hỗ trợ hiện đã sẵn dùng từ Microsoft. Tuy nhiên, nó chỉ nhằm khắc phục sự cố được mô tả trong bài viết này. Chỉ áp dụng cho các hệ thống đang gặp vấn đề cụ thể này. Hotfix này có thể nhận được kiểm tra bổ sung. Vì vậy, nếu bạn không bị ảnh hưởng nghiêm trọng bởi sự cố này, chúng tôi khuyên bạn nên chờ gói dịch vụ Microsoft Dynamics NAV 2009 tiếp theo hoặc phiên bản Microsoft Dynamics NAV tiếp theo có chứa hotfix này.
Lưu ý trong các trường hợp đặc biệt, các chi phí thường được phát sinh cho các cuộc gọi hỗ trợ có thể bị hủy bỏ nếu một chuyên gia hỗ trợ kỹ thuật cho Microsoft Dynamics và các sản phẩm liên quan xác định rằng một bản Cập Nhật cụ thể sẽ giải quyết được vấn đề của bạn. Chi phí hỗ trợ thông thường sẽ áp dụng đối với các vấn đề và câu hỏi hỗ trợ bổ sung không phù hợp với bản cập nhật cụ thể đang được bàn tới.
Thông tin cài đặt
Microsoft cung cấp các ví dụ về lập trình chỉ cho hình minh họa mà không có bảo hành nào được thể hiện hoặc ngụ ý. Điều này bao gồm nhưng không giới hạn, các bảo đảm ngụ ý về khả năng bán hoặc thể dục cho mục đích cụ thể. Bài viết này giả định rằng bạn đã quen thuộc với ngôn ngữ lập trình được thể hiện và các công cụ được sử dụng để tạo và thủ tục gỡ lỗi. Kỹ sư hỗ trợ của Microsoft có thể giúp giải thích về các chức năng của một thủ tục cụ thể nhưng chúng sẽ không sửa đổi các ví dụ này để cung cấp thêm chức năng hoặc thủ tục dựng thêm để đáp ứng các yêu cầu cụ thể của bạn.
Lưu ý trước khi bạn cài đặt hotfix này, hãy xác nhận rằng tất cả người dùng Microsoft Navision Client sẽ được đăng xuất khỏi hệ thống. Điều này bao gồm người dùng máy khách của Microsoft Navision Application Services (NAS). Bạn nên là người dùng máy khách duy nhất đang đăng nhập khi bạn thực hiện hotfix này. Để thực hiện hotfix này, bạn phải có giấy phép nhà phát triển. Chúng tôi khuyên bạn nên có tài khoản người dùng trong cửa sổ đăng nhập Windows hoặc trong cửa sổ đăng nhập cơ sở dữ liệu được gán ID vai trò "SUPER". Nếu tài khoản người dùng không thể gán ID vai trò "SUPER", bạn phải xác nhận rằng tài khoản người dùng có các quyền sau đây:-
Quyền sửa đổi đối với đối tượng mà bạn sẽ thay đổi.
-
Quyền thực thi cho đối tượng Hệ thống ID đối tượng 5210 và đối với đối tượng Hệ thống ID đối tượng 9015.
Lưu ý bạn không cần phải có quyền đối với các cửa hàng dữ liệu trừ khi bạn cần phải thực hiện sửa chữa dữ liệu.
Thay đổi mã
Lưu ý luôn kiểm tra các bản sửa lỗi trong một môi trường được kiểm soát trước khi bạn áp dụng các bản sửa lỗi cho máy tính sản xuất của bạn.
Để giải quyết sự cố này, hãy làm theo các bước sau:-
Thay đổi mã trong mục dữ liệu số 5 phần trong báo cáo khai báo 349 (88) như sau:
mã hiện có 1BEGIN
REPEAT //Delete the following line. VATInvSales.RESET; VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale); VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);Mã thay thế 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);Mã hiện có 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';Mã thay thế 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';Mã hiện có 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvSales.Base; UNTIL VATInvSales.NEXT = 0; END;Mã thay thế 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvSales.Base; //Add the following line. LastTransactionNo := VATInvSales."Transaction No."; UNTIL VATInvSales.NEXT = 0; END;Mã hiện có 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);Mã thay thế 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);Mã hiện có 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 ELSEMã thay thế 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 ELSEMã hiện có 6
END;
// NormalAmount := NormalAmount + VATInvSales.Base; UNTIL VATInvSales.NEXT = 0; END;Mã thay thế 6
END;
// NormalAmount := NormalAmount + VATInvSales.Base; //Add the following line. LastTransactionNo := VATInvSales."Transaction No."; UNTIL VATInvSales.NEXT = 0; END;Mã hiện có 7
END;
//Delete the following line. VATInvSales.RESET; VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale); VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);Mã thay thế 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);Mã hiện có 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 ELSEMã thay thế 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 ELSEMã hiện có 9
END;
END; UNTIL VATInvSales.NEXT = 0;Mã thay thế 9
END;
END; //Add the following line. LastTransactionNo := VATInvSales."Transaction No."; UNTIL VATInvSales.NEXT = 0; -
Thay đổi mã trong mục dữ liệu số 6 phần trong báo cáo khai báo 349 (88) như sau:
mã hiện có 1BEGIN
REPEAT //Delete the following line. VATInvPurch.RESET; VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase); VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);Mã thay thế 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);Mã hiện có 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';Mã thay thế 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';Mã hiện có 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvPurch.Base; UNTIL VATInvPurch.NEXT = 0; END;Mã thay thế 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvPurch.Base; //Add the following line. LastTransactionNo := VATInvPurch."Transaction No."; UNTIL VATInvPurch.NEXT = 0; END;Mã hiện có 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);Mã thay thế 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);Mã hiện có 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 ELSEMã thay thế 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 ELSEMã hiện có 6
END;
// NormalAmount := NormalAmount + VATInvPurch.Base; UNTIL VATInvPurch.NEXT = 0; END;Mã thay thế 6
END;
// NormalAmount := NormalAmount + VATInvPurch.Base; //Add the following line. LastTransactionNo := VATInvPurch."Transaction No."; UNTIL VATInvPurch.NEXT = 0; END;Mã hiện có 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);Mã thay thế 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);Mã hiện có 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 ELSEMã thay thế 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 ELSEMã hiện có 9
END;
END; UNTIL VATInvPurch.NEXT = 0;Mã thay thế 9
END;
END; //Add the following line. LastTransactionNo := VATInvPurch."Transaction No."; UNTIL VATInvPurch.NEXT = 0; -
Thêm một biến số mới trong báo cáo tuyên bố 349 (88), rồi xác định biến số như sau:
-
Tên: LastTransactionNo@1100072
-
DataType: số nguyên
-
Điều kiện tiên quyết
Bạn phải có một trong các sản phẩm sau được cài đặt để áp dụng hotfix này:
-
Phiên bản tiếng Tây Ban Nha của Microsoft Dynamics NAV 2009 gói dịch vụ 1 (SP1)
-
Phiên bản tiếng Tây Ban Nha của Microsoft Dynamics NAV 5,0 gói dịch vụ 1 (SP1)
Bạn phải cài đặt báo cáo 349 tiếng Tây Ban Nha để áp dụng hotfix này.báo cáo 349 tiếng Tây Ban Nha , bạn phải có gói VAT 2010 được cài đặt để áp dụng hotfix này. Để biết thêm thông tin, hãy truy cập trang web Microsoft sau đây: hỗ trợ Microsoft Dynamics NAV cho 2010 VAT
Để biết thêm thông tin, hãy truy cập trang web Microsoft sau đây:Loại bỏ thông tin
Bạn không thể loại bỏ hotfix này.
Trạng thái
Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
Lưu ý đây là bài viết "phát hành nhanh" được tạo trực tiếp từ bên trong tổ chức hỗ trợ của Microsoft. Thông tin tại đây được cung cấp dưới dạng-có phản hồi cho các vấn đề mới nổi. Do tốc độ làm cho nó sẵn dùng, các tài liệu có thể bao gồm lỗi biểu đồ và có thể được sửa đổi tại bất kỳ thời điểm nào mà không cần thông báo. Xem điều khoản sử dụng cho các cân nhắc khác.