AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Прочие вопросы
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.07.2012, 11:57   #25  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
870 / 637 (23) +++++++
Регистрация: 14.10.2004
Тоже возникла заинтересованность в удалении лишних InventDim.
Написал SQL - запрос, который может быть актуален для Аксапты, в которой ведутся продажи, закупки, складские журналы, журналы прибытия и отгрузки.
По моей базе из 6 млн аналитик неиспользуемых получается 50% - 3 млн.
Аналитика может присутствовать в строке заказа, но осутствовать в складских проводках и в InventSum, так как в результате работы резервирования аналитика в проводках меняется, а строках заказа нет.
Данный запрос я на боевой базе пока не запускал. Еще бы туда по идее надо добавить транспортировки палет и прочие журналы, в которых используется складская аналитика. И еще бы можно было добавить проверку на аналитику "Куда" в строках складского журнала, но я пока решил не проверять это, так как сохранение строк журналов переноса для нас неактуально
Проверка на использование аналитики в строках документов нужна для того, чтобы строки из аксаптовских форм не исчезли после удаления аналитики.
X++:
delete from INVENTDIM where 
not exists
(select RECID from InventSum where InventSum.DATAAREAID = InventDim.DATAAREAID and
InventSum.INVENTDIMID = InventDim.INVENTDIMID)
and not exists
(select RECID from InventTrans where InventTrans.DATAAREAID = InventDim.DATAAREAID and
InventTrans.INVENTDIMID = InventDim.INVENTDIMID)
and not exists
(select RECID from SalesLine where SalesLine.DATAAREAID = InventDim.DATAAREAID and
SalesLine.INVENTDIMID = InventDim.INVENTDIMID)
and not exists
(select RECID from PurchLine where PurchLine.DATAAREAID = InventDim.DATAAREAID and
PurchLine.INVENTDIMID = InventDim.INVENTDIMID)
and not exists
(select RECID from InventJournalTrans where InventJournalTrans.DATAAREAID = InventDim.DATAAREAID and
InventJournalTrans.INVENTDIMID = InventDim.INVENTDIMID
)
and not exists
(select RECID from WMSOrderTrans where WMSOrderTrans.DATAAREAID = InventDim.DATAAREAID and
WMSOrderTrans.INVENTDIMID = InventDim.INVENTDIMID)
and not exists
(select RECID from WMSJournalTrans where WMSJournalTrans.DATAAREAID = InventDim.DATAAREAID and
WMSJournalTrans.INVENTDIMID = InventDim.INVENTDIMID)

Последний раз редактировалось Ace of Database; 25.07.2012 в 12:01.
Теги
inventdim, inventsum, складская аналитика, удаление

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axforum blogs: Можно ли снизить стоимость внедрения ERP-системы? Blog bot DAX Blogs 0 11.02.2011 15:11
Производительность InventSum, InventDim AlexeyBP DAX: Администрирование 20 13.05.2007 12:58
«Как без последствий удалять ненужную номенклатуру готовой продукции ?» DaniK DAX: Функционал 3 24.12.2004 10:20
Как без последствий удалять ненужную номенклатуру готовой продукции ? DaniK DAX: Администрирование 1 23.12.2004 10:49
Что и как можно резать? George Nordic DAX: Администрирование 1 11.05.2004 18:44

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:19.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.