Удаление юридического лица (счета компании) в Dynamics AX 2012
Опубликовано: 16 февраля 2025 г. в 11:01:17 UTC
Последнее обновление: 12 января 2026 г. в 08:53:21 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).
- Подтвердите, что хотите удалить компанию. Это также займет некоторое время, поскольку в данный момент удаляются все не связанные с транзакциями данные компании.
- Устройтесь поудобнее, расслабьтесь и насладитесь триумфом хорошо выполненной работы! :-)
Дополнительное чтение
Если вам понравился этот пост, вам также могут понравиться эти предложения:
- Разница между data() и buf2Buf() в Dynamics AX 2012
- Вызов служб документов AIF напрямую из X++ в Dynamics AX 2012
- Использование запроса в классе контракта данных SysOperation в Dynamics AX 2012
