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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.08.2005, 12:53   #1  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Отчет 'Запасы в наличии'
День добрый!

Хочу иметь возможность печатать отчет 'Запасы в наличии' в разрезе склада (т.е. выводить все что есть на данном складе).

Стандартный вариант, как я понял, с этой заачей не справляется -- если не указать код аналитики, печататется некорректно -- а этот вариант меня не устраивает.

Отчет физ.наличие по складам не устраивает.
Старый 05.08.2005, 13:05   #2  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Что-от я не понял, зашел в отчет, кнопуля Выбор, выбираю склад, печатаю - вот он.. что не так?
Старый 05.08.2005, 13:12   #3  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
А тепрь сравни результаты с теми которые выдаст отчет 'Физ Наличие по складам'!

У меня результаты совершенно разные и не в пользу Запасов в наличии.
Старый 05.08.2005, 13:40   #4  
Mamuka is offline
Mamuka
Axapta Retail User
Аватар для Mamuka
Axapta Retail User
 
126 / 10 (1) +
Регистрация: 01.04.2003
если мне не изменяет память, то в этих двух отчетах производится различная выборка и биться между собой они и не должны...
если найду у себя материалы по этому вопросу (где-то должны быть), то выложу...
__________________
"Я не тиран. У меня просто выражение лица такое" Аугусто Пиночет
Старый 05.08.2005, 14:08   #5  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Запросы: (в начале SELECT и перечисление суммируемых полей)

1. В наличии (некорректен)
PHP код:
    FROM InventSum GROUP BY InventSum.ItemId ASC 
    
    JOIN 
FROM InventDim WHERE InventSum.InventDimId InventDim.inventDimId 
    
    EXISTS JOIN 
FROM InventLocation 
        WHERE InventDim
.InventLocationId InventLocation.InventLocationId 
        
