อาการ

คุณมีบันทึกย่อที่ซ้ําหรือเชื่อมโยงข้ามใน Microsoft Dynamics GPบทความนี้มีสคริปต์ที่สามารถใช้เพื่อกําหนดดัชนีหมายเหตุสูงสุดที่กําหนดในบริษัทที่กําหนดให้ คุณยังสามารถใช้ฟังก์ชันนี้เพื่อตั้งค่าดัชนีบันทึกย่อถัดไปของคุณใหม่ให้เป็นตัวเลขถัดไปที่สูงกว่า การทําเช่นนี้จะป้องกันไม่ให้ดัชนีบันทึกย่อเพิ่มเติมถูกเชื่อมโยงข้ามหรือไม่ถูกต้องวิธีนี้จะไม่แก้ไขดัชนีบันทึกย่อที่ไม่ถูกต้อง

สาเหตุ

ดัชนีหมายเหตุถัดไปในตารางหลักบริษัท (SY01500) ได้รับการตั้งค่าให้ต่ําเกินไปแก้ ปัญหา 1. ทําการสํารองข้อมูลของ DYNAMICS และฐานข้อมูลบริษัททั้งหมด2. เรียกใช้คําสั่งต่อไปนี้กับฐานข้อมูลบริษัทที่มีบันทึกย่อที่ซ้ํากันหรือมีการเชื่อมโยงข้ามหมาย เหตุ  ถ้าคุณกําลังใช้ตัววิเคราะห์คิวรี ให้เรียกใช้คําสั่งในตัววิเคราะห์คิวรี SQL เมื่อต้องการเปิดตัววิเคราะห์คิวรี ให้คลิก เริ่ม ชี้ไปที่ โปรแกรม ชี้ไปที่ microsoft SQL Server แล้วคลิก ตัววิเคราะห์คิวรี ถ้าคุณกําลังใช้ Microsoft SQL Server Management Studio ให้เรียกใช้คําสั่งใน Microsoft SQL Server Management Studio เมื่อต้องการเปิด Management Studio ให้คลิก เริ่ม ชี้ไปที่ โปรแกรม ชี้ไปที่ Microsoft SQL Server 2005/2008/2012 แล้วคลิก SQL Server Management Studio เมื่อต้องการเรียกใช้สคริปต์ ให้คลิก คิวรีใหม่

--------------------------------------------- /*** FindMaxNoteIndex.SQL ** **วัตถุ ประสงค์: ** ** ค้นหาค่าสูงสุดของ NOTEINDX จากตารางทั้งหมดรวมถึง Project Accounting ** ** ต้องรันสคริปต์นี้กับบริษัทที่มีหมายเหตุไม่ถูกต้อง** ระบบจะอัปเดต SY01500 ของคุณโดยอัตโนมัติเพื่อให้เป็นดัชนีบันทึกย่อถัดไปที่ถูกต้อง** */ หากมี (เลือก * จาก tempdb. sysobjects where name = '##GPSMaxNote') วางตาราง dbo.##GPSMaxNote ตั้งค่า nocount บน สร้างตาราง ##GPSMaxNote (ตัวเลข MaxNoteIndex(19,5) null) ไป----------------------- ประกาศค่า @cStatement varchar(255) /* จากค่า t_cursor */ ประกาศตัวเลข@noteidx(19,5) ประกาศ@database เป็น varchar(5) ตั้งค่า @database = cast(db_name() เป็น varchar(5))/* รับตารางที่มีชื่อคอลัมน์ของ NOTEINDX */ประกาศเคอร์เซอร์ T_cursor สําหรับ เลือก 'ประกาศตัวเลข@NoteIndex(19,5) เลือก @NoteIndex = max(' +c.name+ ') จาก ' + o.name + ' แทรก ##GPSMaxNote ค่า(@NoteIndex)' จาก sysobjects o, syscolumns c โดยที่ o.id = c.id และ o.type = 'U' และ (c.name = 'NOTEINDX' หรือ c.name เช่น '%noteidx%' หรือ c.name เช่น '%niteidx%' หรือ c.name ='NOTEINDX2')/* Ok เรามีรายการตาราง ตอนนี้รับค่าสูงสุดของ NOTEINDX จากแต่ละตาราง */เปิด T_cursor ดึงถัดไปจาก T_cursor ลงใน@cStatement ขณะที่ (@@fetch_status <> -1) เริ่ม ต้น exec (@cStatement) ดึงถัดไปจาก T_cursor ลงใน@cStatement สิ้น สุด deallocate T_cursor/* Display Maximum Note Index */ เลือก 'ดัชนีบันทึกย่อสูงสุด:', max(MaxNoteIndex) จาก ##GPSMaxNote ที่ MaxNoteIndex ไม่ใช่ null/* อัปเดตดัชนีบันทึกย่อถัดไป */ ใช้ DYNAMICS ตั้งค่า @noteidx = (เลือก max(MaxNoteIndex) จาก ##GPSMaxNote ที่ MaxNoteIndex ไม่เป็น null) update SY01500 set NOTEINDX = (@noteidx + 1.0) where INTERID=@database ตั้งค่าบัญชีเป็นปิด-------------------------------------------------------------------------- สิ่งนี้จะค้นหาดัชนีหมายเหตุสูงสุดสําหรับบริษัททั้งหมด แล้วปรับปรุงตาราง SY01500 เพื่อให้แน่ใจว่าหมายเหตุจะไม่ได้รับการเชื่อมโยงข้ามไปข้างหน้า3. ทําซ้ําขั้นตอนที่ 2 สําหรับแต่ละฐานข้อมูลบริษัทที่มีดัชนีหมายเหตุที่เชื่อมโยงกัน บทความนี้คือ TechKnowledge ID เอกสาร: 4837

นําไปใช้กับ

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

ตัวจัดการระบบ

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

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

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