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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.02.2010, 13:01   #1  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,340 / 3558 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Да, и кстати - Вы по какой дате собирались фильтроваться? По физической или финансовой?
Накладные CustInvoice* "датированы" финансовой (DateFinancial) датой.
А вот реальный уход со склада произведен физической (DatePhysical) датой
Просто в условие моего запроса нужно будет еще добавить статус расхода (StatusIssue), равный 1, если интересен статус Продано или 1 и 2, если еще и интересен статус Отпущено.
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 26.02.2010 в 13:05.
Старый 26.02.2010, 13:48   #2  
Prophetic is offline
Prophetic
Участник
 
113 / 15 (1) ++
Регистрация: 08.12.2009
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Да, и кстати - Вы по какой дате собирались фильтроваться? По физической или финансовой?
Накладные CustInvoice* "датированы" финансовой (DateFinancial) датой.
А вот реальный уход со склада произведен физической (DatePhysical) датой
Просто в условие моего запроса нужно будет еще добавить статус расхода (StatusIssue), равный 1, если интересен статус Продано или 1 и 2, если еще и интересен статус Отпущено.
По финансовой дате. А custInvoiceTrans тогда вообще не нужен?
Старый 26.02.2010, 14:02   #3  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,340 / 3558 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Prophetic Посмотреть сообщение
По финансовой дате. А custInvoiceTrans тогда вообще не нужен?
Не нужен. А по поводу правильного алгоритма расчета коррекции - загляните в отчет InventTurnover_RU - там коррекция на дату правильно считается.
Правда там код написан не очень корректно в плане того, что отчет тем дольше строится - чем больше записей в InventTrans. Но для того чтобы понять как связывать InventTrans и InventSettlement кода будет вполне достаточно.

Только учтите, что данный отчет строится по физической, а не финансовой дате.
__________________
Возможно сделать все. Вопрос времени
Старый 26.02.2010, 14:39   #4  
Prophetic is offline
Prophetic
Участник
 
113 / 15 (1) ++
Регистрация: 08.12.2009
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Не нужен. А по поводу правильного алгоритма расчета коррекции - загляните в отчет InventTurnover_RU - там коррекция на дату правильно считается.
Только учтите, что данный отчет строится по физической, а не финансовой дате.
Да, благодарю. Связывается по inventTable.RecID, если я правильно понял.

Но, для начала, нужно посчитать просто СostAmountPosted. Попробую обойтись без custInvoiceTrans. Я написал вот что:
Код:
set @DtBeg = N'01.12.2009'
set @DtEnd = N'31.12.2009'

select sum(itr.CostAmountPosted) from inventTrans itr where
itr.TransType = 0
and itr.StatusIssue = 1 or itr.statusIssue=2
and itr.dateFinancial <=@DtEnd
Результат непонятен.
Поясню -- у меня есть отчет по продажам, сделанный в Axcision. Меня уверяют, что отчет верный. Я пытаюсь в запросе получить такие же данные.

Последний раз редактировалось Prophetic; 26.02.2010 в 14:44.
Старый 26.02.2010, 14:47   #5  
MBurachkov is offline
MBurachkov
КОРУС Консалтинг
КОРУС Консалтинг
 
23 / 14 (1) ++
Регистрация: 18.12.2001
Адрес: Санкт-Петербург
Цитата:
Сообщение от Prophetic Посмотреть сообщение
Да, благодарю. Связывается по inventTable.RecID, если я правильно понял.

Но, для начала, нужно посчитать просто СostAmountPosted. Попробую обойтись без custInvoiceTrans. Я написал вот что:
Код:
set @DtBeg = N'01.12.2009'
set @DtEnd = N'31.12.2009'

select sum(itr.CostAmountPosted) from inventTrans itr where
itr.TransType = 0
and itr.StatusIssue = 1 or itr.statusIssue=2
and itr.dateFinancial <=@DtEnd
Результат непонятен.
Поясню -- у меня есть отчет по продажам, сделанный в Axcision. Меня уверяют, что отчет верный. Я пытаюсь в запросе получить такие же данные.
Посмотрите в настройках куба Axcision связки факт-таблиц и то, какую именно себестоимость хотят получить пользователи.
__________________
Misha Burachkov
Старый 26.02.2010, 14:53   #6  
Prophetic is offline
Prophetic
Участник
 
