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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.04.2011, 12:54   #21  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
поиск неиспользуемых inventSum сводится к поиску неиспользованных InventDim
Другого способа нет.
Ну да. А еще было бы неплохо, если бы в inventDim был бы какой-то признак как InventSum.closed. И использование его в индексах.
Старый 01.04.2011, 13:40   #22  
Alexius is offline
Alexius
Участник
Аватар для Alexius
 
461 / 248 (9) ++++++
Регистрация: 13.12.2001
Цитата:
Сообщение от mazzy Посмотреть сообщение
Логичнее. а как?

поиск неиспользуемых inventSum сводится к поиску неиспользованных InventDim
Другого способа нет.
Как-то так
X++:
    InventSum   inventSum;
    InventTrans inventTrans;
    ;
    
    ttsbegin;

    delete_from inventSum
        notexists join inventTrans
            where inventTrans.ItemId      == inventSum.ItemId &&
                  inventTrans.inventDimId == inventSum.InventDimId;
            
    ttscommit;
Старый 01.04.2011, 13:55   #23  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
если хорошо подумать,
то ВНЕЗАПНО обнаружится, что InventSum зависит не только от inventTrans, но и от:
= заказов на продажу
= заказов на покупку
= заказов на перемещение
= заказов на производство
= складских журналов
= прогнозов
= сводного планирования
= проектов
= CRM
= ОС (как asset, так и rAsset)
= и т.п.

и станет понятно, что задача обнаружения неиспользованных InventSum сводится к задаче обнаружения неиспользованных inventDim
__________________
полезное на axForum, github, vk, coub.
Старый 01.04.2011, 14:02   #24  
online
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от mazzy Посмотреть сообщение
InventSum зависит не только от inventTrans
То есть как? Нет зависит конечно, но ведь не напрямую, а как раз таки через InventTrans. Или я чего-то не понял?
За это сообщение автора поблагодарили: mazzy (10).
Старый 01.04.2011, 14:07   #25  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
То есть как? Нет зависит конечно, но ведь не напрямую, а как раз таки через InventTrans. Или я чего-то не понял?
напрямую.
Ожидается приход, Ожидается расход, Зарезервировано в ожидаемом расходе.


не, я тормоз.
да, из проводок.

да, inventSum можно удалить, посмотрев только в InventTrans.
спасибо.
__________________
полезное на axForum, github, vk, coub.

Последний раз редактировалось mazzy; 01.04.2011 в 14:10. Причина: я тормоз. да, из проводок.
Старый 01.04.2011, 14:35   #26  
Alexius is offline
Alexius
Участник
Аватар для Alexius
 
461 / 248 (9) ++++++
Регистрация: 13.12.2001
Цитата:
Сообщение от Zabr Посмотреть сообщение
Ну да. А еще было бы неплохо, если бы в inventDim был бы какой-то признак как InventSum.closed. И использование его в индексах.
А какое назначение этого признака ? Боюсь что поддержка его в актуальном состоянии окажется гораздо дороже выгод от него
Старый 01.04.2011, 15:31   #27  
online
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Alexius Посмотреть сообщение
А какое назначение этого признака ? Боюсь что поддержка его в актуальном состоянии окажется гораздо дороже выгод от него
Это точно, тут совсем без вариантов. Да и развитие складских аналитик вроде как совсем в другую сторону идёт dynamicsmatters: Performance and InventDim
Старый 02.04.2011, 14:46   #28  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от Alexius Посмотреть сообщение
А какое назначение этого признака ? Боюсь что поддержка его в актуальном состоянии окажется гораздо дороже выгод от него
Абсолютно никакого смысла этот признак иметь не может. Комбинация аналитик используется далеко не только в InventSum. Например, при использовании WMS можно задавать разные настройки для разных складов (да и не только для WMS, например, можно задавать разные группы инвентаризации для разных складов). В комбинациях аналитик опять же используется InventDimId. В настройках внешних кодов так же используется InventDimId
В общем, InventDimId (и связанные записи таблицы InventDim), вполне могут не присутствовать в InventSum, но иметь вполне значимые сущности.
Старый 02.04.2011, 22:10   #29  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Это точно, тут совсем без вариантов. Да и развитие складских аналитик вроде как совсем в другую сторону идёт dynamicsmatters: Performance and InventDim
Да совсем не факт.
Тем более что в следующих версиях Аксапты в LedgerTrans хотят объединить Dimension и LedgerAccount в одно значение по аналогии с InventDimId - InventDim.
Старый 02.04.2011, 22:27   #30  
Ievgenii is offline
Ievgenii
Участник
Аватар для Ievgenii
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
 
