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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.12.2017, 13:20   #1  
axapter is offline
axapter
Участник
 
48 / 10 (1) +
Регистрация: 20.11.2017
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Надо смотреть на знак QTY. Положительный - это отгрузка. Отрицательный - возврат
А может быть наоборот, то есть положительная это возврат, а отрицательная это отгрузка? То есть исключения?
Старый 11.12.2017, 13:37   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,340 / 3558 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от axapter Посмотреть сообщение
Не довезли, обратно на склад.
Документ либо есть, либо нет. Понятия "Не довезли" в таблицах CustInvoice* нет

Цитата:
Сообщение от axapter Посмотреть сообщение
А может быть наоборот, то есть положительная это возврат, а отрицательная это отгрузка? То есть исключения?
Может... Но для таблиц CustInvoice* именно так, как я сказал. В таблице InventTrans "+" - это приход, а "-" - расход.
__________________
Возможно сделать все. Вопрос времени
Старый 12.12.2017, 09:15   #3  
axapter is offline
axapter
Участник
 
48 / 10 (1) +
Регистрация: 20.11.2017
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
В таблице InventTrans "+" - это приход, а "-" - расход.
То есть одновременно в одной строке Дата+ТТ+SKU (или Дата+ТТ+SKU + [Тип документа]) не может быть и приход, и расход. Если было, то две строки. Верно?
Старый 12.12.2017, 09:59   #4  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,340 / 3558 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от axapter Посмотреть сообщение
То есть одновременно в одной строке Дата+ТТ+SKU (или Дата+ТТ+SKU + [Тип документа]) не может быть и приход, и расход. Если было, то две строки. Верно?
Одновременно и приход и расход в одной строке InventTrans быть не может.
Данные по Дате и Типу документа в строке есть (только для отгрузки и возвратов - тип один - Заказ на продажу). Номер документа тоже есть (точнее номер накладной, сгенерированный системой и код заказа на продажу, сгенерированный системой).

Сопоставление между строкой возврата и строкой исходной расходной накладной - тоже есть. InventTrans(возврат).InventTransIdReturn -> InventTrans(продажа).InventTransId. Но в общем случае связка может быть M:N. Для приходных накладных - связка осуществляется по другим полям.
__________________
Возможно сделать все. Вопрос времени
Старый 12.12.2017, 13:50   #5  
axapter is offline
axapter
Участник
 
48 / 10 (1) +
Регистрация: 20.11.2017
Пока выгружаю из таблиц CUSTINVOICEJOUR и CUSTINVOICETRANS и получается такой запрос
Код:
Declare @StartDate date ='2017-07-01'
Declare @EndDate date ='2017-07-21'

SELECT	
	CUSTINVOICEJOUR.ORDERACCOUNT,
	CUSTINVOICEJOUR.INVOICEACCOUNT,
	CUSTINVOICEJOUR.INVOICEDATE,
        CUSTINVOICEJOUR.REFNUM,
        CUSTINVOICETRANS.ITEMID,
	CUSTINVOICETRANS.QTY,	
	CASE WHEN CUSTINVOICETRANS.QTY>0 THEN CUSTINVOICETRANS.QTY END Отгрузка,
	CASE WHEN CUSTINVOICETRANS.QTY<0 THEN -1 * CUSTINVOICETRANS.QTY END Возврат,
FROM
	CUSTINVOICEJOUR
INNER JOIN
	CUSTINVOICETRANS
ON
	(CUSTINVOICEJOUR.SALESID=CUSTINVOICETRANS.SALESID
	AND
	CUSTINVOICEJOUR.INVOICEID=CUSTINVOICETRANS.INVOICEID
	AND
	CUSTINVOICEJOUR.INVOICEDATE=CUSTINVOICETRANS.INVOICEDATE
	AND
	CUSTINVOICEJOUR.NUMBERSEQUENCEGROUP=CUSTINVOICETRANS.NUMBERSEQUENCEGROUP)
WHERE	
	(CUSTINVOICEJOUR.INVOICEDATE >= @StartDate AND CUSTINVOICEJOUR.INVOICEDATE <=@EndDate)	
	AND
	CUSTINVOICEJOUR.ORDERACCOUNT='00001ГРД'
	AND
	CUSTINVOICETRANS.ITEMID = 00001
Время выполнения запроса 5 секунд. Но в результате нету возвратов. А возвраты были. Почему так? Тут особенность в том, что в день поставки отгружается продукция и принимается возврат от предыдущих поставок

Выручка будет как расчетная?

Напоминаю, нужно в итоге получить таблицу со следующими колонками:
Код юр. лица, Код ТТ, SKU, Дата, Отгрузки шт., Возврат шт., Реализация шт..
Старый 12.12.2017, 14:33   #6  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,340 / 3558 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от axapter Посмотреть сообщение
Время выполнения запроса 5 секунд.
Сделайте еще джойн по DataareaId. Время может уменьшиться. Запросы из кода X++ и запросы, которые АХ посылает к БД немного разные. АХ посылает запрос еще с фильтрацией по DataareaId по данным табличкам.