113 / 15 (1) ++
Регистрация: 08.12.2009
Цитата:
Сообщение от MBurachkov Посмотреть сообщение
Посмотрите в настройках куба Axcision связки факт-таблиц и то, какую именно себестоимость хотят получить пользователи.
В Кубе привязывается inventTransPosting по полю voucher и InventTransId, а также таблица sales По полю salesid=TransRefId
Старый 26.02.2010, 15:03   #7  
MBurachkov is offline
MBurachkov
КОРУС Консалтинг
КОРУС Консалтинг
 
23 / 14 (1) ++
Регистрация: 18.12.2001
Адрес: Санкт-Петербург
Цитата:
Сообщение от Prophetic Посмотреть сообщение
В Кубе привязывается inventTransPosting по полю voucher и InventTransId, а также таблица sales По полю salesid=TransRefId
Все что, вам нужно сделать - это повторить запрос Axcision - он ничего необычного не делает - строит ровно тот sql-запрос, которые вы хотите написать. Там куб разбит на несколько частей, каждая из которых отвечает за свою логику. Теперь нужно посмотреть, как идет выборка данных для показателя подсчета себестоимости.
__________________
Misha Burachkov
Старый 26.02.2010, 15:05   #8  
Prophetic is offline
Prophetic
Участник
 
113 / 15 (1) ++
Регистрация: 08.12.2009
Цитата:
Сообщение от MBurachkov Посмотреть сообщение
Посмотрите в настройках куба Axcision связки факт-таблиц и то, какую именно себестоимость хотят получить пользователи.
Хм.. интересно, а реально ли посмотреть SQL-запрос, который Куб генерит?
Старый 26.02.2010, 15:25   #9  
MBurachkov is offline
MBurachkov
КОРУС Консалтинг
КОРУС Консалтинг
 
23 / 14 (1) ++
Регистрация: 18.12.2001
Адрес: Санкт-Петербург
Цитата:
Сообщение от Prophetic Посмотреть сообщение
Хм.. интересно, а реально ли посмотреть SQL-запрос, который Куб генерит?
В теории, наверное, можно (как минимум через профайлер SQL) но в данном случае вся логика описывается параметрически. Есть факт-таблицы и есть все связки между ними и все фильтры, накладываемые на таблицы + есть описание всех показателей и источники данных для них. На основании этого Axcision формирует sql-запрос.
__________________
Misha Burachkov
Старый 26.02.2010, 15:17   #10  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,340 / 3558 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Prophetic Посмотреть сообщение
Да, благодарю. Связывается по inventTable.RecID, если я правильно понял.
Да.

Цитата:
Сообщение от Prophetic Посмотреть сообщение
Код:
and itr.StatusIssue = 1 or itr.statusIssue=2
and itr.dateFinancial <=@DtEnd
Ээээ.. Вы либо используете финансовую дату и используете StatusIssue = 1, либо используете физическую дату и используете StatusIssue = 1 or StatusIssue = 2.
Иначе - косяк получится. Вы просуммируете все проводки в статусе Отпущено независимо от даты (т.к. 1900-й год заведомо раньше).
Так что в Вашем запросе фразу or itr.statusIssue=2 лучше убрать
__________________
Возможно сделать все. Вопрос времени
Старый 26.02.2010, 16:29   #11  
Prophetic is offline
Prophetic
Участник
 
113 / 15 (1) ++
Регистрация: 08.12.2009
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Да.


Ээээ.. Вы либо используете финансовую дату и используете StatusIssue = 1, либо используете физическую дату и используете StatusIssue = 1 or StatusIssue = 2.
Иначе - косяк получится. Вы просуммируете все проводки в статусе Отпущено независимо от даты (т.к. 1900-й год заведомо раньше).
Так что в Вашем запросе фразу or itr.statusIssue=2 лучше убрать
Убрал. Получается какая-то безумная сумма, все равно.
Теги
себестоимость

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Denis Fedotenko: Себестоимость и закрытие склада Blog bot DAX: База знаний и проекты 44 29.03.2010 14:54
Зачистка товара. Себестоимость vey DAX: Функционал 17 16.02.2007 10:48
Помогите с SQL запросом malex DAX: Программирование 8 26.07.2005 13:43
Себестоимость проданного товара Hamster DAX: Функционал 3 12.08.2004 16:02
Физическая себестоимость товара Алексей Контев DAX: Функционал 5 22.08.2002 20:18

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

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

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