13.06.2010, 15:06 | #1 |
Участник
|
Pawan's Ax blog: How To Delete All Transaction Data In Ax
Источник: http://pawansaxblog.blogspot.com/201...n-data-in.html
============== If we want to delete only transaction data in Ax .Then it is very simple Follow these steps 1.Aot->Classes->SysDatabaseTransDelete 2.Run this class it will delete all the transaction data. Источник: http://pawansaxblog.blogspot.com/201...n-data-in.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
14.06.2010, 00:01 | #2 |
Administrator
|
Угу... когда вижу такие слова (запустите такой-то класс и будет всем счастье) - жутко хочется залезть в код и понять - где что отвалится (смотрел в 4.0 и 2009) ...
Не хватает уточнений: 1. Актуально для таблиц, у которых свойство TableGroup равно Transaction, WorksheetHeader или WorksheetLine, а также для фиксированного списка таблиц: SalesTable PurchTable WMSPallet CustInterestJour CustCollectionLetterJour ProjControlPeriodTable ProjInvoiceJour ProjJournalTable 2. За исключением следующего списка таблиц: CustCollectionLetterLine InventDim DocuRef В АХ2009 сюда добавлены еще таблицы: DirECommunicationAddress DirPartyAddressRelationship DirPartyAddressRelationshipMapping DirPartyECommunicationRelationship DirPartyRelationship Ну а для таблицы WMSLocationSum написан отдельный алгоритм чистки (В 2009-й он оставлен без изменений). 3. Удаляться записи будут через delete_from - т.е. если таблички большие (InventTrans) то можно и не дождаться результата. 4. При удалении игнорируется код в методе delete(). 5. А вот если на удаление записей в табличках, попавших под удаление, навешены события - то они все наши - метод skipEvents не вызывается. 6. Если табличка была общей на несколько компаний - то она потрется.
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 14.06.2010 в 00:05. |
|
|
За это сообщение автора поблагодарили: gl00mie (3). |
14.06.2010, 08:43 | #3 |
Участник
|
А для AX 2009 этот класс отработает нормально? При попытке удаления компании (Admin'ом) система ругается на недостаток прав - выполняется проверка свойство AOSAuthorization (пишу по памяти), а на таблицах транзакции она стоит на запрет удаления.
__________________
Ivanhoe as is.. |
|
14.06.2010, 09:29 | #4 |
Administrator
|
А... кстати... про это я и забыл...
Я не проверял работоспособность кода - только прочитал код. Но в АХ4 компания нормально удалялась. А свойство AOSAuthorization появилось с АХ4. В АХ2009 компанию не удалял
__________________
Возможно сделать все. Вопрос времени |
|
15.06.2010, 11:23 | #5 |
Участник
|
В том то и дело. По привычке еще с 3.0 (и проверенной в 4.0) сделал копию компании для "поиграться". Потом надо удалить - и не дает =)
Проверил класс - он тоже не поможет Error Сообщение (11:25:57) Пользователь "ххх" не имеет прав на удаление записи из таблицы "PROJINVOICEREVENUE". Запрос отклонен Error Сообщение (11:25:57) Невозможно отредактировать запись в Проект - строки накладной, сборы (ProjInvoiceRevenue). Доступ запрещен: у вас недостаточно прав для изменения данных в базе данных.
__________________
Ivanhoe as is.. Последний раз редактировалось Ivanhoe; 15.06.2010 в 11:26. Причина: проверил |
|
|
|