Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья помогает устранить сообщения об ошибках "возвращаемый код 17".
Область применения: Microsoft Dynamics GP
Исходный номер базы знаний: 897747
Симптомы
При запуске процесса амортизации в службе управления фиксированными активами в Microsoft Dynamics GP или в Microsoft Business Solutions — Great Plains 8.0 вы получите некоторые сообщения об ошибках возврата 17. Эти сообщения об ошибках возврата 17 отображаются в окне "Запрос журнала ошибок".
Примечание.
Чтобы открыть окно "Запрос журнала ошибок", щелкните Запрос>Фиксированные активы>Журнал ошибок.
Ниже приведены сообщения об ошибках возвращаемого кода 17:
- Возврат кода 17 (повторяющаяся запись) в файле FA_Financial_DTL_MSTR при попытке сохранить операцию сохранения
- Возврат кода 17 (повторяющаяся запись) для скрипта FA_Write_Financial_Detail
- Возврат кода 17 (повторяющаяся запись) для скрипта FA_Write_Depreciation_Expense_To_Financial_Detail
- Код возврата 17 (Повторяющаяся запись) в скрипте FA_Write_and_Update_FA_Financial_Detail
- FA_Write_Financial_Detail Код возврата 17 (повторяющаяся запись) в файле FA_Financial_DTL_MSTR при попытке выполнить сохранение. Финансовый индекс: 1
- FA_Write_Depreciation_Expense_To_Financial_Detail возвращает код 17 (повторяющаяся запись) в скрипте FA_Write_Financial_Detail
- FA_Write_and_Update_FA_Financial_Detail возвращает код 17 (Дублированная запись) при выполнении скрипта FA_Write_Depreciation_Expense_To_Financial_Detail. Исходный документ: FADEP
- FA_Depreciator код возврата 17 (повторяющаяся запись) в скрипте FA_Write_and_Update_FA_Financial_Detail. Депр в этом цикле: 9477.11670
- FA_Locate_Books_Not_Fully_Depreciated код возврата 17 (повторяющаяся запись) в FA_Depreciator скрипта. Индекс активов: 1 индекс книги: 1
- FA_Depreciate_All_Assets Возвращаемый код 17 (повторяющаяся запись) в скрипте FA_Locate_Books_Not_Fully_Depreciated
- FA_Write_Financial_Detail Код возврата 17 (повторяющаяся запись) в файле FA_Financial_DTL_MSTR при попытке операции сохранения. Финансовый индекс: 2
Причина
Эта проблема возникает, когда столбец DEX_ROW_ID не помечается как столбец удостоверения, а если поле FINANCIALINDX не помечается как первичный ключ в FA00902
таблице.
Решение
Устранить проблему можно так:
Примечание.
Прежде чем следовать инструкциям в этой статье, убедитесь, что у вас есть полная резервная копия базы данных, которую можно восстановить, если возникла проблема.
Может потребоваться использовать тестовую базу данных компании с копией динамических данных компании. При этом пользователям не придется выходить из Microsoft Dynamics GP или из Microsoft Great Plains 8.0 при тестировании действий по устранению этих проблем. После тестирования действий вы можете обработать эти действия в отношении данных динамической компании после того, как все пользователи выошли в конце рабочего дня. Для получения дополнительной информации щелкните приведенный ниже номер статьи базы знаний Майкрософт:
871973 Настройка тестовой компании с копией динамических данных компании с помощью SQL Server 7.0, SQL Server 2000 или SQL Server 2005
Шаг 1. Резервное копирование базы данных компании
Резервное копирование базы данных компании в Microsoft Dynamics GP 10.0 или Microsoft Dynamics GP 2010
- Существуют ли все пользователи Microsoft Dynamics GP.
- В меню Microsoft Dynamics GP наведите указатель на обслуживание и нажмите кнопку "Резервное копирование".
- Выберите компанию, данные которой вы хотите сохранить.
- Нажмите кнопку "ОК" , чтобы создать резервную копию.
Окно резервного копирования компании закроется, и по завершении резервного копирования появится сообщение.
Резервное копирование базы данных компании в Microsoft Dynamics GP 9.0 и в Microsoft Business Solutions — Great Plains 8.0
Создайте резервную копию динамической базы данных компании. Для этого используйте один из следующих методов, как это подходит для вашей ситуации.
Метод 1. Использование SQL Server Enterprise Manager
Если вы используете SQL Server Enterprise Manager, выполните следующие действия.
- Нажмите кнопку "Пуск>всех программ".
- Наведите указатель на Microsoft SQL Server и щелкните Enterprise Manager.
- Разверните Microsoft SQL Servers, разверните группу SQL Server, а затем разверните экземпляр SQL Server.
- Разверните базы данных, щелкните правой кнопкой мыши активную базу данных компании, выберите Все задачи — Резервное копирование базы данных.
- В окне резервного копирования SQL Server нажмите кнопку "Добавить " в разделе "Назначение ".
- В окне выбора назначения резервного копирования нажмите кнопку с многоточием рядом с полем имени файла.
- В окне "Расположение устройства резервного копирования" разверните папки и выберите расположение для файла резервной копии.
- Введите имя файла резервной копии. Например, введите Live.bak.
- Нажмите кнопку "ОК " повторно, пока не вернеесь в окно резервного копирования SQL Server.
- Нажмите кнопку "ОК" , чтобы запустить резервную копию.
- После успешного завершения резервного копирования нажмите кнопку ОК.
Метод 2: Использование SQL Server Management Studio
Если вы используете SQL Server Management Studio, выполните следующие действия.
- Нажмите кнопку "Пуск>программ".
- Наведите указатель на Microsoft SQL Server 2005 или Microsoft SQL Server 2008, а затем щелкните SQL Server Management Studio. Откроется окно "Подключение к серверу".
- В поле "Имя сервера" введите имя экземпляра SQL Server.
- В списке Проверка подлинности щелкните SQL-проверка подлинности.
- В поле имени пользователя введите sa.
- В поле "Пароль" введите пароль для пользователя sa, а затем нажмите кнопку "Подключить".
- В разделе "Диспетчер объектов" разверните "Базы данных".
- Щелкните правой кнопкой мыши динамическую базу данных компании, наведите указатель на задачи и нажмите кнопку "Резервное копирование".
- В области назначения нажмите кнопку "Удалить" и нажмите кнопку "Добавить".
- В области назначения на диске нажмите кнопку с многоточием.
- Найдите расположение, в котором нужно создать файл резервной копии, введите имя файла резервной копии, например LIVE.bak, и нажмите кнопку "ОК".
- Нажмите кнопку "ОК " повторно, пока не вернеесь в окно базы данных резервного копирования.
- Нажмите кнопку "ОК" , чтобы запустить резервную копию.
Шаг 2. Удаление содержимого таблицы FAINDEX
Чтобы удалить содержимое FAINDEX
таблицы, выполните скрипты самостоятельно. Для этого выполните следующие шаги:
Проверьте, чтобы все пользователи вышли из Microsoft Dynamics GP или Microsoft Great Plains 8.0.
Запустите консоль администрирования поддержки, анализатор запросов Microsoft SQL или SQL Server Management Studio. Для этого используйте один из следующих методов в зависимости от используемой программы.
Метод 1: Для SQL Server Desktop Engine
Если вы используете SQL Server Desktop Engine (также известный как MSDE 2000), запустите консоль поддержки администратора. Чтобы сделать это, нажмите кнопку "Пуск", наведите указатель мыши на консоль администрирования "Все программы>Майкрософт" и нажмите кнопку "Поддержка консоли администрирования".
Метод 2. Для SQL Server 2000
Если вы используете SQL Server 2000, запустите анализатор ЗАПРОСОВ SQL. Чтобы сделать это, нажмите кнопку "Пуск", наведите указатель на все программы>Microsoft SQL Server и щелкните "Анализатор запросов".
Метод 3. Для SQL Server 2005
Если вы используете SQL Server 2005, запустите SQL Server Management Studio. Для этого нажмите кнопку "Пуск", наведите указатель на все программы>Microsoft SQL Server 2005 и щелкните SQL Server Management Studio.
Метод 4. Для SQL Server 2008
Если вы используете SQL Server 2008, запустите SQL Management Studio. Чтобы сделать это, нажмите кнопку "Пуск", наведите указатель на все программы>Microsoft SQL Server 2008 и щелкните SQL Server Management Studio.
Выполните следующие сценарии.
DELETE DYNAMICS..ACTIVITY DELETE DYNAMICS..SY00800 DELETE DYNAMICS..SY00801 DELETE TEMPDB..DEX_LOCK DELETE TEMPDB..DEX_SESSION DELETE <XXXXX>..FAINDEX
Примечание.
Заполнитель <XXXXX> представляет фактическую базу данных компании.
Войдите в Microsoft Dynamics GP или Microsoft Great Plains 8.0, а затем попробуйте обесценить ресурсы. Если ошибка сохраняется, перейдите к шагу 3.
Шаг 3. Помечайте столбец DEX_ROW_ID в качестве столбца удостоверения и помечайте поле FINANCIALINDX в качестве первичного ключа.
Для этого выполните следующие шаги:
Пометьте столбец DEX_ROW_ID в качестве столбца удостоверения. Если вы используете SQL Server Enterprise Manager, выполните следующие действия.
- Нажмите кнопку "Пуск", наведите указатель на все программы, наведите указатель на Microsoft SQL Server и щелкните Enterprise Manager.
- Разверните группу Microsoft SQL Server, в которой находится сервер.
- Разверните сервер и щелкните "Базы данных".
- Разверните базу данных компании, которая испытывает проблему.
- Щелкните Таблицы.
- Щелкните правой кнопкой мыши таблицу
FA00902
. - Щелкните " Конструктор таблицы".
- В разделе "Имя столбца" щелкните DEX_ROW_ID.
- В разделе Columns измените идентификатор на Да.
Если вы используете SQL Server Management Studio, выполните следующие действия.
- Нажмите кнопку "Пуск", наведите указатель на все программы, наведите указатель на Microsoft SQL Server 2005 или Microsoft SQL Server 2008, а затем щелкните Microsoft SQL Server Management Studio.
- Разверните группу Microsoft SQL Server, в которой находится сервер.
- Разверните сервер и щелкните "Базы данных".
- Разверните базу данных компании, которая испытывает проблему.
- Щелкните Таблицы.
- Щелкните таблицу правой
FA00902
кнопкой мыши и нажмите кнопку " Изменить". - Щелкните столбец DEX_ROW_ID.
- В разделе "Свойства столбца" разверните Спецификация удостоверения.
- Измените индентификатор на Да.
- Задайте начальное значение идентификатора и значение прироста идентификатора равными 1.
Пометьте поле FINANCIALINDX в качестве первичного ключа. Если вы используете SQL Server Enterprise Manager, выполните следующие действия.
- Нажмите кнопку "Пуск", наведите указатель на все программы, наведите указатель на Microsoft SQL Server и щелкните Enterprise Manager.
- Разверните группу SQL Server, в которой находится сервер.
- Разверните сервер и щелкните "Базы данных".
- Разверните базу данных компании, которая испытывает проблему.
- Щелкните Таблицы.
- Щелкните правой кнопкой мыши таблицу
FA00902
. - Щелкните «Конструктор таблицы».
- В разделе "Имя столбца" щелкните FINANCIALINDX.
- Проверьте поле FINANCIALINDX. Если в поле FINANCIALINDX есть изображение ключа рядом с ним, это поле уже задано в качестве первичного ключа. Если ключ не отображается рядом с полем FINANCIALINDX , щелкните "Задать первичный ключ " в строке меню.
Примечание.
Эта кнопка содержит изображение ключа на нем.
При нажатии кнопки "Задать первичный ключ" появится изображение ключа рядом с полем FINANCIALINDX, а поле FINANCIALINDX становится первичным ключом.
Если вы используете SQL Server Management Studio, выполните следующие действия.
- Нажмите кнопку "Пуск", наведите указатель на все программы, наведите указатель на Microsoft SQL Server 2005 или Microsoft SQL Server 2008, а затем щелкните Microsoft SQL Server Management Studio.
- Разверните группу SQL Server, в которой находится сервер.
- Разверните сервер и щелкните "Базы данных".
- Разверните базу данных компании, которая испытывает проблему.
- Щелкните Таблицы.
- Щелкните таблицу правой
FA00902
кнопкой мыши и нажмите кнопку " Изменить". - Щелкните столбец FINANCIALINDX.
- В разделе "Имя столбца" щелкните FINANCIALINDX.
- Проверьте поле FINANCIALINDX. Если в поле FINANCIALINDX есть изображение ключа рядом с ним, это поле уже задано в качестве первичного ключа. Если ключ не отображается рядом с полем FINANCIALINDX, щелкните правой кнопкой мыши поле FINANCIALINDX и нажмите кнопку "Задать первичный ключ".
Примечание.
Эта кнопка содержит изображение ключа на нем.
При нажатии кнопки "Задать первичный ключ" появится изображение ключа рядом с полем FINANCIALINDX, а поле FINANCIALINDX становится первичным ключом.