Znaki
Imate zapiske, ki so podvojeni ali navzkrižno povezani v gp za Microsoft Dynamics.V tem članku je na voljo skript, ki ga lahko uporabite za določanje najvišjega indeksa opomb, dodeljenega določenemu podjetju. Uporabite jo lahko tudi za ponastavitev naslednje vrednosti indeksa opombe na naslednje večje število. Tako preprečite nadaljnje posredovanje indeksov zapiskov, da bi bili navzkrižno povezani ali nepravilni.To ne bo popravilo že nepravilnih indeksov zapiskov.
Vzrok
Naslednji indeks opomb v glavni tabeli podjetja (SY01500) je bil nastavljen prenizko, zaradi česar novi zapisi prejmejo indekse zapiskov, ki so enaki kot drugi. Rešitev 1. Varnostno kopirajte zbirke podatkov DYNAMICS in vseh podjetij.2. Zaženite to izjavo v zbirki podatkov podjetja, ki ima podvojene ali navzkrižno povezane zapiske.Opomba Če uporabljate analizator poizvedb, zaženite izjavo v analizatorju SQL poizvedb. Če želite odpreti analizator poizvedb, kliknite Start , pokažite na Programi , pokažite na Microsoft SQL Server in nato kliknite Analizator poizvedb . Če uporabljate Microsoft SQL Server Management Studio, zaženite izjavo v Microsoft SQL Server Management Studio. Če želite Management Studio, kliknite Začetek , pokažite na Programi , pokažite na Microsoft SQL Server 2005/2008/2012 , nato pa kliknite SQL Server Management Studio . Če želite zagnati skript, kliknite Nova poizvedba.
--------------------------------------------- /* ** FindMaxNoteIndex.SQL ** ** Namen: ** ** Poiščite največjo vrednost NOTEINDX iz vseh tabel, vključno s Project računovodstvo. ** ** Skript morate zagnati v podjetju, v katerem so opombe nepravilne.** samodejno posodobi vaš SY01500, da bo pravilno pravilen naslednji indeks zapiska.** */ če obstaja (izberite * iz tempdb..sys, pri katerih je ime = '##GPSMaxNote') drop table dbo.##GPSMaxNote set nocount on create table ##GPSMaxNote (MaxNoteIndex numeric(19,5) null) pojdi ----------------------- declare @cStatement varchar(255) /* Value from the t_cursor */ declare @noteidx numeric(19,5) declare @database as varchar(5) nastavite @database = cast(db_name() as varchar(5)) /* Pridobite tabele z imenom stolpca NOTEINDX. */declare T_cursor cursor for 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 in o.type = 'U' and (c.name = 'NOTEINDX' ali c.name like '%noteidx%' ali c.name like '%niteidx%' ali c.name ='NOTEINDX2') /* V redu, imamo seznam tabel. Zdaj pridobite največjo vrednost NOTEINDX iz vsake tabele. */odpri T_cursor fetch next from T_cursor into @cStatement while (@@fetch_status <> -1) začetek exec (@cStatement) fetch next from T_cursor into @cStatement konec deallocate T_cursor /* Display Maximum Note Index */ select 'Max Note Index:', max(MaxNoteIndex) from ##GPSMaxNote where MaxNoteIndex ni null /* Update Next Note Index */ uporaba storitve DYNAMICS nastavite @noteidx = (izberite max(MaxNoteIndex) iz ##GPSMaxNote kjer MaxNoteIndex ni ničelna) update SY01500 set NOTEINDX = (@noteidx + 1.0), where INTERID=@database set nocount off -------------------------------------------------------------------------- S tem boste našli največji indeks zapiskov za vsa podjetja, nato pa posodobili tabelo SY01500 in tako zagotovili, da zapiski ne bodo navzkrižno povezani.3. Ponovite 2. korak za vsako zbirko podatkov podjetja, ki ima navzkrižno povezane indekse zapiskov. Ta članek je bil TechKnowledge DOCUMENT ID: 4837
VELJA ZA
|
• |
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 |