27.05.2009, 11:03 | #1 |
Участник
|
Количество неотгруженного товара в заказах
Доброе время суток, уважаемые форумчане.
Стоит задача подготовить данные для 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 |
MCTS
|
А стандартные отчеты вы смотрели по отклонениям в поставках?
|
|
27.05.2009, 11:30 | #3 |
Участник
|
К сожалению того что мне нужно, я не нашел.
Тем более я не слышал чтобы считали сумму Delivered && !Invoiced - это требование клиента
__________________
http://www.axdevposts.blogspot.com Пришел, уведел.... отойди, дай другому увидеть! |
|
27.05.2009, 11:46 | #4 |
MCTS
|
Цитата:
Там как раз есть количество Delivered && !Invoiced и легко добавить сумму, как количество * цену в заказе |
|
27.05.2009, 12:03 | #5 |
Участник
|
Цитата:
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 |
Участник
|
Цитата:
Отгруженное надо выбирать тоже до конечной даты периода, так как если мы выбираем данные за прошлый месяц, а с позопрошлого месяца остались еще неотгруженные полностью строки - они тоже должны учитываться
__________________
http://www.axdevposts.blogspot.com Пришел, уведел.... отойди, дай другому увидеть! |
|
27.05.2009, 12:19 | #7 |
NavAx
|
а поле 'К поставке' в SalesLine не подходит?
|
|
27.05.2009, 12:43 | #8 |
MCTS
|
Если будут печатать отчет за прошлый месяц, то это получается неверно. Так как в прошлом месяце строка могла быть еще открыта.
|
|
|
За это сообщение автора поблагодарили: plumbum (1). |
27.05.2009, 12:47 | #9 |
Участник
|
А ситуации когда количество в строке заказа было изменено 01.07.2009 нужно отслеживать?
|
|
27.05.2009, 13:37 | #10 |
Участник
|
Цитата:
Цитата:
Вот бы была таблица типа LedgerBalanceDimTrans только для товара
__________________
http://www.axdevposts.blogspot.com Пришел, уведел.... отойди, дай другому увидеть! |
|
27.05.2009, 13:52 | #11 |
Участник
|
Цитата:
Такую разницу нельзя учитывать в "Не отгружено"
__________________
http://www.axdevposts.blogspot.com Пришел, уведел.... отойди, дай другому увидеть! |
|
27.05.2009, 13:56 | #12 |
Участник
|
Еще в строке заказа могут вызвать функцию "К поставке"
|
|
27.05.2009, 13:59 | #13 |
Участник
|
Так что, получается без сводной таблицы типа LedgerBalanceDimTrans тут не обойтись, ну разве что разрешить выбирать данные только всегда до текущей даты?
Хотя можно попробовать вывернуться: Вывести данные на текущую дату (поля RemainSalesPhysical) и отнять от них отгрузки до запрашиваемой (как при пересчете склада). Тогда отработают корректно и пере-/недопоставки
__________________
http://www.axdevposts.blogspot.com Пришел, уведел.... отойди, дай другому увидеть! Последний раз редактировалось plumbum; 27.05.2009 в 14:04. |
|
27.05.2009, 14:07 | #14 |
MCTS
|
Цитата:
Т. е. берем сумму количества по проводкам для строки заказа во всех статусах и вычитаем сумму количества по проводка за период для строки заказа в статусе "Продано". |
|
27.05.2009, 14:18 | #15 |
Участник
|
Цитата:
1. Количество в строке заказа меняют руками. 2. Используют функцию к поставке. Оба эти случая удаляют/создают складские проводки. |
|
27.05.2009, 14:34 | #16 |
Участник
|
+ еще при создании кредит ноты строки заказа могут быть удалены, так что лучше вообще их не трогать наверное.
значит выходит оптимально сделать следующим образом: 1. Выбрать всё отгруженное (Sold + Deducted + Purchased + Received (если кредит нота)) по складским проводкам с типом Sales с конечной даты отчета до текущей даты 2. Выбрать всё "К поставке" тоже по складским проводкам с типом Sales тоже на текущую дату (еще надо сгруппировать по финансовым аналитикам - тут думаю можно InventTransPosting прилепить, выбрав из него по Physical) 3. Просуммировать 1 + 2
__________________
http://www.axdevposts.blogspot.com Пришел, уведел.... отойди, дай другому увидеть! |
|
27.05.2009, 15:12 | #17 |
MCTS
|
Цитата:
Сообщение от plumbum
+ еще при создании кредит ноты строки заказа могут быть удалены, так что лучше вообще их не трогать наверное.
значит выходит оптимально сделать следующим образом: 1. Выбрать всё отгруженное (Sold + Deducted + Purchased + Received (если кредит нота)) по складским проводкам с типом Sales с конечной даты отчета до текущей даты 2. Выбрать всё "К поставке" тоже по складским проводкам с типом Sales тоже на текущую дату (еще надо сгруппировать по финансовым аналитикам - тут думаю можно InventTransPosting прилепить, выбрав из него по Physical) 3. Просуммировать 1 + 2 |
|
27.05.2009, 15:21 | #18 |
Участник
|
Вроде получилось.
Количество в строках заказа может редактироваться - это теперь не проблема. Проблема в том, что если строка заказа была удалена или в ней изменены финансовые аналитики и проведена отгрузка: 1 с 2 не группируются Тоесть, чтобы получить финансовые аналитики для складской проводки со статусом "В заказе" или "Заказано", необходимо обратиться к SalesLine, так как InventTransPosting для таких линий не существует Можно конечно запретить редактирование аналитик в строке заказа после создания
__________________
http://www.axdevposts.blogspot.com Пришел, уведел.... отойди, дай другому увидеть! |
|
27.05.2009, 15:23 | #19 |
Участник
|
Я наверное не понял немного то что вы раньше написали, но идея с датой создания тоже нормальная - я раньше тоже ее рассматривал.
__________________
http://www.axdevposts.blogspot.com Пришел, уведел.... отойди, дай другому увидеть! |
|
27.05.2009, 16:08 | #20 |
Участник
|
Цитата:
Цитата:
Цитата:
А если попробовать посмотреть в другую сторону. Создавать по заказам на продажу некий промежуточный документ (как пример Подтверждение). И сравнивать с этим документов данные по отгрузкам. Тогда то, что заказали всегда будет в этом документе, а то что отгрузили будет видно по накладным. |
|
Теги |
reporting services |
|
|