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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.08.2015, 14:05   #1  
Art_Tanis is offline
Art_Tanis
Участник
 
225 / 36 (2) +++
Регистрация: 04.02.2014
Фильтрация на форме
Добрый день!
Есть форма InventNonconformanceTable
Хочу сделать таким образом чтобы по умолчанию при открытие формы производилась фильтрация по остаткам который на текущий момент есть в наличии.
Форма под собой содержить два datasource InventNonconformanceTable и InventDim с relation по inventDimId. В моем случае нужно сделать следующее проверять остатки в наличии(InventSum.AvailPhysical !=0) но не по InventDimId а по WMSpalletID и InventBatchId, так как паллета может сменить аналитики месторасположение и склад.

Попытался сделать так:
в метод init InventDim_DS дописал следующее:
X++:
qbdsfilter = this.query().dataSourceTable(tablenum(InventDim)).addDataSource(tableNum(InventDim),"InventDimInventSum");
    qbdsfilter.addLink(fieldNum(InventDim,wMSPalletId),fieldNum(InventDim,wMSPalletId));
    qbdsfilter.addLink(fieldNum(InventDim,InventBatchId),fieldNum(InventDim,InventBatchId));
    qbdsfilter.joinMode(JoinMode::ExistsJoin);

    qbdsfilter = this.query().dataSourceName("InventDimInventSum").addDataSource(tableNum(InventSum));
    qbdsfilter.joinMode(JoinMode::InnerJoin);
    qbdsfilter.addRange(fieldNum(InventSum, ClosedQty)).value(int2str(NoYes::No));
    qbdsfilter.addRange(fieldNum(InventSum, AvailPhysical)).value(strfmt("(%1 != %2)", fieldStr(InventSum, AvailPhysical), 0));
Подскажите ошибку?
Старый 07.08.2015, 14:32   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,436 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Пропущена связь между InventDimInventSum и InventSum?

И для чего так мудрёно? можно же проще
X++:
//qbdsfilter.addRange(fieldNum(InventSum, AvailPhysical)).value(strfmt("(%1 != %2)", fieldStr(InventSum, AvailPhysical), 0));
qbdsfilter.addRange(fieldNum(InventSum, AvailPhysical)).value(SysQuery::valueNot(0));

Последний раз редактировалось S.Kuskov; 07.08.2015 в 14:35.
За это сообщение автора поблагодарили: Art_Tanis (1).
Старый 07.08.2015, 15:01   #3  
Art_Tanis is offline
Art_Tanis
Участник
 
225 / 36 (2) +++
Регистрация: 04.02.2014
Спасибо больше) и ведь верно где же связь??
Имеющий глаза да увидит.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Не работает фильтрация по полю в форме с 2-мя датасорсами Vasiliusis DAX: Программирование 1 13.05.2014 12:39
Пользовательская фильтрация на форме Eldar9x DAX: Программирование 1 09.08.2013 14:54
Как правильно связать таблицы в форме? Как показать параметры партии? mazzy DAX: Программирование 10 27.10.2010 15:56
Фильтрация на форме "Журнал" Valery DAX: Функционал 16 02.09.2005 10:39
Фильтрация в Lookup-форме Rem DAX: Программирование 5 27.04.2002 08:27

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

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

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