Simptome
Aveți note dublate sau legate încrucișat în Microsoft Dynamics GP.Acest articol furnizează un script care poate fi utilizat pentru a determina cel mai înalt index de note atribuit într-o anumită firmă. De asemenea, o puteți utiliza pentru a reseta următoarea valoare index notă la următorul număr mai mare. Acest lucru va împiedica indexurile de note suplimentare din viitor să fie legate încrucișat sau incorecte.Acest lucru nu va corecta indexurile de note care sunt deja incorecte.
Cauza
Indexul notei următoare din tabelul coordonator firmă (SY01500) a fost setat prea jos, făcând ca înregistrările noi să primească indexuri de note care sunt la fel ca altele.Rezoluţie 1. Efectuați o copie backup a bazelor de date DYNAMICS și a tuturor bazelor de date ale firmei.2. Rulați următoarea instrucțiune în baza de date a firmei care are notele dublate sau legate încrucișat.Notă Dacă utilizați Analizor interogare, rulați instrucțiunea în SQL Query Analyzer. Pentru a deschide Analizor interogare, faceți clic pe Start , indicați spre Programe , indicați spre Microsoft SQL Server , apoi faceți clic pe Analizor interogare. Dacă utilizați Microsoft SQL Server Management Studio, rulați instrucțiunea în Microsoft SQL Server Management Studio. Pentru a deschide Management Studio, faceți clic pe Start , indicați spre Programe , indicați spre Microsoft SQL Server 2005/2008/2012 , apoi faceți clic pe SQL Server Management Studio . Pentru a rula un script, faceți clic pe Interogare nouă .
--------------------------------------------- /*** FindMaxNoteIndex.SQL ** **Scop: ** ** Găsiți valoarea maximă noteindx din toate tabelele, inclusiv din Project Accounting. ** ** Acest script trebuie rulat în raport cu firma în care notele sunt incorecte.** va actualiza automat SY01500 pentru dvs. la indexul corect al notei următoare.** */ dacă există (selectați * din tempdb.. sysobjects where name = '##GPSMaxNote') drop table dbo.##GPSMaxNote set nocount on create table ##GPSMaxNote (MaxNoteIndex numeric(19,5) null) Merge----------------------- declare @cStatement varchar(255) /* Valoarea din t_cursor */ declare @noteidx numeric(19,5) declare @database as varchar(5) setați @database = cast(db_name() as varchar(5))/* Obțineți tabelele care au numele de coloană NOTEINDX. */declare T_cursor cursor pentru selectați "declare @NoteIndex numeric(19,5) select @NoteIndex = max(" +c.name+ ') from ' + o.name + ' insert ##GPSMaxNote values(@NoteIndex)' de la sysobjects o, syscolumns c unde o.id = c.id și o.type = 'U' și (c.name = 'NOTEINDX' sau c.name cum ar fi '%noteidx%' sau c.name cum ar fi '%niteidx%' sau c.name ='NOTEINDX2')/* Ok, avem lista de tabele. Acum obțineți valoarea maximă NOTEINDX din fiecare tabel. */deschidere T_cursor fetch next from T_cursor into @cStatement în timp ce (@@fetch_status <> -1) Începe exec (@cStatement) fetch next from T_cursor into @cStatement Sfârşitul deallocate T_cursor/* Afișare index notă maximă */ selectați 'Index notă maximă:', max(MaxNoteIndex) din ##GPSMaxNote unde MaxNoteIndex nu este null/* Actualizați indexul notei următoare */ utilizați DYNAMICS setați @noteidx = (selectați max(MaxNoteIndex) din ##GPSMaxNote unde MaxNoteIndex nu este nul) update SY01500 set NOTEINDX = (@noteidx + 1,0), unde INTERID=@database setați numărul dezactivat-------------------------------------------------------------------------- Aceasta va găsi indexul maxim de note pentru toate firmele, apoi va actualiza tabelul SY01500 pentru a vă asigura că notele nu vor fi legate încrucișat în viitor.3. Repetați Pasul 2 pentru fiecare bază de date de firmă care are indexuri de note legate încrucișat. Acest articol a fost ID document TechKnowknowknow: 4837
SE APLICĂ LA
|
• |
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 |