Симптоми

Имате бележки, които са дублирани или кръстосани в 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') drop table dbo.##GPSMaxNote задаване на брой на create table ##GPSMaxNote (MaxNoteIndex numeric(19,5) null) Отидете----------------------- declare @cStatement varchar(255) /* Value from the t_cursor */ деклариране @noteidx число(19;5) деклариране @database като varchar(5) set @database = cast(db_name() as varchar(5))/* Get the tables that have a column name of NOTEINDX. */declare T_cursor cursor for изберете "declare @NoteIndex numeric(19;5) select @NoteIndex = max(' +c.name+ ') from ' + o.name + ' insert ##GPSMaxNote values(@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 fetch next from T_cursor into @cStatement докато (@@fetch_status <> -1) Започне exec (@cStatement) извличане от T_cursor в @cStatement Края deallocate T_cursor/* Display Maximum Note Index */ изберете "Max Note Index:", max(MaxNoteIndex) from ##GPSMaxNote където MaxNoteIndex не е Null/* Update Next Note Index */ използване на DYNAMICS set @noteidx = (select max(MaxNoteIndex) from ##GPSMaxNote where MaxNoteIndex is not Null) update SY01500 зададете NOTEINDX = (@noteidx + 1.0), където INTERID=@database задаване на брой изкл.-------------------------------------------------------------------------- Така ще се намери максималният индекс на бележките за всички фирми и след това ще се актуализира таблицата SY01500, за да се гарантира, че бележките няма да бъдат кръстосани.3. Повторете стъпка 2 за всяка фирмена база данни, която има кръстосани индекси на бележки. Тази статия е ИД на документ на TechKnowledge: 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

System Manager

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.