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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.10.2009, 17:23   #1  
Silphidae is offline
Silphidae
Участник
 
96 / 15 (1) ++
Регистрация: 17.11.2008
Спасибо всем.
Пожалуй, буду использовать вариант через SalesLine.

Однако для образования хотелось бы узнать, есть ли способ насильно преобразовывать типы. И есть ли возможность писать like в qbds.
Старый 28.10.2009, 17:28   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от Silphidae Посмотреть сообщение
Спасибо всем.
Пожалуй, буду использовать вариант через SalesLine.

Однако для образования хотелось бы узнать, есть ли способ насильно преобразовывать типы. И есть ли возможность писать like в qbds.
вот пример вставки LIKE:
X++:
Query                   query = new Query();
    QueryBuildDataSource    qbds;
    str                                 itemLike = 'Ном';
    ;

    qbds = query.addDataSource(tablenum(InventTable));
    qbds.addRange(fieldNum(InventTable, ItemId)).value(strFmt('*%1*', itemLike));

    info(qbds.toString());
а про приобразование каких типов вы имеете ввиду?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: Silphidae (1).
Старый 28.10.2009, 18:01   #3  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
Thumbs down
Цитата:
Сообщение от Silphidae Посмотреть сообщение
Спасибо всем.
Пожалуй, буду использовать вариант через SalesLine.
Блеск...связываем транзакции через строки "черновика", которые можно и изменить, и вообще удалить
За это сообщение автора поблагодарили: mazzy (2).
Старый 28.10.2009, 18:40   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Silphidae Посмотреть сообщение
Пожалуй, буду использовать вариант через SalesLine
Ни в коем случае!!!!

Потому что Lemming правильно написал:
Цитата:
Сообщение от Lemming Посмотреть сообщение
...через строки "черновика", которые можно и изменить, и вообще удалить
Цитата:
Сообщение от Wamr Посмотреть сообщение
В качестве альтернативы можно через SalesLine
CustInvoiceJour -> SalesId
SalesLine -> InventTransId
InventTrans (InvoiceId)
Wamr, ну разве ж так можно?
"Кто соблазнит одного из малых сих, тому лучше было бы, если бы повесили ему жерновный камень на шею и бросили его в море"
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: Silphidae (1).
Старый 28.10.2009, 18:52   #5  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
Thumbs down
Цитата:
Сообщение от Wamr Посмотреть сообщение
2 Lemming
Какова задача, таково и решение
Цитата:
Сообщение от Wamr Посмотреть сообщение
CustInvoiceJour -> SalesId
SalesLine -> InventTransId
InventTrans (InvoiceId)
Более того, Вы представляете как будет тормозить такое решение на большом кол-ве заказов, инвойсов и складских операций? Вообще абсурд какой-то: стучаться из шапки инвойсов, в строки, через две таблы, наполненные немалым кол-вом данных! Лучше пусть тредстартер конкретизирует задачу, возможно он зашел к решению совсем не с той стороны.
За это сообщение автора поблагодарили: Silphidae (1).
Старый 29.10.2009, 11:01   #6  
Silphidae is offline
Silphidae
Участник
 
96 / 15 (1) ++
Регистрация: 17.11.2008
Цитата:
или вы про какое то другое преобразование?
В с++ были такие вещи как static_cast и dynamic_cast. Вот интересно, есть ли аналоги в х++.
Хотя, конечно, к данной теме это не относится.

Цитата:
Лучше пусть тредстартер конкретизирует задачу, возможно он зашел к решению совсем не с той стороны.
Вполне возможно.. Далается запрос CustInvoiceJour->CustInvoiceTrans->InventItemAndClass, в котором накладываются фильтры по клиентам, датам и узлам классификатора. Нужно еще вкорячить фильтр по складу. Проблема в том, что CustInvoiceTrans группируется по ItemId - и считает сумму по InventQty и LineAmount - тем самым InventDimId из CustInvoiceTrans уже не взять, вот я и хотел перед этим вставить InventTrans, чтобы там делать фильтр по складу.
Старый 29.10.2009, 11:30   #7  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Silphidae Посмотреть сообщение
Проблема в том, что CustInvoiceTrans группируется по ItemId - и считает сумму по InventQty и LineAmount.
Не понял, как наличие группировки может помешать добавить ограничение?
Цитата:
Сообщение от Silphidae Посмотреть сообщение
InventDimId из CustInvoiceTrans уже не взять
Это почему же?

Вот такая конструкция
X++:
select sum(InventQty), sum(LineAmount) from CustInvoiceTrans 
exists join InventDim
where
    InventDim.InventDimId == CustInvoiceTrans.InventDimId &&
    InventDim.InventLocationId == "..."
прекрасно справляется с вашей задачей
За это сообщение автора поблагодарили: Silphidae (1).
Старый 29.10.2009, 11:55   #8  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,821 / 402 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от Silphidae Посмотреть сообщение
Далается запрос CustInvoiceJour->CustInvoiceTrans->InventItemAndClass, в котором накладываются фильтры по клиентам, датам и узлам классификатора. Нужно еще вкорячить фильтр по складу. Проблема в том, что CustInvoiceTrans группируется по ItemId - и считает сумму по InventQty и LineAmount - тем самым InventDimId из CustInvoiceTrans уже не взять, вот я и хотел перед этим вставить InventTrans, чтобы там делать фильтр по складу.
все фильтры выполняюстя в запросе до того как происходит группировка
За это сообщение автора поблагодарили: Silphidae (1).
Старый 29.10.2009, 15:18   #9  
Silphidae is offline
Silphidae
Участник
 
96 / 15 (1) ++
Регистрация: 17.11.2008
Цитата:
все фильтры выполняюстя в запросе до того как происходит группировка
Я думал, что фильтры кладутся после группировки - поэтому и городил огород.

Спасибо за ответы. Прошу прощения за глупые вопросы.
Но вот если бы я не спросил, кто знает, когда бы я дошел до этого знания - так что не ругайте сильно.
Теги
связь таблиц

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
InventTransIdReturn и Закрытие склада DenisS DAX: Программирование 15 03.12.2008 09:02
Достаточно ли изменить дату в таблицах inventTrans, inventTransPosting, VendPackingSlipJour? DmitryS DAX: Программирование 3 18.09.2008 14:37
Как правильно достучаться из InventTrans до даты накладыной NJD DAX: Программирование 6 22.07.2005 20:52
Связь таблиц InventTrans и PurchLine Pustik DAX: Программирование 2 25.11.2004 12:23
Ошибка при связывании InventTrans и InventJournaTable LCh DAX: Программирование 2 30.05.2004 15:22

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

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

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