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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.05.2009, 11:03   #1  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
Количество неотгруженного товара в заказах
Доброе время суток, уважаемые форумчане.

Стоит задача подготовить данные для Reporting services отчета по заказам
В частности необходимо выбрать количество и сумму неотгруженного товара в заказах.

Случай идеализирован : не учитываются налоги, накладные расходы и скидки. Весь учет ведеться в "штуках", в одной валюте. Склад всегда обновляется физически во время Invoice.

Моя идея такова:
1. Выбрать все строки заказа (SalesLine) со статусом OpenOrder - те, что со статусом Delivered/Invoiced и так не содержат неотгруженного количества. Строки заказа созданы раньше конечной даты периода.
2. Выбрать для этих строк все отгруженное количество из InventTrans за период!
3. Результат будет 1 - 2.

<<Удалил суждение о сумме, там все сложнее. Пока давайте поговорим про количество>>
Спасибо всем принявшим участие в обсуждении
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!

Последний раз редактировалось plumbum; 27.05.2009 в 12:20.
Старый 27.05.2009, 11:11   #2  
twilight is offline
twilight
MCTS
MCBMSS
 
870 / 237 (9) ++++++
Регистрация: 17.10.2004
Адрес: Королёв
А стандартные отчеты вы смотрели по отклонениям в поставках?
Старый 27.05.2009, 11:30   #3  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
К сожалению того что мне нужно, я не нашел.
Тем более я не слышал чтобы считали сумму Delivered && !Invoiced - это требование клиента
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!
Старый 27.05.2009, 11:46   #4  
twilight is offline
twilight
MCTS
MCBMSS
 
870 / 237 (9) ++++++
Регистрация: 17.10.2004
Адрес: Королёв
Цитата:
Сообщение от plumbum Посмотреть сообщение
К сожалению того что мне нужно, я не нашел.
Тем более я не слышал чтобы считали сумму Delivered && !Invoiced - это требование клиента
Как насчет отчета Расчеты с клиентами / Отчеты / Проводки/ Заказ / Неотгруженные строки заказа?
Там как раз есть количество Delivered && !Invoiced и легко добавить сумму, как количество * цену в заказе
Старый 27.05.2009, 12:03   #5  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
Цитата:
Сообщение от twilight Посмотреть сообщение
Как насчет отчета Расчеты с клиентами / Отчеты / Проводки/ Заказ / Неотгруженные строки заказа?
Там как раз есть количество Delivered && !Invoiced и легко добавить сумму, как количество * цену в заказе
Согласен, все есть, только теперь представьте ситуацию:

01.05.2009 - 100 единиц заказано
01.06.2009 - 20 единиц отгружено
01.07.2009 - еще 20 единиц отгружено и на 20 единиц выставлен инвойс

Вопрос: сколько не отгружено в июне (01.06-30.06)?
Ответ: 80

А в отчете, о котором вы говорите все равно в строке будет выведено поле RemainSalesPhysical = 60

Я это вариант тоже рассматривал, но мы пришли к выводу, что отчет могут захотеть напечатать за прошлый месяц, так как в этом могут произойти возвраты и т.д.
В таком случае посоветованный вами отчет увы не работает.
В любом случае, спасибо за ответ
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!
Старый 27.05.2009, 12:09   #6  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
Цитата:
Сообщение от plumbum Посмотреть сообщение
Доброе время суток, уважаемые форумчане.

2. Выбрать для этих строк все отгруженное количество из InventTrans за период!
И сам же себя поправлю:

Отгруженное надо выбирать тоже до конечной даты периода, так как если мы выбираем данные за прошлый месяц, а с позопрошлого месяца остались еще неотгруженные полностью строки - они тоже должны учитываться
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!
Старый 27.05.2009, 12:19   #7  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,490 / 1060 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
а поле 'К поставке' в SalesLine не подходит?
Старый 27.05.2009, 12:43   #8  
twilight is offline
twilight
MCTS
MCBMSS
 
