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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.04.2011, 09:38   #1  
breakpoint is offline
breakpoint
Участник
 
77 / 10 (1) +
Регистрация: 05.03.2008
Фильтр по журналам с пустыми строками
Всем привет!
Можно ли сделать фильтр который отображает в форме только те журналы у которых имеются строки?
За это сообщение автора поблагодарили: ice (-2), S.Kuskov (2).
Старый 06.04.2011, 09:39   #2  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,738 / 404 (17) +++++++
Регистрация: 23.03.2006
конечно можно
За это сообщение автора поблагодарили: S.Kuskov (-1), breakpoint (-1), kornix (0).
Старый 06.04.2011, 10:01   #3  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Да, используйте exists join
Старый 06.04.2011, 10:03   #4  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
В складских журналах, к примеру, добавьте в расширенном фильтре к Таблице складского журнала через отношение 1:n Строки складских журналов - у вас покажутся только те журналы, у которых есть строки.

Фактически, происходит соединение по ExistsJoin
__________________
Axapta v.3.0 sp5 kr2
Старый 06.04.2011, 10:06   #5  
breakpoint is offline
breakpoint
Участник
 
77 / 10 (1) +
Регистрация: 05.03.2008
первое что попробовал, у меня на строках фильтр свой ставится...
Старый 06.04.2011, 10:47   #6  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от breakpoint Посмотреть сообщение
первое что попробовал, у меня на строках фильтр свой ставится...
Поясните мысль? AndyD все правильно написал. Или речь не про стандартные складские журналы?
__________________
Ivanhoe as is..
Старый 06.04.2011, 11:15   #7  
breakpoint is offline
breakpoint
Участник
 
77 / 10 (1) +
Регистрация: 05.03.2008
Задача такая: отфильтровать строки складского журнала по определенному условию и если в рез-те у какого-нибудь журнала не окажется строк, то не показывать его. Вроде все просто, но почему то не работает. Exist join пробовал, релейшена м/у InventJournalTrans и InventjournalTable не было - создал, все равно не работает. В чем еще может быть проблема?
Старый 06.04.2011, 11:38   #8  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от breakpoint Посмотреть сообщение
Задача такая: отфильтровать строки складского журнала по определенному условию и если в рез-те у какого-нибудь журнала не окажется строк, то не показывать его.
Задача типовая. Никаких подводных камней быть не должно. Если всё правильно делаете, то должно работать.

И ещё. Что заначит "не работает"? Показывает лишние? или не показывет нужные?
Может у вас мусор какой-нибудь в строках журнала? Т.е. строки есть, просто на форме не отображаются (например нет связи со складской аналитикой)

Цитата:
Сообщение от breakpoint Посмотреть сообщение
релейшена м/у InventJournalTrans и InventjournalTable не было
Релейшен не обязательно должен быть указан на таблице, он может быть указан в расширенном типе данных вторичного ключа
Старый 06.04.2011, 12:12   #9  
breakpoint is offline
breakpoint
Участник
 
77 / 10 (1) +
Регистрация: 05.03.2008
кстати, шапка фильтруется правильно, а в строках пусто
Старый 06.04.2011, 12:22   #10  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
А у вас оба грида (по журналам и строкам) на одной форме?

Если так, то вам надо добавить на форму еще один датасорс InventJournalTrans, его связать по ExistJoin с InventJournalTable и на него накладнывать нужные фильтры

А для первого InventJournalTrans надо восстановить старую связь - он для отображения строк из выбранного журнала
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: breakpoint (1).
Старый 06.04.2011, 12:38   #11  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
breakpoint, вы пытаетесь настроить стандартный фильтр (Ctrl+F3) через пользовательский интерфейс или хотите запрограммировать его в коде?
Если второе, то
Цитата:
Сообщение от AndyD Посмотреть сообщение
вам надо добавить на форму еще один датасорс InventJournalTrans, его связать по ExistJoin с InventJournalTable и на него накладнывать нужные фильтры
Только ещё замечу, что этот вспомогательный DataSource не обязательно явно добалять в источники данных формы. Его можно добавить программно непосредственно в методе init() фильтруемого DataSource.
За это сообщение автора поблагодарили: breakpoint (1).
Старый 06.04.2011, 13:15   #12  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
В шапке складского журнала есть поле Строки (NumOfLines) на закладке История. Фильтруйте просто по этому полю.
Старый 06.04.2011, 13:20   #13  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,738 / 404 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от _scorp_ Посмотреть сообщение
В шапке складского журнала есть поле Строки (NumOfLines) на закладке История. Фильтруйте просто по этому полю.
оно может содержать неверную информацию, т.к. не все его могут правильно заполнить
Старый 06.04.2011, 13:40   #14  
breakpoint is offline
breakpoint
Участник
 
77 / 10 (1) +
Регистрация: 05.03.2008
Цитата:
Сообщение от AndyD Посмотреть сообщение
А у вас оба грида (по журналам и строкам) на одной форме?

Если так, то вам надо добавить на форму еще один датасорс InventJournalTrans, его связать по ExistJoin с InventJournalTable и на него накладнывать нужные фильтры

А для первого InventJournalTrans надо восстановить старую связь - он для отображения строк из выбранного журнала
В целом, абсолютно правильная идея, спасибо!
Только еще пришлось добавить фильтр который применяется к первому датасорсу и на второй датасорс (который для отображения), чтобы отображались не все строки которые есть в журнале.
Старый 07.04.2011, 09:35   #15  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Я вот что подумал. Если у вас оба грида и оба источника данных шапок журнала и строк журнала находятся на одной форме, то тогда нет необходимости задействовать дополнительный датасорс. Нужно просто связать отображаемые строки с шапками связью не Existjoin а InnerJoin и задать необходимый фильтр на строки. Всё.
Старый 07.04.2011, 10:22   #16  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Тогда кол-во отображаемых журналов будет равно кол-ву строк, а в нижнем гриде будет видна одна строка
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: S.Kuskov (2).
Старый 07.04.2011, 10:34   #17  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от AndyD Посмотреть сообщение
Тогда кол-во отображаемых журналов будет равно кол-ву строк, а в нижнем гриде будет видна одна строка
Да. Вы правы. Это я что-то напутал. Нет в аксапте такого типа связи, чтобы реализовать задуманное без дополнительных датасурсов. А было бы не полхо иметь такой тип связи, согласитесь
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как программно снять "фильтр по выделению" GR-VI DAX: Программирование 7 11.08.2010 10:11
ERP-BLOG: Axapta, фильтр по сетке Blog bot DAX Blogs 26 05.02.2009 15:56
Исполнить сформированный фильтр radya DAX: Программирование 14 26.07.2007 20:47
Сложный фильтр складских журналов Perc DAX: Программирование 13 31.08.2005 12:42
Иногда не работает фильтр chel DAX: Функционал 0 09.10.2004 19:08
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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