Triệu chứng

Bạn có ghi chú được nhân đôi hoặc liên kết chéo trong Microsoft Dynamics GP.Bài viết này cung cấp một kịch bản có thể được sử dụng để xác định ghi chú chỉ số cao nhất được gán trong một công ty nhất định. Bạn cũng có thể dùng công cụ này để đặt lại giá trị chỉ mục ghi chú tiếp theo thành số cao hơn tiếp theo. Điều này sẽ ngăn không cho các chỉ mục ghi chú tiếp theo không được liên kết chéo hoặc không chính xác.Điều này sẽ không sửa các chỉ mục ghi chú đã không chính xác.

Gây ra

Chỉ mục ghi chú tiếp theo trong bảng công ty cái (SY01500) đã được đặt quá thấp khiến các bản ghi mới nhận được chỉ mục ghi chú giống với các bản ghi khác.Giải quyết 1. Tạo một bản sao lưu của DYNAMICS và tất cả các cơ sở dữ liệu công ty.2. Chạy câu lệnh sau đây đối với cơ sở dữ liệu công ty có các ghi chú trùng lặp hoặc được nối kết chéo.Lưu ý  Nếu bạn đang sử dụng Trình phân tích Truy vấn, hãy chạy câu lệnh trong Trình phân tích Truy vấn SQL. Để mở Trình phân tích Truy vấn, bấm vào Bắt đầu , trỏ tới Chương trình , trỏ tới Microsoft SQL Server , rồi bấm vào Trình phân tích Truy vấn . Nếu bạn đang sử dụng Microsoft SQL Server Management Studio, hãy chạy điều khoản trong Microsoft SQL Server Management Studio. Để mở Management Studio, bấm vào Bắt đầu , trỏ tới Chương trình , trỏ tới Microsoft SQL Server 2005/2008/2012 , rồi bấm SQL Server Management Studio . Để chạy tập lệnh, hãy bấm Truy vấn Mới .

--------------------------------------------- /*** FindMaxNoteIndex.SQL ** **Mục đích: ** ** Tìm giá trị tối đa của NOTEINDX từ tất cả các bảng, bao gồm Project Accounting. ** ** Tập lệnh này phải chạy chống lại công ty trong đó ghi chú không chính xác.** trình điều khiển sẽ tự động cập nhật SY01500 bạn lên chỉ mục ghi chú tiếp theo đúng.** */ if exists (select * from tempdb.. đối tượng trong đó name = '##GPSMaxNote') drop table dbo.##GPSMaxNote đặt nocount vào create table ##GPSMaxNote (MaxNoteIndex numeric(19,5) null) Đi----------------------- khai báo @cStatement varchar(255) /* Giá trị từ giá t_cursor */ khai báo @noteidx số(19,5) khai báo @database là varchar(5) set @database = cast(db_name() as varchar(5))/* Get the tables that have a column name of NOTEINDX. */khai báo T_cursor con trỏ cho chọn 'khai báo @NoteIndex numeric(19,5) chọn @NoteIndex = max(' +c.name+ ') từ ' + o.name + ' insert ##GPSMaxNote values(@NoteIndex)' từ sysobjects o, syscolumns c trong đó o.id = c.id và o.type = 'U' và (c.name = 'NOTEINDX' hoặc c.name như '%noteidx%' hoặc c.name như '%niteidx%' hoặc c.name ='NOTEINDX2')/* Ok, chúng ta có danh sách các bảng. Bây giờ, nhận giá trị tối đa của NOTEINDX từ mỗi bảng. */mở T_cursor tải tiếp theo từ T_cursor vào @cStatement trong khi (@@fetch_status <> -1) Bắt đầu exec (@cStatement) tải tiếp theo từ T_cursor vào @cStatement Cuối deallocate T_cursor/* Hiển thị Chỉ số Ghi chú Tối đa */ chọn 'Max Note Index:', max(MaxNoteIndex) from ##GPSMaxNote where MaxNoteIndex is not null/* Update Next Note Index */ sử dụng DYNAMICS set @noteidx = (select max(MaxNoteIndex) from ##GPSMaxNote where MaxNoteIndex is not null) cập SY01500 đặt NOTEINDX = (@noteidx + 1.0) trong đó INTERID=@database đặt nocount off-------------------------------------------------------------------------- Thao tác này sẽ tìm chỉ mục ghi chú tối đa cho tất cả các công ty, rồi cập nhật bảng SY01500 để đảm bảo các ghi chú sẽ không được liên kết chéo từ giờ trở đi.3. Lặp lại Bước 2 cho mỗi cơ sở dữ liệu công ty có chỉ mục ghi chú được liên kết chéo. Bài viết này là TechKnowledge Document ID: 4837

ÁP DỤNG CHO

Microsoft Dynamics GP 9.0

Microsoft Business Solutions–Great Plains 8.0

Microsoft Business Solutions–Great Plains 7.5

Microsoft Great Plains eEnterprise 7.0

Microsoft Great Plains Dynamics 7.0

Great Plains eEnterprise 6.0

Great Plains Dynamics 6.0

Trình quản lý Hệ thống

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.