الأعراض
لديك ملاحظات مكررة أو متقاطعة في Microsoft Dynamics GP.توفر هذه المقالة برنامج نصي يمكن استخدامه لتحديد أعلى فهرس ملاحظة تم تعيينه في شركة معينة. يمكنك أيضا استخدامه لإعادة تعيين قيمة فهرس الملاحظة التالية إلى الرقم الأعلى التالي. سيمنع هذا المزيد من فهارس الملاحظات من أن تكون مرتبطة أو غير صحيحة.لن يؤدي هذا إلى تصحيح فهارس الملاحظات غير الصحيحة بالفعل.
يسبب
تم تعيين فهرس الملاحظات التالي في جدول الشركة الرئيسي (SY01500) منخفضا جدا مما تسبب في تلقي السجلات الجديدة فهارس الملاحظات التي هي نفس الفهارس الأخرى.القرار 1. قم بعمل نسخة احتياطية من DYNAMICS وجميع قواعد بيانات الشركة.2. قم بتشغيل العبارة التالية مقابل قاعدة بيانات الشركة التي تحتوي على الملاحظات المكررة أو عبر الارتباطات.ملاحظه إذا كنت تستخدم Query Analyzer، فقم بتشغيل العبارة في SQL Query Analyzer. لفتح محلل الاستعلام، انقر فوق بدء ، وأشر إلى البرامج ، وأشر إلى 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 حيث الاسم = '##GPSMaxNote') إسقاط الجدول dbo.##GPSMaxNote تعيين عدد على إنشاء جدول ##GPSMaxNote (MaxNoteIndex numeric(19,5) null) الذهاب----------------------- الإعلان عن قيمة @cStatement varchar(255) /* من t_cursor */ الإعلان عن @noteidx الرقمية (19,5) الإعلان عن @database على أنها varchar(5) تعيين @database = cast(db_name() as varchar(5))/* احصل على الجداول التي تحتوي على اسم عمود NOTEINDX. */الإعلان عن مؤشر T_cursor ل حدد "declare @NoteIndex numeric(19,5) حدد @NoteIndex = max(' +c.name+ ') من ' + o.name + ' insert ##GPSMaxNote values(@NoteIndex)' من sysobjects o، syscolumns c where o.id = c.id و o.type = 'U' و (c.name = 'NOTEINDX' أو c.name مثل '٪noteidx٪' أو c.name مثل '٪niteidx٪' أو c.name ='NOTEINDX2')/* موافق، لدينا قائمة الجداول. الآن احصل على القيمة القصوى ل NOTEINDX من كل جدول. */فتح T_cursor إحضار التالي من T_cursor إلى @cStatement بينما (@@fetch_status <> -1) تبدا exec (@cStatement) إحضار التالي من T_cursor إلى @cStatement نهايه إلغاء تخصيص T_cursor/* عرض فهرس الملاحظات الأقصى */ حدد "Max Note Index:"، max(MaxNoteIndex) من ##GPSMaxNote حيث MaxNoteIndex ليس خاليا/* تحديث فهرس الملاحظات التالي */ استخدام DYNAMICS تعيين @noteidx = (حدد max(MaxNoteIndex) من ##GPSMaxNote حيث MaxNoteIndex ليس خاليا) تحديث SY01500 تعيين NOTEINDX = (@noteidx + 1.0) حيث INTERID=@database تعيين عدد الحسابات إلى إيقاف التشغيل-------------------------------------------------------------------------- سيؤدي هذا إلى العثور على الحد الأقصى لمؤشر الملاحظات لجميع الشركات ثم تحديث جدول SY01500 للتأكد من أن الملاحظات لن تحصل على ارتباطات متقاطعة من الآن فصاعدا.3. كرر الخطوة 2 لكل قاعدة بيانات شركة تحتوي على فهارس ملاحظات مرتبطة. كانت هذه المقالة TechKnowledge Document 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 |
|
• |
إدارة النظام |