Видалення юридичної особи (облікових записів компаній) у Dynamics AX 2012
Опубліковано: 16 лютого 2025 р. о 11:01:24 UTC
Останнє оновлення: 12 січня 2026 р. о 08:53:25 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).
- Підтвердіть видалення компанії. Це також займе деякий час, оскільки тепер видаляються всі нетранзакційні дані компанії.
- Сядьте зручніше, розслабтеся та насолоджуйтесь славою добре виконаної роботи! :-)
Додаткова література
Якщо вам сподобався цей пост, вам також можуть сподобатися ці пропозиції:
- Перетворення дійсного рядка з усіма десятковими дробами в Dynamics AX 2012
- Визначення класу документа та запиту для служби AIF у Dynamics AX 2012
- Виклик служб документообігу AIF безпосередньо з X++ у Dynamics AX 2012
