Microsoft Dynamics NAV 2009 Как удалить объекты вне лицензии?

В процессе обновления с 2009 по 2016 год я пытаюсь удалить объекты, относящиеся к старому снятому с производства продукту. Объекты не находятся в пределах диапазона или лицензии и состоят из форм, таблиц и отчетов. При удалении я сталкиваюсь с известной ошибкой:

"У вас нет разрешения на удаление таблицы" [имя объекта] "."

Я попробовал с моей лицензией разработчиков и лицензией клиентов без удачи. Поскольку продукт больше не существует, бесполезно хранить эти объекты, и мне нужно, чтобы они исчезли для процесса обновления.

Каков наилучший подход или метод при удалении объектов, которых нет в лицензии?

ОБНОВЛЕНИЕ: Как эта проблема была решена? Я связался с владельцем продукта и объяснил свою проблему. Мне прислали аккуратный скрипт PowerShell для запуска. Это работает как шарм. Читая сценарий, я вижу, что он использует командлеты SQL для выбора и удаления соответствующих данных из следующих таблиц SQL:

Объекты, метаданные объекта, снимок метаданных объекта, отслеживание объекта, перевод объекта, разрешение.

Это был предпочтительный метод владельца продукта, который использовал для разработки этого продукта. Это должно быть применимо ко всем объектам NAV. Я еще не успешно попробовал один из ответов ниже (больше попыток прийти). Надеемся, что эта новая информация предоставит кому-то достаточно, чтобы дать хороший ответ.

3 ответа

Решение

Способ, который успешно использовался несколькими людьми, но наверняка не может быть рекомендован для производственной системы, состоит в простом удалении этих объектов с помощью SQL из Object и дополнительных таблиц. В случае таблиц вам нужно будет вручную удалить саму таблицу SQL, а также ее представления VSIFT.

Более лучший (вероятно) способ - изменить номер объекта с помощью SQL, а затем удалить объект с помощью NAV.

Лучше всего использовать функциональность "объектов-убийц", которые позволяют удалять объекты с помощью импорта FOB:

http://navisionary.com/2011/11/how-to-delete-bsolete-dynamics-nav-objects/

Если вы найдете партнера, который может предоставить вам такие объекты-убийцы (им нужна лицензия для создания объектов в нужном диапазоне), это решит вашу проблему "чистым" способом.

Если нет, вы можете рассмотреть возможность создания пустых объектов в диапазоне 50000 в некоторой тестовой БД, изменить их число на устаревший диапазон с помощью SQL, экспортировать их как FOB, а затем импортировать их в целевую БД с опцией "Удалить".

Создайте новую пустую базу данных, экспортируйте только необходимые объекты из старой базы данных, импортируйте их в новую базу данных. В базе данных приложений Nav 2016 можно отделить данные, содержащие базу данных, поэтому (я полагаю) вы можете просто отключить ее от базы данных со старыми объектами и смонтировать в новую базу данных приложения. Не уверен, что

Это связано с диапазоном лицензий, например, ваша лицензия на разработку имеет диапазон таблиц 7.000.000 - 7.000.200. Если вы хотите удалить таблицу с идентификатором 20.000.000, у вас есть эта ошибка.

Лучшее решение - когда вы делаете обновление, вы не считаете эти объекты, которые вам нужно удалить. Экспортирует все объекты, кроме объектов, которые вы хотите удалить.

Другие вопросы по тегам