870 / 237 (9) ++++++
Регистрация: 17.10.2004
Адрес: Королёв
Цитата:
Сообщение от plumbum Посмотреть сообщение
1. Выбрать все строки заказа (SalesLine) со статусом OpenOrder - те, что со статусом Delivered/Invoiced и так не содержат неотгруженного количества.и
Если будут печатать отчет за прошлый месяц, то это получается неверно. Так как в прошлом месяце строка могла быть еще открыта.
За это сообщение автора поблагодарили: plumbum (1).
Старый 27.05.2009, 12:47   #9  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
А ситуации когда количество в строке заказа было изменено 01.07.2009 нужно отслеживать?
Старый 27.05.2009, 13:37   #10  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
Цитата:
Сообщение от twilight Посмотреть сообщение
Если будут печатать отчет за прошлый месяц, то это получается неверно. Так как в прошлом месяце строка могла быть еще открыта.
Спасибо, это тоже надо учесть

Цитата:
Сообщение от Starling Посмотреть сообщение
А ситуации когда количество в строке заказа было изменено 01.07.2009 нужно отслеживать?
Это то не отследишь, но они не меняют его вроде.

Вот бы была таблица типа LedgerBalanceDimTrans только для товара
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!
Старый 27.05.2009, 13:52   #11  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
Цитата:
Сообщение от twilight Посмотреть сообщение
Если будут печатать отчет за прошлый месяц, то это получается неверно. Так как в прошлом месяце строка могла быть еще открыта.
С другой стороны может сложится ситуация с пере-/недопоставкой, при этом линия получит статус Delivered/Invoiced

Такую разницу нельзя учитывать в "Не отгружено"
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!
Старый 27.05.2009, 13:56   #12  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
Еще в строке заказа могут вызвать функцию "К поставке"
Старый 27.05.2009, 13:59   #13  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
Так что, получается без сводной таблицы типа LedgerBalanceDimTrans тут не обойтись, ну разве что разрешить выбирать данные только всегда до текущей даты?

Хотя можно попробовать вывернуться:

Вывести данные на текущую дату (поля RemainSalesPhysical) и отнять от них отгрузки до запрашиваемой (как при пересчете склада).
Тогда отработают корректно и пере-/недопоставки
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!

Последний раз редактировалось plumbum; 27.05.2009 в 14:04.
Старый 27.05.2009, 14:07   #14  
twilight is offline
twilight
MCTS
MCBMSS
 
870 / 237 (9) ++++++
Регистрация: 17.10.2004
Адрес: Королёв
Цитата:
Сообщение от plumbum Посмотреть сообщение
С другой стороны может сложится ситуация с пере-/недопоставкой, при этом линия получит статус Delivered/Invoiced

Такую разницу нельзя учитывать в "Не отгружено"
Можно тогда брать количество не из строки заказа, а общее количество по проводкам.
Т. е. берем сумму количества по проводкам для строки заказа во всех статусах и вычитаем сумму количества по проводка за период для строки заказа в статусе "Продано".
Старый 27.05.2009, 14:18   #15  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
Цитата:
Сообщение от twilight Посмотреть сообщение
Можно тогда брать количество не из строки заказа, а общее количество по проводкам.
Т. е. берем сумму количества по проводкам для строки заказа во всех статусах и вычитаем сумму количества по проводка за период для строки заказа в статусе "Продано".
Как по мне самый правильный вариант. Он только не учитывает два случая:
1. Количество в строке заказа меняют руками.
2. Используют функцию к поставке.
Оба эти случая удаляют/создают складские проводки.
Старый 27.05.2009, 14:34   #16  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
+ еще при создании кредит ноты строки заказа могут быть удалены, так что лучше вообще их не трогать наверное.

значит выходит оптимально сделать следующим образом:

1. Выбрать всё отгруженное (Sold + Deducted + Purchased + Received (если кредит нота)) по складским проводкам с типом Sales с конечной даты отчета до текущей даты

2. Выбрать всё "К поставке" тоже по складским проводкам с типом Sales тоже на текущую дату (еще надо сгруппировать по финансовым аналитикам - тут думаю можно InventTransPosting прилепить, выбрав из него по Physical)

