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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.12.2017, 10:41   #1  
axapter is offline
axapter
Участник
 
48 / 10 (1) +
Регистрация: 20.11.2017
Вопрос по запросу
Здравствуйте!

Изучаю структуру базы данных для Microsoft Dynamic AX 2009 и пишу SQL-запрос для выгрузки отгрузок, возвратов и продаж из базы данных путем соединением таблиц CUSTINVOICEJOUR и CUSTINVOICETRANS.

Код:
Declare @StartDate date ='2017-08-10'
Declare @EndDate date ='2017-08-10'

SELECT	
	*
FROM
	CUSTINVOICEJOUR
INNER JOIN
	CUSTINVOICETRANS
ON
	CUSTINVOICEJOUR.RECID=CUSTINVOICETRANS.RECID
WHERE	
	(CUSTINVOICEJOUR.INVOICEDATE >= @StartDate AND CUSTINVOICEJOUR.INVOICEDATE <=@EndDate)	
	AND
	CUSTINVOICEJOUR.ORDERACCOUNT='00001грд'
Я немного запутался и есть сомнение: те ли я использую таблицы в запросе для выгрузки данных об отгрузках и возвратах? Если те, то те ли колонки использую для соединения? Что еще в фильтре надо указывать типа статусы накладных, вычерки и т. д.?
Старый 11.12.2017, 10:46   #2  
online
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Цитата:
Сообщение от axapter Посмотреть сообщение
Код:
CUSTINVOICEJOUR.RECID=CUSTINVOICETRANS.RECID
Можно полюбопытствовать, что навело на мысль о такой противоестественной связи таблиц заголовка и строк ?
__________________
Мы летаем, кружимся, нагоняем ужасы ...
Старый 11.12.2017, 10:51   #3  
axapter is offline
axapter
Участник
 
48 / 10 (1) +
Регистрация: 20.11.2017
Цитата:
Сообщение от TasmanianDevil Посмотреть сообщение
Можно полюбопытствовать, что навело на мысль о такой противоестественной связи таблиц заголовка и строк ?
Я предположил, в структуре базы данных для аксапты пытаюсь разобраться.
Старый 11.12.2017, 11:44   #4  
online
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
как-то вот так
Миниатюры
Нажмите на изображение для увеличения
Название: custinvoicetrans.jpg
Просмотров: 415
Размер:	61.0 Кб
ID:	11757  
__________________
Мы летаем, кружимся, нагоняем ужасы ...
Старый 11.12.2017, 12:22   #5  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,271 / 3465 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от axapter Посмотреть сообщение
SQL-запрос для выгрузки отгрузок, возвратов и продаж
Есть еще табличка InventTrans (складские движения), LedgerTrans (бух проводки) и CustTrans (проводки по клиенту).
В зависимости от необходимых полей в выборке можно вместо CustInvoice* таблиц взять какую-нибудь из этих.

Если, к примеру, если нет необходимости тянуть данные по выручке - то можно глянуть в InventTrans.
__________________
Возможно сделать все. Вопрос времени
Старый 16.02.2018, 09:15   #6  
axapter is offline
axapter
Участник
 
48 / 10 (1) +
Регистрация: 20.11.2017
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Есть еще табличка InventTrans (складские движения), LedgerTrans (бух проводки) и CustTrans (проводки по клиенту).
Экспериментирую с выгрузкой.
X++:
SELECT 
	*
FROM
	INVENTTRANS
WHERE
	INVOICEID = 'ГРД_АВС_0000001'
Пытаюсь получить строки для определенной накладной. Не находит. Что не так делаю?
Старый 19.02.2018, 10:34   #7  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
870 / 637 (23) +++++++
Регистрация: 14.10.2004
Цитата:
Сообщение от axapter Посмотреть сообщение
Экспериментирую с выгрузкой.
X++:
SELECT 
	*
FROM
	INVENTTRANS
WHERE
	INVOICEID = 'ГРД_АВС_0000001'
Пытаюсь получить строки для определенной накладной. Не находит. Что не так делаю?
Еще может не находить из-за того, что у InvoiceId свойство Adjustment = Right, и в базе данных значения номеров накладных хранятся с пробелами слева. Попробуйте вариант
X++:
WHERE
	INVOICEID LIKE N'%ГРД_АВС_0000001'
__________________
Мои утилиты для Аксапты версий 3.0-2012: http://aceofdatabase.blogspot.com/
Старый 19.02.2018, 08:15   #8  
axapter is offline
axapter
Участник
 
48 / 10 (1) +
Регистрация: 20.11.2017
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Есть еще табличка InventTrans (складские движения), LedgerTrans (бух проводки) и CustTrans (проводки по клиенту).
В зависимости от необходимых полей в выборке можно вместо CustInvoice* таблиц взять какую-нибудь из этих.

