|
12.12.2017, 14:33 | #1 |
Administrator
|
Сделайте еще джойн по DataareaId. Время может уменьшиться. Запросы из кода X++ и запросы, которые АХ посылает к БД немного разные. АХ посылает запрос еще с фильтрацией по DataareaId по данным табличкам.
Сложно дать ответ не видя данные. Думаю, что Вам надо вручную найти пару накладных и на них оттестировать конечный вид запроса. Возможно он немножко изменится. На форуме можно дать только концептуальное направление. До финального вида нужно уже идти самостоятельно В конкретном Вами приведенном запросе выручки вообще нет, т.к. запрос выбирает только количество.
__________________
Возможно сделать все. Вопрос времени |
|
12.12.2017, 14:54 | #2 |
Участник
|
|
|
26.01.2018, 11:39 | #3 |
Участник
|
Цитата:
Запрос на выгрузку 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 На что нужно обратить внимание, чтобы выгрузить возвраты? |
|
26.01.2018, 16:06 | #4 |
Участник
|
Получается для получения возвратов надо еще использовать таблицу PurchTable? Важно получить и дату клиента, и дату проводки (поставки)?
|
|
26.01.2018, 17:13 | #5 |
Участник
|
Важно получить и дату клиента, и дату проводки (поставки)
|
|
29.01.2018, 11:54 | #6 |
Участник
|
Цитата:
1. В рамках одной накладной, как правило, не могут быть одновременно и отгрузки и возвраты. Т.е. либо все строки имеют положительно количество, либо отрицательное. "Смеси" быт не может. Если это не так, то это ошибка. 2. Сторно - это полная копия отгрузки. Т.е. в сумме с отгрузкой получим ноль. Если это не так, то это ошибка. Следовательно, анализировать надо не каждую накладную в отдельности, а сумму накладных в разрезе заказа (SalesId). Правда, тут есть некоторые сложности с датой, поскольку, в общем случае, дата как сторно, так и дата нового проведения после сторно может быть любой. Т.е., в общем случае, под датой надо понимать дату накладной созданной самой последней. Но, опять же, есть сложности идентификации того, какую запись считать созданной "последней" Для простоты, можно считать, что дата новой накладной не может быть меньше даты исходной накладной. Т.е. достаточно будет взять максимальное значение даты. Хотя, повторюсь, в общем случае, это может быть и не так PHP код:
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... Последний раз редактировалось Владимир Максимов; 29.01.2018 в 12:10. |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Вопрос по Проектам | 35 | |||
Вопрос по проектам Фиксированная цена | 9 | |||
Еще вопрос про покрытие по аналитикам в Сводном планировании | 3 | |||
Вопрос по запросу (query) | 2 | |||
Вопрос по Запросу отчета | 0 |
|