25.11.2009, 12:42 | #1 |
----------------
|
AX2009 расширеный фильтр
Случайно наткнулся в какой-то форме на фильтр, где для фильтрации дат были указаны значения
(greaterThanDate(0)) (lessThanDate(1)) оказывается в AX2009 появились новые возможности фильтрации с помощью методов класса SysQueryRangeUtil теперь без программирования можно легко сделать фильтр на createdby == (currentUserId()) |
|
|
За это сообщение автора поблагодарили: mazzy (2), glibs (5), EVGL (5), Logger (3), gefr (1), petr (4), Atar (1), farlander (1), Stainless (1), S.Kuskov (2), Dzha (1), Cardagant (2). |
21.05.2010, 17:00 | #2 |
Участник
|
Самое интересное, что класс SysQueryRangeUtil доступен для редактирование. Можно создавать свои методы, которые потом использовать в фильтрах. Метод должен быть статическим и возвращать строку с критерием для запроса. Например:
X++: public static str test() { return "101-0032, 101-0324"; } Последний раз редактировалось Peter Savintsev; 21.05.2010 в 17:02. |
|
|
За это сообщение автора поблагодарили: Logger (4), johny77 (1), S.Kuskov (2), Cardagant (2). |
10.06.2010, 11:43 | #3 |
Участник
|
Еще одна приятная, но не совсем очевидная возможность расширенных фильтров. Их можно использовать в настройке RLS. Это позволяет во многих случаях значительно облегчить настройку доступа на уровне записей.
|
|
|
За это сообщение автора поблагодарили: Starling (2), farlander (1). |
10.06.2010, 11:54 | #4 |
Участник
|
Фильтры на формах, RLS (например, тут обсуждалось), фильтры в правилах оповещений, фильтры для CUEs... мест много.
Для администратора / консультанта - удобно. Для русского пользователя - не очень К тому же в стандартном хелпе по фильтрации про них не написано.
__________________
Ivanhoe as is.. |
|
10.06.2010, 12:21 | #5 |
Участник
|
Почему для русского пользователя неудобно ? Наименования латинскими буквами ?
Если не ошибаюсь, можно свои методы создавать с русскими буквами. Так что можно задублировать функции класса SysQueryRangeUtil с русскими названиями методов. |
|
10.06.2010, 13:29 | #6 |
Участник
|
Цитата:
А про методы на русском можно подробнее?
__________________
Ivanhoe as is.. |
|
10.06.2010, 14:44 | #7 |
Участник
|
Примерно так
X++: static void Job576(Args _args) { void () { ; info("тест"); } ; (); } |
|
|
За это сообщение автора поблагодарили: lev (5). |
10.06.2010, 15:25 | #8 |
Участник
|
Такой подход работал в "тройке", но в "пятёрке" не прокатывает .
Последний раз редактировалось tricky; 10.06.2010 в 15:27. |
|
|
За это сообщение автора поблагодарили: Logger (1). |
17.12.2010, 00:50 | #9 |
Участник
|
Интервалы дат - везде и всюду
В ходе обсуждения на буржуйском форуме возникла идея, как с помощью класса SysQueryRangeUtil прикрутить использование интервалов дат (Главная книга/Настройки/Периоды/Интервалы дат) к любому запросу и любому пакетнику/отчету, который позволяет редактировать запрос. Можно создать новый метод этого класса наподобие:
X++: public static str datePeriod(DateCode _periodCode, TransDate _basis = systemdateget()) { LedgerPeriodCode ledgerPeriodCode; str ret; ; ledgerPeriodCode = LedgerPeriodCode::find(_periodCode); if (ledgerPeriodCode) { ret = SysQuery::range(ledgerPeriodCode.fromDate(_basis), ledgerPeriodCode.toDate(_basis)); } return ret; } Код: ((datePeriod('CYTD'))) Код: ((datePeriod('Q3'))) |
|
|
За это сообщение автора поблагодарили: Vadik (1), Logger (5), Raven Melancholic (1). |
18.12.2010, 15:32 | #10 |
Участник
|
Интересная идея.
Только вот коды периодов даются в интерфейсе пользователем (непредсказуемо как он их обзовет), а использовать их придется в коде. Как бы эту идею прикрутить к стандартной форме фильтрации? |
|
18.12.2010, 16:41 | #11 |
Участник
|
Цитата:
|
|
|
За это сообщение автора поблагодарили: Ivanhoe (2). |
18.12.2010, 17:27 | #12 |
Участник
|
Согласен, хорошая идея. Раньше приходилось программировать отдельное поле для указания периода в периодической операции.
__________________
Ivanhoe as is.. |
|
Теги |
ax2009, rls, sysqueryrangeutil, расширенный фильтр, фильтр, что нового, запрос (query) |
|
Похожие темы | ||||
Тема | Ответов | |||
Khue Trinh: Fill Utility in AX2009 | 0 | |||
ax2009 & SSRS | 6 | |||
ERP-BLOG: Axapta, фильтр по сетке | 26 | |||
Исполнить сформированный фильтр | 14 | |||
Программируемый фильтр по Grid | 6 |
|