Příznaky
Máte poznámky, které jsou v Microsoft Dynamics GP duplicitní nebo křížové.
Tento článek obsahuje skript, který se používá k určení nejvyššího indexu poznámek přiřazeného v dané společnosti. Můžete ho taky použít k resetování další hodnoty indexu poznámky na další vyšší číslo. Tím se zabrání tomu, aby se další indexy poznámek dále protáčky protáčky nebo nesprávné.
Tím se nespraví indexy poznámek, které jsou už nesprávné.
Příčina:
Index další poznámky v tabulce hlavní server společnosti (SY01500) je nastavený příliš nízká, což způsobuje, že nové záznamy dostávají indexy poznámek, které jsou stejné jako ostatní.
Rozlišení
1. Vytvořte zálohu dynamics a všech firemních databází.
2. Spusťte následující příkaz proti databázi společnosti, která obsahuje duplicitní nebo křížové poznámky.
Poznámka: Pokud používáte Query Analyzer, spusťte příkaz v SQL Query Analyzer. Pokud chcete otevřít Nástroj Query Analyzer, klikněte na Start, přejděte na Programy, přejděte na Microsoft SQL Server a potom klikněte na Analýza dotazů. Pokud používáte Microsoft SQL Server Management Studio, spusťte příkaz v Microsoft SQL Server Management Studio. Pokud chcete Management Studio otevřít, klikněte na Start , přejděte na Programy , přejděte na Microsoft SQL Server 2005/2008/2012 a potom klikněte na SQL Server Management Studio . Pokud chcete spustit skript, klikněte na Nový dotaz .
---------------------------------------------
/*
** FindMaxNoteIndex.SQL
**
** Účel:
**
** Najděte maximální hodnotu funkce NOTEINDX ze všech tabulek včetně Project Accounting.
**
** Tento skript se musí spustit proti společnosti, ve které jsou poznámky nesprávné.
** automaticky aktualizuje váš SY01500 na správný index další poznámky.
**
*/
if exists (select * from tempdb..sysobjects where name = '##GPSMaxNote')
drop table dbo.##GPSMaxNote
set nocount on
create table ##GPSMaxNote (MaxNoteIndex numeric(19;5) null)
přejít
-----------------------
declare @cStatement varchar(255) /* Value from the t_cursor */
declare @noteidx numeric(19;5)
deklarovat @database jako varchar(5)
set @database = cast(db_name() as varchar(5)) /* Získání tabulek, které mají název sloupce
NOTEINDX. */
deklarovat T_cursor kurzor pro
select 'declare @NoteIndex numeric(19;5) select @NoteIndex = max(' +c.name+ ') from ' + o.name + ' insert ##GPSMaxNote values(@NoteIndex)'
from sysobjects o, syscolumns c
kde o.id = c.id
a o.type = 'U'
a (c.name = 'NOTEINDX' nebo c.name like '%noteidx%' nebo c.name like '%niteidx%' nebo c.name ='NOTEINDX2') /* Ok, máme seznam
tabulek. Teď z každé tabulky získejte maximální hodnotu NOTEINDX. */
otevřít T_cursor
načíst další z T_cursor do @cStatement
while (@@fetch_status <> -1)
začít
exec (@cStatement)
načíst další z T_cursor do @cStatement
end
deallocate T_cursor
/* Display Maximum Note Index */
select 'Max Note Index:', max(MaxNoteIndex) from ##GPSMaxNote where MaxNoteIndex is not null
/* Update Next Note Index */
použití dynamics
set @noteidx = (select max(MaxNoteIndex) from ##GPSMaxNote where MaxNoteIndex is not null)
update SY01500 set NOTEINDX = (@noteidx + 1.0), kde INTERID=@database
nastavení funkce nocount off
--------------------------------------------------------------------------
Tím se najde maximální index poznámek pro všechny společnosti a pak aktualizuje tabulku SY01500, aby se zajistilo, že se poznámky do budoucna nezkříže.
3. Opakujte krok 2 pro každou databázi společnosti, která obsahuje křížové indexy poznámek.
Tento článek byl ID dokumentu TechKnowledge: 4837
PLATÍ PRO
• |
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 |