Příznaky
Máte poznámky, které jsou duplikované nebo propojené v Aplikaci Microsoft Dynamics GP.Tento článek obsahuje skript, který lze použít k určení nejvyššího indexu poznámek přiřazeného v dané společnosti. Můžete ho také použít k obnovení hodnoty indexu další poznámky na další vyšší číslo. Tím zabráníte tomu, aby další indexy poznámek byly křížově propojené nebo nesprávné.Tím se neopraví indexy poznámek, které už jsou nesprávné.
Způsobit
Index další poznámky v hlavní tabulce společnosti (SY01500) je nastavený příliš nízko, což způsobuje, že nové záznamy přijímají 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 pro firemní databázi, která obsahuje duplicitní nebo křížově propojené poznámky.Poznámka Pokud používáte Query Analyzer, spusťte příkaz v nástroji SQL Query Analyzer. Chcete-li otevřít nástroj Query Analyzer, klikněte na tlačítko Start , přejděte na příkaz Programy , přejděte na položku Microsoft SQL Server a potom klikněte na položku Query Analyzer . Pokud používáte Microsoft SQL Server Management Studio, spusťte příkaz v Microsoft SQL Server Management Studio. Management Studio otevřete tak, že kliknete na Start , přejdete na Programy , microsoft SQL Server 2005/2008/2012 a potom kliknete 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ě aplikace Project Accounting. ** ** Tento skript musí být spuštěn pro společnost, ve které jsou poznámky nesprávné.** automaticky aktualizuje váš SY01500 na správný index další poznámky.** */ pokud existuje (vyberte * z databáze tempdb.. sysobjects where name = '##GPSMaxNote') drop table dbo.##GPSMaxNote nastavit nocount on create table ##GPSMaxNote (MaxNoteIndex numeric(19,5) null) Jít----------------------- declare @cStatement varchar(255) /* Hodnota z t_cursor */ deklarovat @noteidx číselný(19,5) deklarovat @database jako varchar(5) set @database = cast(db_name() as varchar(5))/* Získejte tabulky, 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 where o.id = c.id and o.type = 'U' a (c.name = 'NOTEINDX' nebo c.name jako %noteidx%' nebo c.name jako %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 Konec uvolnit T_cursor/* Zobrazit maximální index poznámek */ vyberte "Max Note Index:", max(MaxNoteIndex) z ##GPSMaxNote kde MaxNoteIndex není null/* Aktualizovat index další poznámky */ použití DYNAMICS set @noteidx = (vyberte max(MaxNoteIndex) z ##GPSMaxNote kde MaxNoteIndex není null) update SY01500 set NOTEINDX = (@noteidx + 1.0), kde INTERID=@database nastavení nocount off-------------------------------------------------------------------------- Tím zjistíte maximální index poznámek pro všechny společnosti a pak aktualizujete tabulku SY01500, aby se zajistilo, že poznámky nebudou křížově propojené.3. Opakujte krok 2 pro každou firemní databázi, která má křížově propojené indexy poznámek. Tento článek byl TechKnowledge Id dokumentu: 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 |
|
• |
Správce systému |