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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.12.2006, 09:51   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от DreamCreator Посмотреть сообщение
Вопрос такой -- можно ли из InventSum удалять записи с Closed == NoYes::Yes и ClosedQty == NoYes::Yes
Мы немножко не о том говорили.
Обрати внимание, что у InventSum есть методы
isAllFieldsZero
isAllQtyFieldsZero
isAllValueFieldsZero

Надо проверить записи для которых InventSum.isAllFieldsZero() == true
Такие записи могут появляться в двух случаях:
1. выполнен приход и расход. Итог обнулился, но его удалять нельзя
2. человек создал строчку в журнале/заказе/закупке с неправильной складской аналитикой. Но потом обнаружил свою ошибку и исправился до разноски. В этом случае в InventDim появится запись с комбинацией, которая нигде больше не используется. А в inventSum - запись с итогами на такой InventDim. Такие inventSum могут быть и закрытыми, и незакрытыми.

Поэтому правильный алгоритм такой:
1. Найти записи в InventSum для которых InventSum.isAllFieldsZero() == true
2. Найти количество InventTrans для таких записей
3. Если количество в InventTrans == 0, то InventSum удалять можно.

Дополнительное расширение алгоритма:
= сначала можно проверить "забытые" inventTrans - остались ли неразнесенные InventTrans, которые относятся к несуществующим (или аннулированным) журналам/заказам/закупкам/производству
= в конкретном вашем случае можно смягчить проверку и проверять InventSum.isAllQtyFieldsZero() == true (но будь предельно внимательным если у тебя появились записи в InventSum c нулевым количеством И ненулевой суммой И с отсутствующими проводками в InventTrans - это признак того, что в базу вмешивались грубой силой.)
__________________
полезное на axForum, github, vk, coub.
Теги
inventsum, производительность

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Пересчет inventSum DreamCreator DAX: Программирование 43 15.11.2014 16:48
Книга Покупок можно ли не закрывать? asabin DAX: Функционал 1 18.11.2005 17:50
Можно ли в инамическом запросе использовать "group by"? yooshi DAX: Программирование 26 23.09.2005 16:35
Можно ли исп. switch задать диапазон для case ??? djoker DAX: База знаний и проекты 23 27.12.2004 15:28
Можно ли поменять налоговый код по проведенной закупке или накладной поставщика Голова 2уха DAX: Функционал 1 25.10.2004 11:51

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:42.