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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.04.2013, 15:46   #1  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
to Ace of Database
Предложенный вами способ:
1. Будет работать значительно медленнее чем подход, который используется в стандартной функциональности.
2. Не учитывает, что дата корректировки себестоимости может (и обычно будет) отличаться от даты проводки, тем более физической даты.
3. Не учитывает статусы скомплектовано и зарегистрировано, которые влияют на остатки в наличии.
4. Опирается только на физическую дату, что не всегда верно.
Т.е. как одноразовая активность может быть и подойдет, в общем случае нет.

Я бы советовал автору все таки смотреть в сторону классов InventSumDate* в их реализации все эти нюансы учтены.
Старый 30.04.2013, 17:14   #2  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
Сообщение от Starling Посмотреть сообщение
to Ace of Database
Предложенный вами способ:
1. Будет работать значительно медленнее чем подход, который используется в стандартной функциональности.
2. Не учитывает, что дата корректировки себестоимости может (и обычно будет) отличаться от даты проводки, тем более физической даты.
3. Не учитывает статусы скомплектовано и зарегистрировано, которые влияют на остатки в наличии.
4. Опирается только на физическую дату, что не всегда верно.
Т.е. как одноразовая активность может быть и подойдет, в общем случае нет.

Я бы советовал автору все таки смотреть в сторону классов InventSumDate* в их реализации все эти нюансы учтены.
Я бы с радостью, но как используя эти классы я могу получить список партий с остатками? Эти классы позволяют задавать это как входящий параметр, и получать остаток, но это ведь не совсем то
Старый 03.05.2013, 08:31   #3  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Цитата:
Сообщение от Starling Посмотреть сообщение
to Ace of Database
Предложенный вами способ:
1. Будет работать значительно медленнее чем подход, который используется в стандартной функциональности.
У нас отчет по движению товаров состоит из более чем 50 колонок, для вычисления каждой из которой применяется подобный запрос. Для 2500 номенклатур и 7 миллионов проводок отчет выполняется за 15 минут. Если же сделать так, как считает Аксапта в стандартных отчетах, то время выполнения отчета стремится к бесконечности.

По остальным замечаниям, все зависит от конкретной задачи.

Последний раз редактировалось Ace of Database; 03.05.2013 в 08:40.
Старый 07.05.2013, 13:45   #4  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 646 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от Ace of Database Посмотреть сообщение
У нас отчет по движению товаров состоит из более чем 50 колонок, для вычисления каждой из которой применяется подобный запрос. Для 2500 номенклатур и 7 миллионов проводок отчет выполняется за 15 минут. Если же сделать так, как считает Аксапта в стандартных отчетах, то время выполнения отчета стремится к бесконечности.

По остальным замечаниям, все зависит от конкретной задачи.
Интересно узнать, как вы объясняете своим пользователям, почему остатки по вашему отчёту отличаются от остатков по стандартным отчётам по складу.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 08.05.2013, 10:25   #5  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
У нас остатки не отличаются. И дело вообще не в отчетах и технических особенностях реализации. Важно правильно поставить управленческий учет. И договориться, что считать остатками на дату.

Последний раз редактировалось Ace of Database; 08.05.2013 в 10:28.
Старый 08.05.2013, 10:28   #6  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
Цитата:
Сообщение от Ace of Database Посмотреть сообщение
У нас остатки не отличаются.
А себестоимость?
Старый 08.05.2013, 10:35   #7  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
В рамках принятой у нас практики, такой расчет себестоимости всех устраивает. Я не говорю, что это устроит всех. На двух предприятиях, на которых я работал, и в которых велся учет себестоимости в Аксапте, придумывали что-то свое и не пользовались стандартными отчетами по себестоимости. И это не я придумывал. Были большие команды внедренцев.
Наверное я зря включил поля CostAmountPosted и CostAmoutAdjustment в пример. Скорее всего, автора интересовали количественные остатки на дату.
Старый 08.05.2013, 10:44   #8  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
В ходе эволюции больших проектов, в которых я участвовал, большие команды разработчиков пытались применять универсальные механизмы. Но в итоге практика победила теорию.
Я бы сам был рад приспособить один универсальный отчет под нужды пользователей.
Но пользователям не нужны универсальные отчеты. Им нужны отчеты из 100 колонок в Экселе, с красивыми группировками. Каждый новый менеждер привносит в систему что-то свое.
При этом нанимать менеджеров со знанием Аксапты и с аксаптовским подходом к делу, видимо, не соответствует рыночным условиям.
Старый 03.05.2013, 08:39   #9  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Цитата:
Сообщение от Starling Посмотреть сообщение
to Ace of Database.
Т.е. как одноразовая активность может быть и подойдет, в общем случае нет.

Я бы советовал автору все таки смотреть в сторону классов InventSumDate* в их реализации все эти нюансы учтены.
Вообще, данные отчеты лучше не делать для "общих случаев". Лучше всегда сделать отдельный отчет с минимумом возможных параметров. Если делать один универсальный отчет на все случаи жизни, то он будет тормозить.

По поводу статусов "скомплектовано" и "зарезервировано", то их бессмысленно учитывать в отчетах "на дату". Так как сегодня мы не можем знать сколько было скомплектовано, скажем, неделю назад.
Старый 06.05.2013, 18:47   #10  
Evgeniy_R is offline
Evgeniy_R
Участник
 
27 / 17 (1) ++
Регистрация: 03.11.2010
Адрес: Moscow Region
Цитата:
Сообщение от Ace of Database Посмотреть сообщение
По поводу статусов "скомплектовано" и "зарезервировано", то их бессмысленно учитывать в отчетах "на дату". Так как сегодня мы не можем знать сколько было скомплектовано, скажем, неделю назад.
С некой условностью можно узнать сколько было скомплектовано на дату. Есть такое поле InventTrans.DateInvent, которое запоминает первую дату физической регистрации или комплектации складской проводки.
Если доля разукомлектации и хождения статусов из скомплектовано в физ. резерв не велика, то можно основываться с некоторой поправкой на это поле. Ограничение в том, что это поле обновляется только в момент первичного перехода в нужный статус и потом не сбрасывается.
Может кто использовал это поле, меня поправит...
Старый 06.05.2013, 19:21   #11  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Тогда придется писать хитрый запрос, в котором проверять, что если DatePhysical больше, чем DateInvent, то считать что в промежутке между DateInvent и DatePhysical проводка была скомплектована. Дело дойдет до того, что придется анализировать каждую проводку в цикле.
Старый 07.05.2013, 11:16   #12  
Evgeniy_R is offline
Evgeniy_R
Участник
 
27 / 17 (1) ++
Регистрация: 03.11.2010
Адрес: Moscow Region
Все зависит от задачи, которая стоит.
Если мы говорим про универсальность, то я полностью согласен с тем, что отчет будет тяжелым. По поводу легких "заточенных" отчетов под какие-то определенные задачи, то
рано или поздно они консолидируются во что-то тяжелое...

В остальном as you like)
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Конвертировать некую дату в UTC-дату Vasiliusis DAX: Программирование 4 25.04.2013 09:59
номера партий soq DAX: Функционал 8 02.10.2008 11:16
Обработка накладной – функция изменить дату Sanya DAX: Функционал 2 05.08.2005 12:50
Цена на дату создания заказа/закупки George Nordic DAX: Функционал 2 29.06.2005 15:56
Остатки dog37 DAX: Программирование 6 02.06.2005 11:25
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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