3. Просуммировать 1 + 2
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!
Старый 27.05.2009, 15:12   #17  
twilight is offline
twilight
MCTS
MCBMSS
 
870 / 237 (9) ++++++
Регистрация: 17.10.2004
Адрес: Королёв
Цитата:
Сообщение от plumbum Посмотреть сообщение
+ еще при создании кредит ноты строки заказа могут быть удалены, так что лучше вообще их не трогать наверное.

значит выходит оптимально сделать следующим образом:

1. Выбрать всё отгруженное (Sold + Deducted + Purchased + Received (если кредит нота)) по складским проводкам с типом Sales с конечной даты отчета до текущей даты

2. Выбрать всё "К поставке" тоже по складским проводкам с типом Sales тоже на текущую дату (еще надо сгруппировать по финансовым аналитикам - тут думаю можно InventTransPosting прилепить, выбрав из него по Physical)

3. Просуммировать 1 + 2
Не, так нельзя, так как получится, что все заказы созданные и отгруженные после конечной даты отчета будут показаны в отчете как неотгруженные. Т. е. надо делать или как я раньше написал или учитывать дату создания заказа.
Старый 27.05.2009, 15:21   #18  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
Вроде получилось.

Количество в строках заказа может редактироваться - это теперь не проблема.

Проблема в том, что если строка заказа была удалена или в ней изменены финансовые аналитики и проведена отгрузка: 1 с 2 не группируются

Тоесть, чтобы получить финансовые аналитики для складской проводки со статусом "В заказе" или "Заказано", необходимо обратиться к SalesLine, так как InventTransPosting для таких линий не существует

Можно конечно запретить редактирование аналитик в строке заказа после создания
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!
Старый 27.05.2009, 15:23   #19  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
Цитата:
Сообщение от twilight Посмотреть сообщение
Не, так нельзя, так как получится, что все заказы созданные и отгруженные после конечной даты отчета будут показаны в отчете как неотгруженные. Т. е. надо делать или как я раньше написал или учитывать дату создания заказа.
Я наверное не понял немного то что вы раньше написали, но идея с датой создания тоже нормальная - я раньше тоже ее рассматривал.
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!
Старый 27.05.2009, 16:08   #20  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
Цитата:
Сообщение от plumbum Посмотреть сообщение
Количество в строках заказа может редактироваться - это теперь не проблема.
Если количество в строке заказа будет корректироваться, то корректных данных вы не получите

Цитата:
Сообщение от plumbum Посмотреть сообщение
Проблема в том, что если строка заказа была удалена или в ней изменены финансовые аналитики и проведена отгрузка: 1 с 2 не группируются
Если строка заказа будет удалена, то недопоставленное количество вы тоже не увидите.

Цитата:
Сообщение от plumbum Посмотреть сообщение
Тоесть, чтобы получить финансовые аналитики для складской проводки со статусом "В заказе" или "Заказано", необходимо обратиться к SalesLine, так как InventTransPosting для таких линий не существует
Если будет смена финансовых аналитик, то собрать все вкучу тоже не получится.

А если попробовать посмотреть в другую сторону.
Создавать по заказам на продажу некий промежуточный документ (как пример Подтверждение). И сравнивать с этим документов данные по отгрузкам. Тогда то, что заказали всегда будет в этом документе, а то что отгрузили будет видно по накладным.
Теги
reporting services

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Брак и заказанное количество в производственных заказах S.Kuskov DAX: Функционал 32 13.02.2009 08:18
как отдельно учитывать фактическое и финансовое количество? romulis DAX: Функционал 4 08.02.2007 15:01
Положительное количество в заказах с типом "Возврат" IvanHARD DAX: Функционал 1 19.09.2006 10:33
Количество товара в спланированных закупках Penguin DAX: Функционал 1 11.05.2005 10:58
Физическая себестоимость товара Алексей Контев DAX: Функционал 5 22.08.2002 20:18

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

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

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