Если, к примеру, если нет необходимости тянуть данные по выручке - то можно глянуть в InventTrans.
Цитата:
Сообщение от potential Посмотреть сообщение
присмотритесь к сообщению где вам намекают плясать от InventTrans
Насколько я правильно понимаю, из возвраты не сидят в CUSTINVOICEJOUR и CUSTINVOICETRANS, только отгрузки с учетом сторно. Я запутался как выгрузить возвраты (по дате клиента и дате проводке). Что является конкретно документом отгрузки и возвратом описано выше. Тут и тут.

Например, в таблице INVENTTRANS не вижу поля INVOICEACCOUNT, то есть Код ТТ. Непонятно как по коду ТТ смотреть или тут другая логика.

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

Цитата:
Сообщение от axapter Посмотреть сообщение
А может быть наоборот, то есть положительная это возврат, а отрицательная это отгрузка? То есть исключения?
Может... Но для таблиц CustInvoice* именно так, как я сказал. В таблице InventTrans "+" - это приход, а "-" - расход.
__________________
Возможно сделать все. Вопрос времени
Старый 12.12.2017, 09:15   #13  
axapter is offline
axapter
Участник
 
48 / 10 (1) +
Регистрация: 20.11.2017
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
В таблице InventTrans "+" - это приход, а "-" - расход.
То есть одновременно в одной строке Дата+ТТ+SKU (или Дата+ТТ+SKU + [Тип документа]) не может быть и приход, и расход. Если было, то две строки. Верно?
Старый 11.12.2017, 14:57   #14  
axapter is offline
axapter
Участник
 
48 / 10 (1) +
Регистрация: 20.11.2017
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Отрицательный - возврат
А это какой возврат? По дате клиента (дата счет фактуры клиента) или дате проводки (поставки)?
Старый 11.12.2017, 13:02   #15  
axapter is offline
axapter
Участник
 
48 / 10 (1) +
Регистрация: 20.11.2017
Таблицы CUSTINVOICETRANS и INVENTTRANS. Какая из таблиц учитывает вычерки? Или вычерки это отдельная таблица?
Старый 11.12.2017, 13:10   #16  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,271 / 3465 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от axapter Посмотреть сообщение
Таблицы CUSTINVOICETRANS и INVENTTRANS. Какая из таблиц учитывает вычерки? Или вычерки это отдельная таблица?
А что такое вычерки?
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: Ace of Database (5).
Старый 11.12.2017, 13:18   #17  
axapter is offline
axapter
Участник
 
48 / 10 (1) +
Регистрация: 20.11.2017
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
А что такое вычерки?
Не довезли, обратно на склад.
Старый 11.12.2017, 14:28   #18  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,649 / 1146 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от axapter Посмотреть сообщение
Здравствуйте!

Изучаю структуру базы данных для Microsoft Dynamic AX 2009 и пишу SQL-запрос для выгрузки отгрузок, возвратов и продаж из базы данных путем соединением таблиц CUSTINVOICEJOUR и CUSTINVOICETRANS.

(...)

Я немного запутался и есть сомнение: те ли я использую таблицы в запросе для выгрузки данных об отгрузках и возвратах? Если те, то те ли колонки использую для соединения? Что еще в фильтре надо указывать типа статусы накладных, вычерки и т. д.?
Лично мне в изучении структуры данных помогает существующий в Axapta инструмент просмотра настроек открытой формы.

1. Открываете форму с отображением нужных таблиц. В данном случае накладную клиента
2. Правой клавишей мыши по объекту формы и в открывшемся контекстном меню выбираете пункт "Настройки"
3. В открывшейся форме настроек формы переходите на закладку "Запрос" и смотрите, какие есть связи (Link, DynaLink) и ограничения (Range)

Замечание - насколько я помню, факт наличия пункта "Настройка" и закладки "Запрос" в Ax2009 регулируется правами доступа. Т.е. если у Вас этого нет, то смотрите права. Сейчас не помню, какие именно это ключи

Что есть "отгрузка", "возврат" и "продажа" - это надо предметно выяснять у финансистов. Скорее всего, вам придется делать еще связку с исходными документами, чтобы брать реквизиты из них. Но, возможно, будет достаточно анализа поля CustInvoiceJour.RefNum и знака количества (суммы).

Т.е. следует понимать, что отгрузка и возврат с точки зрения "стандарта" Axapta - это одно, а вот с точки зрения пользователей - это может быть совсем другое
Миниатюры
Нажмите на изображение для увеличения
Название: CustInvoice.PNG
Просмотров: 441
Размер:	27.3 Кб
ID:	11758  
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 11.12.2017, 15:08   #19  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,271 / 3465 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Счет-фактура в АХ не документ в том смысле, что он не имеет проводки. Это так... чисто российская справка.
Дата - это та, которая стоит в записи в таблице. А уж она будет той, которой сделали документ по возврату или сторно. Любое действие, математически возвращающее товар на склад
__________________
Возможно сделать все. Вопрос времени
Старый 26.01.2018, 18:08   #20  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
используйте операторы Min_Max of
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вопрос по Проектам 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, время: 12:17.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.