|
|
#1 |
|
----------------
|
Случайно наткнулся в какой-то форме на фильтр, где для фильтрации дат были указаны значения
(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). | |
|
|
#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). | |
|
|
#3 |
|
Участник
|
Еще одна приятная, но не совсем очевидная возможность расширенных фильтров. Их можно использовать в настройке RLS. Это позволяет во многих случаях значительно облегчить настройку доступа на уровне записей.
|
|
|
|
| За это сообщение автора поблагодарили: Starling (2), farlander (1). | |
|
|
#4 |
|
Участник
|
Фильтры на формах, RLS (например, тут обсуждалось), фильтры в правилах оповещений, фильтры для CUEs... мест много.
Для администратора / консультанта - удобно. Для русского пользователя - не очень К тому же в стандартном хелпе по фильтрации про них не написано.
__________________
Ivanhoe as is.. |
|
|
|
|
#5 |
|
Участник
|
Почему для русского пользователя неудобно ? Наименования латинскими буквами ?
Если не ошибаюсь, можно свои методы создавать с русскими буквами. Так что можно задублировать функции класса SysQueryRangeUtil с русскими названиями методов. |
|
|
|
|
#6 |
|
Участник
|
Цитата:
А про методы на русском можно подробнее?
__________________
Ivanhoe as is.. |
|
|
|
|
#7 |
|
Участник
|
Примерно так
X++: static void Job576(Args _args) { void () { ; info("тест"); } ; (); } |
|
|
|
| За это сообщение автора поблагодарили: lev (5). | |
|
|
#8 |
|
Участник
|
Цитата:
.
Последний раз редактировалось tricky; 10.06.2010 в 15:27. |
|
|
|
| За это сообщение автора поблагодарили: Logger (1). | |
|
|
#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). | |
|
|
#10 |
|
Участник
|
Интересная идея.
Только вот коды периодов даются в интерфейсе пользователем (непредсказуемо как он их обзовет), а использовать их придется в коде. Как бы эту идею прикрутить к стандартной форме фильтрации? |
|
|
|
|
#11 |
|
Участник
|
Цитата:
|
|
|
|
| За это сообщение автора поблагодарили: Ivanhoe (2). | |
|
|
#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 | |||
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|