111 / 113 (4) +++++
Регистрация: 21.09.2008
Адрес: Copenhagen, Denmark
Цитата:
Абсолютно никакого смысла этот признак иметь не может. Комбинация аналитик используется далеко не только в InventSum. Например, при использовании WMS можно задавать разные настройки для разных складов (да и не только для WMS, например, можно задавать разные группы инвентаризации для разных складов). В комбинациях аналитик опять же используется InventDimId. В настройках внешних кодов так же используется InventDimId
В общем, InventDimId (и связанные записи таблицы InventDim), вполне могут не присутствовать в InventSum, но иметь вполне значимые сущности.
Это очень правильный комментарий.

Цитата:
Да совсем не факт.
Не факт , но никаких таких "флагов" или атрибутов мы добовлять не планируем и вам не советуем.
__________________
Thx,
Ievgenii Korovin| Dynamics Ax SCM| Microsoft Corp| http://blogs.msdn.com/DynamicsAxSCM/
Старый 21.04.2011, 10:33   #31  
petr is offline
petr
Участник
Соотечественники
 
561 / 201 (8) ++++++
Регистрация: 30.05.2005
Адрес: Швейцария
Кто-нибудь пробовал использовать класс InventUnusedDimCleanUp в четверке? Я имею ввиду экспортировать из 2009, импортировать в четверку и запустить?

Работает?
Были ли замечены какие-либо подводные камни?
Старый 26.04.2011, 10:56   #32  
wolfstein is offline
wolfstein
Axapta Retail User
Axapta Retail User
 
51 / 91 (4) ++++
Регистрация: 05.07.2006
Цитата:
Сообщение от petr Посмотреть сообщение
Кто-нибудь пробовал использовать класс InventUnusedDimCleanUp в четверке? Я имею ввиду экспортировать из 2009, импортировать в четверку и запустить?
Работает?
Были ли замечены какие-либо подводные камни?
Работает.
При переносе из 2009 в 4-ку в методе isCandidateInventDimIdTable() необходимо закомментировать строчку с упоминанием конфигурационного ключа SysDeletedObjects41, т.к. в 4-ке его нет, и тут же добавили строчку с InventSum для его исключения из проверки:
X++:
protected boolean isCandidateInventDimIdTable(SysDictTable _sysDictTable)
{
    configurationKeyId  configurationKeyId = _sysDictTable.configurationKeyId();
    tableId             tableId = _sysDictTable.id();
    ;

    // The table should only be evaluated if it has not been marked for deletion, it is
    // not a temporary table and is not InventDim nor InventDimCleanUp
    if (configurationKeyId      == configurationkeynum(SysDeletedObjects40) ||
        //configurationKeyId      == configurationkeynum(SysDeletedObjects41) ||
        _sysDictTable.isTmp()    == true                                     ||
        tableId                 == tablenum(InventDim)                      ||
        tableId                 == tablenum(InventSum)                      ||
        tableId                 == tablenum(InventDimCleanUp))
        return false;
    else
        return true;
}
О результатах работы выше писал Zabr.
Во вложении класс InventUnusedDimCleanUp для 4-ки.
Вложения
Тип файла: xpo Class_InventUnusedDimCleanUp.xpo (26.8 Кб, 330 просмотров)
За это сообщение автора поблагодарили: Logger (1), petr (8), Kabardian (4).
Старый 16.12.2011, 13:56   #33  
wolfstein is offline
wolfstein
Axapta Retail User
Axapta Retail User
 
51 / 91 (4) ++++
Регистрация: 05.07.2006
Возникла необходимость очистить неиспользуемые InventDim на AX3.0, поэтому по аналогии с AX2009 сделал класс InventUnusedDimCleanUp для трешки.
Может быть кому-то будет полезен.
AX3.0SP3
Проект во вложении.
Вложения
Тип файла: xpo InventUnusedDimCleanUp_AX30SP3.xpo (29.1 Кб, 292 просмотров)
За это сообщение автора поблагодарили: Zabr (1), Pustik (2), lev (5), Bega (3), JBOS (1).
Старый 22.12.2011, 15:22   #34  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Ну, и для комплекта, код для Axapta 2.5 SP3.

