Удаление юридического лица (счета компании) в Dynamics AX 2012
Опубликовано: 16 февраля 2025 г. в 11:01:17 UTC
В этой статье я объясню правильную процедуру полного удаления области данных/счетов компании/юридического лица в Dynamics AX 2012. Используйте ее на свой страх и риск.
Delete a Legal Entity (Company Accounts) in Dynamics AX 2012
Информация в этом посте основана на Dynamics AX 2012 R3. Она может быть верна или нет для других версий.
Примечание: существует реальный риск потери данных, если вы будете следовать инструкциям в этом посте. Фактически, речь идет именно об удалении данных. Как правило, вам не следует удалять юридические лица в производственных средах, только в тестовых или средах разработки. Использование этой информации осуществляется на ваш страх и риск.
Недавно мне поручили полностью удалить юридическое лицо (также известное как счета компании или область данных) из среды Dynamics AX 2012. Причина, по которой пользователь просто не сделал этого сам из формы «Юридические лица», заключалась в том, что она выдавала несколько уродливых ошибок о невозможности удалить записи в определенных таблицах.
После изучения я обнаружил, что нельзя удалить юридическое лицо, у которого есть транзакции. Это имеет смысл, поэтому очевидным решением было бы сначала удалить транзакции, а затем удалить юридическое лицо.
К счастью, Dynamics AX предоставляет класс для удаления транзакций юридического лица, так что это довольно просто — хотя и требует много времени, если у вас большой объем данных.
Процедура следующая:
- Откройте AOT и найдите класс SysDatabaseTransDelete (в некоторых более ранних версиях AX он назывался просто «DatabaseTransDelete»).
- Обязательно убедитесь, что вы в данный момент находитесь в компании, транзакции которой вы хотите удалить!
- Запустите класс, найденный на шаге 1. Он попросит вас подтвердить, что вы хотите удалить транзакции. Опять же, убедитесь, что компания, о которой он спрашивает, является той, для которой вы хотите удалить транзакции!
- Позвольте задаче работать. Это может занять довольно много времени, если у вас много транзакций.
- После этого вернитесь в форму Администрирование организации / Настройка / Организация / Юридические лица. Убедитесь, что на данный момент вы не находитесь в компании, которую хотите удалить, так как вы не можете удалить текущую компанию.
- Выберите компанию, которую хотите удалить, и нажмите кнопку «Удалить» (или Alt+F9).
- Подтвердите, что вы хотите удалить компанию. Это также займет некоторое время, так как теперь удаляются все нетранзакционные данные в компании.
- Устройтесь поудобнее, расслабьтесь и наслаждайтесь славой хорошо выполненной работы! :-)