AND ((InventLocationId 01КазДек
2. Физ наличие по складам (корректен)

PHP код:
    FROM InventSum GROUP BY InventSum.ItemId ASC 
        WHERE InventDim
.inventDimId InventSum.InventDimId 
        
        EXISTS JOIN 
FROM InventTable WHERE InventSum.ItemId InventTable.ItemId 
Вызывает сомнение Физ наличие по складам -- InventDim фигурирует только в условии. Однако работает корректно.
С другой стороны, я не вижу ошибок в запросе 'В наличии' -- но результат некорректен!
Старый 05.08.2005, 14:25   #6  
Yars is offline
Yars
Дайвер
 
84 / 10 (1) +
Регистрация: 09.09.2003
2DreamCreator: А что именно некорректно?
2 разных отчета, отображают разную информацию.

Разнесенное количество, Получено и Физически зарезервировано есть в 2х отчетах.

Для получения информации о наличии по конкретному складу можно воспользоваться запросом "В наличии" (Аксапта / Управление запасами / Запросы). Отобразить только нужный склад. При необходимости, распечатать.

Либо доработать стандартный отчет.

Какую информацию вы хотите получить в этом отчете?
Старый 05.08.2005, 15:04   #7  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Цитата:
Изначально опубликовано Yars
2DreamCreator: А что именно некорректно?
При указании склада в Запасах в начличии выходит только одна строка, хотя должно быть (проверяя по Физ Наличию по складам) больше.

Цитата:
2 разных отчета, отображают разную информацию.
Разнесенное количество, Получено и Физически зарезервировано есть в 2х отчетах.
Да, эти поля нужны в результирующем отчете, а вот себестоимость категорически нет.

Цитата:
Для получения информации о наличии по конкретному складу можно воспользоваться запросом "В наличии" (Аксапта / Управление запасами / Запросы). Отобразить только нужный склад. При необходимости, распечатать.
Странная ситуация -- нельзя установить новые фильтры при формировании автоотчета -- в этом основной минус!

Цитата:
Либо доработать стандартный отчет.
Видимо придется резать дубликат Физ наличия по складам.

Цитата:
Какую информацию вы хотите получить в этом отчете?
Различные количества без себестоимости, все что есть на выбранном складе.
Старый 05.08.2005, 15:56   #8  
UNRW is offline
UNRW
Участник
 
383 / 67 (3) ++++
Регистрация: 16.09.2004
Адрес: Москва
Исользовать InventSum в Аксапте как-то "не по-пацански". Надо использовать InventTrans чтобы собрать остаки на дату + если нужна сумма в деньгах то надо использовать InventSettelment и смотреть коррекции себестоимости. Кроме того не надо забывать, что в InventTrans есть DatePhicical и DateFinancial и в зависимости от того что хочется получить.

Короче... надо строить свои отчеты Аксаптовские стандартные отчеты мало удобны для использования. Да и еще в зависимости от SP могут выдавать разную информацию (пример - оборот по складу в SP1 и SP3)
Старый 05.08.2005, 16:28   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Изначально опубликовано UNRW
Исользовать InventSum в Аксапте как-то "не по-пацански". Надо использовать InventTrans
Не-е-ет!!!
InventSum используется для того, чтобы минимизировать запросы к InventTrans.

Если вы будете делать отчеты, которые обращаются только к InventTrans (как это сделали при локализации в русских отчетах), то очень быстро ваш отчет станет жутко тормозным поскольку будет суммировать проводки от начала времен.

Разберитесь таки с InventSum, зачем он нужен и с обслуживающими классами.
__________________
полезное на axForum, github, vk, coub.
Старый 05.08.2005, 18:40   #10  
Axapta is offline
Axapta
Участник
 
91 / 12 (1) ++
Регистрация: 21.06.2002
Адрес: Moscow
Согласен
Полностью поддерживаю Mazzy. Правильно рассчитывать остатки лучше с помощью классов наподобие InventSumDate*, которые остатки на дату считают через InventSum и куски InventTrans и InventSettlement.

А запрашивать весь InventSettlement с начала времен - это неправильный подход.

Кстати, посмотрев отчеты, которые дописывали уже в российском MBS, я был в шоке. Ребята совершенно не пользуются стандартами международной версии....
Старый 05.08.2005, 18:43   #11  
Axapta is offline
Axapta
Участник
 
91 / 12 (1) ++
Регистрация: 21.06.2002
Адрес: Moscow
Оборотку по складу писали в России. А местные разработки, как не жаль констатировать, зачастую менее качественны, чем международный слой.
Старый 05.08.2005, 19:32   #12  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
Re: Согласен
Цитата:
Изначально опубликовано Axapta
Полностью поддерживаю Mazzy. Правильно рассчитывать остатки лучше с помощью классов наподобие InventSumDate*, которые остатки на дату считают через InventSum и куски InventTrans и InventSettlement.
Сам подход с точки зрения теории - верный, только не стоит в отчетах тупо использовать классы InventSumDate*. Для одной номенклатуры они отработают звёздно, но гнать их в цикле по номенклатуре не стоит...
Старый 05.08.2005, 20:23   #13  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Re: Re: Согласен
Цитата:
Изначально опубликовано dn
Сам подход с точки зрения теории - верный, только не стоит в отчетах тупо использовать классы InventSumDate*. Для одной номенклатуры они отработают звёздно, но гнать их в цикле по номенклатуре не стоит...
А как вы собираетесь сделать групповую обработку номенклатуры при условии, что у разных номенклатур группы складских аналитик могут быть разными?
__________________
полезное на axForum, github, vk, coub.
Старый 08.08.2005, 12:34   #14  
Axapta is offline
Axapta
Участник
 
91 / 12 (1) ++
Регистрация: 21.06.2002
Адрес: Moscow
Re: Re: Согласен
Цитата:
Изначально опубликовано dn


Сам подход с точки зрения теории - верный, только не стоит в отчетах тупо использовать классы InventSumDate*. Для одной номенклатуры они отработают звёздно, но гнать их в цикле по номенклатуре не стоит...
А почему бы и не "гнать"?
Старый 08.08.2005, 13:01   #15  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
Re: Re: Re: Согласен
Цитата:
Изначально опубликовано Axapta
А почему бы и не "гнать"?
По-времени как-то тоскливо получается, на этом фоне оптимизированный запрос "с начала времен" уже не кажется таким ужастным...

2 mazzy
Извини, не понял про "групповую обработку номенклатуры".
Вроде бы речь шла о получении остатков на дату в разрезе определенных складских аналитик...
Старый 08.08.2005, 16:20   #16  
Axapta is offline
Axapta
Участник
 
91 / 12 (1) ++
Регистрация: 21.06.2002
Адрес: Moscow
Re: Re: Re: Re: Согласен
[QUOTE]Изначально опубликовано dn
[B]

По-времени как-то тоскливо получается, на этом фоне оптимизированный запрос "с начала времен" уже не кажется таким ужастным...

Один запрос (даже оптимизированный) не всегда работает быстрее, чем много мелких.... =)

Ну у меня есть практический пример - 70000 номенклатур, 15млн складских проводок, 40млн складских сопоставлений, система эксплуатируется 2 года, СУБД - SQL.

Остатки на дату по всему ассортименту с помощью стандартного отчета - 10 мин., через InventTrans даже без группировки по складской аналитике - в разы дольше (+ большие чтения с диска из-за глобальной выборки, что приводит к более медленной работе как этой сессии, так и других пользователей).
Старый 08.08.2005, 17:17   #17  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
У отчета по InventTrans с "начала времен" есть еще один недостаток.

"Начало времен" - это этап внедрения AXAPTA. Перевод данных из старых программ и хранилищь в новые. Т.е. это время такого "бардака", что и не сразу опишешь.

Как следствие, нет никакой гарантии, что данные "начала времен" достаточно корректны. Есть очень большой шанс, что InventSum в "начале времен" было заполнено не по фактическим значениям InventTrans, а по результату инвентаризации.

Т.е. расчет по InventTrans "с начала времен" будет отличаться от того, что храниться в InventSum.
Старый 08.08.2005, 17:57   #18  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Изначально опубликовано Владимир Максимов
Есть очень большой шанс, что InventSum в "начале времен" было заполнено не по фактическим значениям InventTrans, а по результату инвентаризации.
Так делать нельзя.

inventSum - сугубо служебная таблица. ее нельзя править, поскольку эта таблица пересчитывается автоматически
http://forum.mazzy.ru/index.php?showtopic=3419

Данные можно вводить только проводками + коррекция себестоимости.
__________________
полезное на axForum, github, vk, coub.
Старый 08.08.2005, 18:27   #19  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
Re: Re: Re: Re: Re: Согласен
Цитата:
Изначально опубликовано Axapta
Один запрос (даже оптимизированный) не всегда работает быстрее, чем много мелких.... =)
Ну у меня есть практический пример - 70000 номенклатур, 15млн складских проводок, 40млн складских сопоставлений, система эксплуатируется 2 года, СУБД - SQL.
Хороший результат. У нас InventSumDate* отрабатывет на Oracle как-то не так шустро...
Старый 08.08.2005, 18:37   #20  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Re: Re: Re: Re: Re: Согласен
[QUOTE]Изначально опубликовано Axapta
[B]
Цитата:
Изначально опубликовано dn

Ну у меня есть практический пример - 70000 номенклатур, 15млн складских проводок, 40млн складских сопоставлений, система эксплуатируется 2 года, СУБД - SQL.
Похожие объемы - все нормально - все дело в наличии индексов - тогда суммирование 1-го мильена проводок не сильно отличается от 15, и в том что выборка падает в память серваку и если ее у него мало - будет свопить и за месяц не сделается..
Теги
остатки на дату, ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Отчет "Запасы в наличии" evb DAX: Программирование 19 17.01.2008 07:37
Отчет Физ.запасы по складам(Ax 3.0) Lyuboff DAX: Функционал 5 21.08.2007 11:45
Отчет "В наличии". Как добавить новое условие Range ATimTim DAX: Функционал 5 13.08.2005 13:26
Внутренние запасы в наличии Antidot DAX: Функционал 5 21.02.2005 21:15
Отчет - Запасы в наличии Wamr DAX: Функционал 9 15.11.2004 13:18

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

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

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