![]() |
#1 |
Участник
|
Вызов формы с заранее заданым фильтром.
Всем здравствуйте, у меня вопрос: где и как нужно создать query, чтобы форма открывалась с заранее заданым фильтром, ну скажем по одному полю?
Спасибо заранее. Последний раз редактировалось Dima_Dima; 27.02.2009 в 12:43. |
|
![]() |
#2 |
MCTS
|
только программинг. В ините датасорсов формы
|
|
|
За это сообщение автора поблагодарили: Dima_Dima (1). |
![]() |
#3 |
Участник
|
если это поле связи, то ничего программить не нужно. Читайте про DynaLink
|
|
|
За это сообщение автора поблагодарили: Dima_Dima (1). |
![]() |
#4 |
Аманд
|
Если форму добавить в избранное, затем по ней сделать фильтр, то открываться она будет с этим фильтром. Программировать ничего не нужно.
В избранном фильтр редактируется и перенастраивается. Тренинг Введение в AX 4.0 |
|
|
За это сообщение автора поблагодарили: mazzy (2), petr (2), Dima_Dima (1). |
![]() |
#5 |
Участник
|
С избранным понятно, на форуме уже как-то писали.
Но "Избранное" не всегда удобно и в итоге может превратиться в аналог Главного меню. Никто не делал доработку, чтобы фильтр по-умолчанию можно было отметить, например, галкой в настройках фильтра формы?
__________________
Ivanhoe as is.. |
|
![]() |
#6 |
MCITP
|
![]()
Вообще-то есть ещё свойство Index у источника данных!
![]()
__________________
Zhirenkov Vitaly |
|
![]() |
#7 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: ZVV (1). |
![]() |
#8 |
MCTS
|
Цитата:
Цитата:
Сообщение от ZVV
Вообще-то есть ещё свойство Index у источника данных! подумалось... а круто было бы, если датасорсы форм были в виде query (c фильтрами, сортировками) |
|
![]() |
#9 |
MCITP
|
![]()
упс.. виноват, был невнимателен...
__________________
Zhirenkov Vitaly |
|
![]() |
#10 |
Участник
|
|
|
![]() |
#11 |
Участник
|
В init() делаю так:
X++: Query query = new Query(); QueryBuildDataSource QBDS = query.addDataSource(tablenum(smmBusRelTable)); QueryBuildRange QBR = QBDS.addRange(fieldnum(smmBusRelTable, BusRelTypeId)); . . . super(); QBR.value(queryValue('BalaBala')); |
|
![]() |
#12 |
MCTS
|
Цитата:
Нужно именно программно.
dataSourceNo. Я бы использовал global::findOrCreateRange_W() вкупе с dataSourceTable() upd Цитата:
правильно? Или чего-то не усмотрел?
X++: super() findOrCreateRange_W(this.queryRun() ? this.queryRun().query().dataSourceTable(smmBusRelTable) : this.query().dataSourceTable(smmBusRelTable), fieldnum(smmBusRelTable, BusRelTypeId), queryValue('BalaBala')) Последний раз редактировалось Eldar9x; 27.02.2009 в 16:02. |
|
![]() |
#13 |
Участник
|
Цитата:
Сообщение от Dima_Dima
![]() В init() делаю так:
X++: Query query = new Query(); QueryBuildDataSource QBDS = query.addDataSource(tablenum(smmBusRelTable)); QueryBuildRange QBR = QBDS.addRange(fieldnum(smmBusRelTable, BusRelTypeId)); . . . super(); QBR.value(queryValue('BalaBala')); |
|
![]() |
#14 |
Аманд
|
Ладно, традиционный вопрос: для реализации какого процесса делается данная функциональность?
И это запрос будет действовать для всех пользователей? Кто будет работать со всеми данными? Может правами доступа сделать? |
|
![]() |
#15 |
Участник
|
Цитата:
абсолютно KeyUser |
|
![]() |
#16 |
Аманд
|
Тогда используйте RLS
Цитата:
для обычного в CRM-модуле.
![]() Вопрос к тому процессу, который объясняет, почему все работают с фильтром и только один видит ВСЕ строки? Если в CRM большой-большой начальник ведёт список подружек, то используйте предназначенный для таких случаев механизм - права доступа на уровне записей. Последний раз редактировалось Vals; 27.02.2009 в 21:09. |
|
![]() |
#17 |
Участник
|
|
|
![]() |
#18 |
Аманд
|
Record Level Security - Права доступа на уровне записи
|
|
![]() |
#19 |
Участник
|
|
|
![]() |
#20 |
Аманд
|
В RLS вам не надо программировать - просто настроить.
Если хотите - назовите этот процесс программированием ![]() И вообще, делайте так, как Вам советуют! |
|
Теги |
rls, программно, фильтр, форма |
|
|