Проблемы
У вас есть заметки, которые дублируются или перекрестно связаны в Microsoft Dynamics GP.В этой статье представлен сценарий, который можно использовать для определения максимального индекса заметок, назначенного в данной компании. Его также можно использовать для сброса значения следующего индекса заметки до следующего более высокого числа. Это предотвратит перекрестные или неправильные индексы заметок.Это не исправит уже неправильные индексы.
Вызвать
Следующий индекс заметок в таблице master компании (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 из всех таблиц, включая учет проектов. ** ** Этот скрипт должен выполняться в компании, в которой указаны неправильные заметки.** оно автоматически обновит SY01500 до правильного следующего индекса заметок.** */ если существует (выберите * из tempdb.. sysobjects, где имя = '##GPSMaxNote') drop table dbo.##GPSMaxNote параметр nocount on create table ##GPSMaxNote (MaxNoteIndex numeric(19,5) NULL) Пойти----------------------- объявление @cStatement varchar(255) /* Значение из t_cursor */ объявление @noteidx число(19,5) объявление @database как varchar(5) задайте @database = cast(db_name() как varchar(5))/* Получение таблиц с именем столбца NOTEINDX. */Объявление курсора T_cursor для выберите "declare @NoteIndex numeric(19,5) select @NoteIndex = max(' +c.name+ ') из " + o.name + ' insert ##GPSMaxNote values(@NoteIndex)' из sysobjects o, syscolumns c where o.id = c.id и o.type = 'U' и (c.name = "NOTEINDX" или c.name, как "%noteidx%" или c.name, например "%niteidx%" или c.name ="NOTEINDX2")/* Хорошо, у нас есть список таблиц. Теперь получите максимальное значение NOTEINDX из каждой таблицы. */открыть T_cursor Выборка из T_cursor в @cStatement while (@@fetch_status <> -1) Начать exec (@cStatement) Выборка из T_cursor в @cStatement Конец отмена выделения T_cursor/* Отображение максимального индекса заметок */ выберите "Max Note Index:", max(MaxNoteIndex) из ##GPSMaxNote где MaxNoteIndex не имеет значения NULL/* Обновить следующий индекс заметок */ использовать DYNAMICS set @noteidx = (выберите max(MaxNoteIndex) из ##GPSMaxNote где MaxNoteIndex не имеет значения NULL) обновите SY01500 задайте параметр NOTEINDX = (@noteidx + 1.0), где INTERID=@database параметр nocount off-------------------------------------------------------------------------- Это позволит найти максимальный индекс примечаний для всех компаний, а затем обновить таблицу SY01500, чтобы в будущем заметки не были связаны между собой.3. Повторите шаг 2 для каждой базы данных компании с перекрестными индексами заметок. Эта статья была TechKnowledge Document ID: 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 |
|
• |
Великие равнины eEnterprise 6.0 |
|
• |
Great Plains Dynamics 6.0 |
|
• |
System Manager |