Правда, просто копировать было не интересно, поэтому сделал несколько модификаций
  1. Единый многоуровневый ProgressBar
  2. Удаление выполняется прямыми командами SQL
  3. По окончании работы процедуры выводится Infolog с результатами работы (если было, что удалять)
  4. Добавлена краткая справка, вызываемая по F1 при открытой форме
  5. Добавлена опциональная возможность удаление во всех компаниях
  6. Добавлена опциональная возможность удалить складские остатки (InventSum) по окончании удаления складских аналитик
Вложения
Тип файла: xpo RTG_InventDimCleanUp.xpo (78.8 Кб, 271 просмотров)
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: Pustik (2).
Старый 22.12.2011, 17:24   #35  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
[*]Удаление выполняется прямыми командами SQL[/LIST]
Транзакционная целостность данных при этом соблюдается, если прервать процедуру?
Старый 22.12.2011, 17:31   #36  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от Zabr Посмотреть сообщение
Транзакционная целостность данных при этом соблюдается, если прервать процедуру?
Соответствующие процедуры сделаны по образу и подобию аналогичной процедуры из Axapta 2009

X++:
    connection.ttsbegin();

    statement.executeUpdate(sqlStr);

    connection.ttscommit();
Так что, да. Соблюдается.

Хотя, по большому счету, нарушить целостность выполнения одной единственной команды Delete - это надо постараться И еще, о какой целостности идет речь, если удаляются записи, на которые нет ссылок ни в одной другой таблице?
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 22.12.2011, 17:51   #37  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Даешь всем желающим по модифе удаления ненужных InventDim!!!!!! Ура
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 22.12.2011, 18:28   #38  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Pustik Посмотреть сообщение
Даешь всем желающим по модифе удаления ненужных InventDim!!!!!! Ура
Может кто-то поделиться статистикой - какие аналитики используются и как, количество записей в InventDim до и после, общие впечатления (по возможности - объективные) ? Просто не очень понятно, что там такого можно понавычистить и что от этого улучшится
P.S. что можно поломать, случайно вычистив не то что надо, я в общих чертах представляю
__________________
-ТСЯ или -ТЬСЯ ?
Старый 22.12.2011, 19:35   #39  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от Vadik Посмотреть сообщение
Может кто-то поделиться статистикой - какие аналитики используются и как, количество записей в InventDim до и после, общие впечатления (по возможности - объективные) ? Просто не очень понятно, что там такого можно понавычистить и что от этого улучшится
P.S. что можно поломать, случайно вычистив не то что надо, я в общих чертах представляю
Я, так понимаю, это камень в мой огород.
Ну, во-первых, я просто шутил, смайлики об этом очень открыто говорят .
Если серьезно, то чистка лишних InventDim имеет имеет смысл для экономии места.
В InventDim, в будущем не нужные записи появляются если :
1) В черновике (Закупка, Заказ, Журнал, Заявки на покупку и т.д.) пользователь изначально задал не правильную аналитику. А потом ответственное лицо аналитику поменяло как надо и разнесло.
2) Проводка, связанная с Производственным заказом без партии, по мере оприходования разобьется на несколько по партиям. И если заказ одноразовый, то комбинация без партии уже не нужна.
3) В Спецификациях вообще привязок к проводкам нет. Т.е. забил пользователь сначала одно, потом поменял на другое, потом на третье. А это уже 3 комбинации.(и это не только в спецификациях). Очень похоже на первый случай, но все таки там документы готовые к разноски, а это просто справочник.
Я думаю случаев еще много. Пользователи, естественно не знают, про InventDim, и на комбинации аналитик им наплевать.Могут шуровать как хотят. В итоге добавят еще пару не нужных комбинаций.
Статистику сказать не могу. Мы этого не делали. Но думаю, что при больших разнообразиях и вариантов комбинаций аналитик, согласно настройкам системы, лишние аналитики будут периодически появляться. почему бы их и не почистить.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 22.12.2011, 19:38   #40  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Удалилось примерно 10% от общего количества записей. Как в InventDim, так и в InventSum. От общего объема базы данных это составило примерно 0,1% (по объему InventSum / InventDim = 3 / 1) Строго говоря, "копейки", которые вряд ли вообще заметно повлияют на что-либо. Так что, удаление скорее "для порядка", чем из практической необходимости.

Из стандартных аналитик у нас используется только Склад и ГТД. Плюс добавлены еще 2 собственные аналитики.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Теги
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:40.