Bài viết này áp dụng cho Microsoft Dynamics NAV cho ngôn ngữ tiếng Nga (ru).
Triệu chứng
Trong Nga Phiên bản Microsoft Dynamics NAV 2009 R2 gói tính năng 1 nếu VAT mục bảng (254) đã thay đổi giao VAT hoạt động khi bạn cố gắng hoàn nguyên đăng ký dưới dạng mục sổ kế toán của nhà cung cấp, bạn nhận được lỗi sau:
Mã sốItem_No. không tồn tại.
Giải pháp
Thông tin về cập nhật nóng
Microsoft hiện đã cung cấp bản cập nhật nóng được hỗ trợ. Tuy nhiên, nó chỉ được dùng để khắc phục sự cố được mô tả trong bài viết này. Áp dụng cho các hệ thống đang gặp sự cố cụ thể này. Hotfix này có thể được kiểm tra thêm. Do đó, nếu bạn không bị ảnh hưởng bởi vấn đề này, chúng tôi khuyến nghị bạn đợi cho gói dịch vụ tiếp theo của Microsoft Dynamics NAV 2009 hoặc phiên bản Microsoft Dynamics NAV tiếp theo có chứa hotfix này.
Lưu ý Trong trường hợp đặc biệt, chi phí thường phát sinh để hỗ trợ cuộc gọi có thể bị hủy bỏ nếu chuyên viên hỗ trợ kỹ thuật cho Microsoft Dynamics và sản phẩm liên quan xác định rằng một Cập Nhật cụ thể sẽ giải quyết vấn đề của bạn. Chi phí hỗ trợ thông thường sẽ áp dụng cho các vấn đề không phù hợp với bản Cập Nhật cụ thể trong câu hỏi và câu hỏi hỗ trợ bổ sung.
Thông tin cài đặt
Microsoft sẽ cung cấp chương trình mẫu để minh hoạ, không bảo hành hoặc rõ ràng hay ngụ ý. Điều này bao gồm, nhưng không giới hạn bảo đảm cho một mục đích cụ thể hoặc sự. Bài viết này giả định rằng bạn đã quen với ngôn ngữ lập trình đang được giải thích và các công cụ được sử dụng để tạo và quy trình gỡ lỗi. Các kỹ sư hỗ trợ Microsoft có thể giúp giải thích các chức năng của một quy trình cụ thể, nhưng chúng sẽ không sửa đổi những mô hình để cung cấp thêm chức năng hoặc xây dựng quy trình nhằm đáp ứng yêu cầu cụ thể của bạn.
Lưu ý Trước khi cài đặt hotfix này, xác minh rằng tất cả Microsoft Navision khách người dùng đăng xuất hệ thống. Điều này bao gồm Microsoft Navision ứng dụng dịch vụ (NAS) khách người dùng. Bạn nên khách hàng chỉ người được đăng nhập khi bạn áp dụng hotfix này.
Để áp dụng 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 tài khoản người dùng trong cửa sổ thông tin đăng nhập Windows hoặc trong cửa sổ thông tin đăng nhập cơ sở dữ liệu được gán vai trò "Siêu" của bạn. Nếu tài khoản người dùng không thể gán vai trò "SUPER" ID, bạn phải xác minh rằng tài khoản người dùng có các quyền sau đây:
-
Thay đổi quyền cho các đối tượng mà bạn sẽ thay đổi.
-
Quyền thực thi các đối tượng hệ thống đối tượng ID 5210 và các đối tượng hệ thống đối tượng ID 9015 .
Lưu ý Bạn không cần phải có quyền để lưu trữ dữ liệu nếu bạn phải tiến hành sửa chữa dữ liệu.
Thay đổi mã
Lưu ý Luôn kiểm tra mã khắc phục trong một môi trường được kiểm soát trước khi bạn áp dụng bản vá để sản xuất máy tính của bạn.
Để khắc phục sự cố này, hãy làm theo các bước sau:
Lưu ý Để tạo trường (12490), sử dụng tệp .fob sau.
Tên tệp |
Phiên bản tệp |
Kích thước tệp |
Ngày |
Giờ |
Nền tảng |
---|---|---|---|---|---|
Vstf260227.fob |
Không áp dụng |
169,340 |
03-Jun-2011 |
10:08 |
Không áp dụng |
Các tập tin có sẵn để tải xuống từ Microsoft Dynamics tệp Exchange Server:
https://mbs2.microsoft.com/fileexchange/?fileID=5f52394d-7020-4d24-98b4-909002c45cfeNgày phát hành: Ngày 2 tháng 4 năm 2014
Microsoft đã quét vi-rút tệp này. Microsoft đã sử dụng phần mềm phát hiện vi-rút mới nhất đã có vào ngày tệp được đăng. Tệp được lưu trữ trên máy chủ được tăng cường bảo mật giúp ngăn chặn mọi thay đổi trái phép đối với tệp.
-
Thay đổi mã trong Đảo ngược mục bảng (179) như sau:
-
Thêm trường sau: {12490; Phân bổ VAT; Boolean}
-
Thay đổi mã chức năng InsertReversalEntry như sau:
Mã hiện tại... ReversalEntry."Bal. Account Type" := GLEntry."Bal. Account Type";
ReversalEntry."Bal. Account No." := GLEntry."Bal. Account No.";
ReversalEntry."Line No." := NextLineNo;
NextLineNo := NextLineNo + 1;
ReversalEntry.INSERT;
IF GLEntry.Amount > 0 THEN BEGIN
GLItemLedgRelation.RESET;
GLItemLedgRelation.SETRANGE("G/L Entry No.",GLEntry."Entry No.");
...Thay thế mã
... ReversalEntry."Bal. Account Type" := GLEntry."Bal. Account Type";
ReversalEntry."Bal. Account No." := GLEntry."Bal. Account No.";
ReversalEntry."Line No." := NextLineNo;
// Add the following line.
ReversalEntry."VAT Allocation" := VATAllocOnCost;
// End of the added line.
NextLineNo := NextLineNo + 1;
ReversalEntry.INSERT;
IF GLEntry.Amount >0 THEN BEGIN
GLItemLedgRelation.RESET;
GLItemLedgRelation.SETRANGE("G/L Entry No.",GLEntry."Entry No.");
... -
Thay đổi mã chức năng CheckEntries như sau:
Hiện có mã 1... PROCEDURE CheckEntries@14();
...Thay thế mã 1
... PROCEDURE CheckEntries@14(IsVATAllocOnCost@1000000000 : Boolean);
...Hiện có mã 2
... MaxPostingDate := 0D;
IF NOT GLEntry.FIND('-') THEN
ERROR(Text009,GLEntry.TABLECAPTION,GLAcc.TABLECAPTION);
// Delete the following line.
VATAllocOnCost := VATAllocationExist(VATEntry);
// End of the deleted line.
IF GLEntry.FIND('-') THEN BEGIN
// Delete the following line.
IF (GLEntry."Journal Batch Name" = '') AND NOT VATAllocOnCost THEN
// End of the deleted line.
TestFieldError;
REPEAT
CheckGLAcc(GLEntry,BalanceCheckAmount,BalanceCheckAddCurrAmount);
UNTIL GLEntry.NEXT = 0;
END;
...Thay thế mã 2
... MaxPostingDate := 0D;
IF NOT GLEntry.FIND('-') THEN
ERROR(Text009,GLEntry.TABLECAPTION,GLAcc.TABLECAPTION);
IF GLEntry.FIND('-') THEN BEGIN
// Add the following line.
IF (GLEntry."Journal Batch Name" = '') AND NOT IsVATAllocOnCost THEN
// End of the added line.
TestFieldError;
REPEAT
CheckGLAcc(GLEntry,BalanceCheckAmount,BalanceCheckAddCurrAmount);
UNTIL GLEntry.NEXT = 0;
END;
...Mã hiện 3
... IF VATEntry.FIND('-') THEN
REPEAT
CheckVAT(VATEntry);
UNTIL VATEntry.NEXT = 0;
// Delete the following line.
IF VATAllocOnCost THEN
// End of the deleted line.
IF ValueEntry.FIND('-') THEN
REPEAT
CheckItem(ValueEntry);
UNTIL ValueEntry.NEXT = 0;
...Thay thế mã 3
... IF VATEntry.FIND('-') THEN
REPEAT
CheckVAT(VATEntry);
UNTIL VATEntry.NEXT = 0;
// Add the following line.
IF IsVATAllocOnCost THEN
// End of the added line.
IF ValueEntry.FIND('-') THEN
REPEAT
CheckItem(ValueEntry);
UNTIL ValueEntry.NEXT = 0;
... -
Thay đổi mã chức năng SetReverseFilter như sau:
Hiện có mã 1... TaxDiffEntry.SETRANGE("Transaction No.",Number);
END ELSE BEGIN
GLReg.GET(Number);
...Thay thế mã 1
... TaxDiffEntry.SETRANGE("Transaction No.",Number);
// Add the following line.
ValueEntry.SETRANGE("Entry No.",0);
// End of the added line.
END ELSE BEGIN
GLReg.GET(Number);
...Hiện có mã 2
... VATEntry.SETRANGE("Entry No.",GLReg."From VAT Entry No.",GLReg."To VAT Entry No.");
GLItemLedgRelation.SETCURRENTKEY(GLItemLedgRelation."G/L Register No.");
GLItemLedgRelation.SETRANGE("G/L Register No.",GLReg."No.");
IF GLItemLedgRelation.FINDFIRST THEN
FromValueEntryNo := GLItemLedgRelation."Value Entry No.";
IF GLItemLedgRelation.FINDLAST THEN
ToValueEntryNo := GLItemLedgRelation."Value Entry No.";
ValueEntry.SETRANGE("Entry No.",FromValueEntryNo,ToValueEntryNo);
...Thay thế mã 2
... VATEntry.SETRANGE("Entry No.",GLReg."From VAT Entry No.",GLReg."To VAT Entry No.");
// Add the following lines.
FromValueEntryNo := 0;
ToValueEntryNo := 0;
IF VATAllocOnCost THEN BEGIN
// End of the added lines.
GLItemLedgRelation.SETCURRENTKEY(GLItemLedgRelation."G/L Register No.");
GLItemLedgRelation.SETRANGE("G/L Register No.",GLReg."No.");
IF GLItemLedgRelation.FINDFIRST THEN
FromValueEntryNo := GLItemLedgRelation."Value Entry No.";
IF GLItemLedgRelation.FINDLAST THEN
ToValueEntryNo := GLItemLedgRelation."Value Entry No.";
// Add the following line.
END;
// End of the added line.
ValueEntry.SETRANGE("Entry No.",FromValueEntryNo,ToValueEntryNo);
... -
Thay đổi mã chức năng VATAllocationExist như sau:
Mã hiện tại...// Delete the following line.
VATEntry2.COPYFILTERS(VATEntry2);
// End of the deleted line.
VATEntry2.SETRANGE("VAT Allocation Type",VATEntry2."VAT Allocation Type"::Charge);
EXIT(NOT VATEntry2.ISEMPTY);
...Thay thế mã
...// Add the following line.
VATEntry2.COPYFILTERS(VATEntry);
// End of the added line.
VATEntry2.SETRANGE("VAT Allocation Type",VATEntry2."VAT Allocation Type"::Charge);
EXIT(NOT VATEntry2.ISEMPTY);
...
-
-
Thay đổi mã chức năng sau thành Mục ngược (179) như sau:
Thêm các biến cục bộ sau:-
Tên: VATAllocOnCost
-
Loại dữ liệu: Boolean
Hiện có mã 1
... IF TempGLReg.FINDSET THEN
REPEAT
ReversalEntry2.SetReverseFilter(TempGLReg."No.","Reversal Type");
// Delete the following line.
ReversalEntry2.CheckEntries;
// End of the deleted line.
GET(1);
IF "Reversal Type" = "Reversal Type"::Register THEN
Number := TempGLReg."No."
ELSE
Number := "Transaction No.";
...Thay thế mã 1
... IF TempGLReg.FINDSET THEN
REPEAT
// Add the following lines.
SETRANGE("G/L Register No.",TempGLReg."No.");
SETRANGE("VAT Allocation",TRUE);
VATAllocOnCost := NOT ISEMPTY;
// End of the added lines.
ReversalEntry2.SetReverseFilter(TempGLReg."No.","Reversal Type");
// Add the following line.
ReversalEntry2.CheckEntries(VATAllocOnCost);
// End of the added line.
GET(1);
IF "Reversal Type" = "Reversal Type"::Register THEN
Number := TempGLReg."No."
ELSE
Number := "Transaction No.";
...Hiện có mã 2
... UNTIL TempGLReg.NEXT = 0;
END ELSE BEGIN
ReversalEntry2.SetReverseFilter("Transaction No.","Reversal Type");
// Delete the following line.
ReversalEntry2.CheckEntries;
// End of the deleted line.
GET(1);
IF "Reversal Type" = "Reversal Type"::Register THEN
Number := "G/L Register No."
...Thay thế mã 2
... UNTIL TempGLReg.NEXT = 0;
END ELSE BEGIN
// Add the following lines.
SETRANGE("G/L Register No.",TempGLReg."No.");
SETRANGE("VAT Allocation",TRUE);
VATAllocOnCost := NOT ISEMPTY;
// End of the added lines.
ReversalEntry2.SetReverseFilter("Transaction No.","Reversal Type");
// Add the following line.
ReversalEntry2.CheckEntries(VATAllocOnCost);
// End of the added line.
GET(1);
IF "Reversal Type" = "Reversal Type"::Register THEN
Number := "G/L Register No."
... -
Điều kiện tiên quyết
Bạn phải có phiên bản Nga Microsoft Dynamics NAV 2009 R2 gói tính năng 1 cài đặt để áp dụng hotfix này.
Thông tin về việc loại bỏ
Bạn không thể xoá hotfix này.
Trạng thái
Microsoft đã xác nhận rằng đây là sự cố trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
Tham khảo
VSTF DynamicsNAV SE: 260227
Lưu ý Đây là một bài viết "XUẤT BẢN NHANH" được tạo trực tiếp từ trung tâm hỗ trợ của Microsoft. Thông tin này được cung cấp-trả lời cho các vấn đề mới xuất hiện. Vì nhanh chóng có sẵn, các tài liệu có thể bao gồm lỗi và có thể được sửa đổi bất kỳ lúc nào mà không cần thông báo. Xem Điều khoản sử dụng để xem xét khác.