Цитата:
Сообщение от axapter Посмотреть сообщение
Но в результате нету возвратов. А возвраты были. Почему так?
Сложно дать ответ не видя данные. Думаю, что Вам надо вручную найти пару накладных и на них оттестировать конечный вид запроса. Возможно он немножко изменится. На форуме можно дать только концептуальное направление. До финального вида нужно уже идти самостоятельно

Цитата:
Сообщение от axapter Посмотреть сообщение
Выручка будет как расчетная?
В конкретном Вами приведенном запросе выручки вообще нет, т.к. запрос выбирает только количество.
__________________
Возможно сделать все. Вопрос времени
Старый 12.12.2017, 14:54   #7  
axapter is offline
axapter
Участник
 
48 / 10 (1) +
Регистрация: 20.11.2017
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Сделайте еще джойн по DataareaId. Время может уменьшиться.
Теперь быстрее стало
Старый 26.01.2018, 11:39   #8  
axapter is offline
axapter
Участник
 
48 / 10 (1) +
Регистрация: 20.11.2017
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Сложно дать ответ не видя данные. Думаю, что Вам надо вручную найти пару накладных и на них оттестировать конечный вид запроса. Возможно он немножко изменится. На форуме можно дать только концептуальное направление. До финального вида нужно уже идти самостоятельно
Если отгрузка, то фиксируется через Сведения о заявках (Заявка) - Заявка на продажу. Если возврат, то Сведения о заказе на покупку (Заказ на покупку). В аксапте отчет о продажах по документам (если присутствуют поля Номер заказа и Номер документа) на один день указывает отдельную строку для отгрузки, и отдельную строку для возврата.


Запрос на выгрузку
X++:
Declare @StartDate date ='2017-01-01'
Declare @EndDate date ='2017-01-31'

SELECT	
	CUSTINVOICEJOUR.INVOICEACCOUNT AS [ ],	
	CUSTINVOICETRANS.ITEMID AS [ ],
	CONVERT(nvarchar(10),CUSTINVOICEJOUR.INVOICEDATE, 104) AS [],		
	CASE WHEN CUSTINVOICETRANS.QTY>0 THEN CAST(CUSTINVOICETRANS.QTY AS Integer) ELSE 0 END AS [],
	CASE WHEN CUSTINVOICETRANS.QTY<0 THEN CAST(-1*CUSTINVOICETRANS.QTY AS INTEGER)ELSE 0 END AS []
FROM
	CUSTINVOICEJOUR
INNER JOIN
	CUSTINVOICETRANS
ON
	(CUSTINVOICEJOUR.SALESID=CUSTINVOICETRANS.SALESID
	AND
	CUSTINVOICEJOUR.INVOICEID=CUSTINVOICETRANS.INVOICEID
	AND
	CUSTINVOICEJOUR.INVOICEDATE=CUSTINVOICETRANS.INVOICEDATE
	AND
	CUSTINVOICEJOUR.NUMBERSEQUENCEGROUP=CUSTINVOICETRANS.NUMBERSEQUENCEGROUP
	AND
	CUSTINVOICEJOUR.DATAAREAID=CUSTINVOICETRANS.DATAAREAID)
WHERE	
	(CUSTINVOICEJOUR.INVOICEDATE >= @StartDate AND CUSTINVOICEJOUR.INVOICEDATE <=@EndDate)	
	AND
	CUSTINVOICEJOUR.ORDERACCOUNT='00001грд'
	AND
	CUSTINVOICETRANS.ITEMID = 00001
Интересно получается. Выходят как и положительные, так и отрицательные QTY. Если отрицательные, то это обратные проводки накладной (сторно). Но не возвраты.

На что нужно обратить внимание, чтобы выгрузить возвраты?
Старый 12.12.2017, 14:56   #9  
axapter is offline
axapter
Участник
 
48 / 10 (1) +
Регистрация: 20.11.2017
Цитата:
Сообщение от axapter Посмотреть сообщение
Выручка будет как расчетная?

Напоминаю, нужно в итоге получить таблицу со следующими колонками:
Код юр. лица, Код ТТ, SKU, Дата, Отгрузки шт., Возврат шт., Реализация шт..
Извиняюсь, не выручка, а реализация шт.
Старый 30.01.2018, 15:09   #10  
potential is offline
potential
Участник
 
84 / 35 (2) +++
Регистрация: 13.04.2012
Адрес: Санкт-Петербург
Цитата:
Сообщение от axapter Посмотреть сообщение
не выручка, а реализация шт.
присмотритесь к сообщению где вам намекают плясать от InventTrans
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вопрос по Проектам PSA DAX: Функционал 35 19.01.2007 22:26
Вопрос по проектам Фиксированная цена PSA DAX: Функционал 9 29.06.2006 14:23
Еще вопрос про покрытие по аналитикам в Сводном планировании rt2 DAX: Функционал 3 24.03.2006 18:56
Вопрос по запросу (query) Александр_1975 DAX: Программирование 2 23.01.2004 17:35
Вопрос по Запросу отчета ravil DAX: Программирование 0 18.12.2003 17:06

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

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

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