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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.11.2024, 17:22   #1  
AxeUser is offline
AxeUser
Участник
 
10 / 15 (1) ++
Регистрация: 26.11.2021
Как зафиксировать структуру запроса в SysQueryForm?
Добрый день
Есть диалог. В нем при инициализации строится запрос, передаваемый в QueryRun. В запросе описано некоторое количество фильтров, значения которых пользователь может инициализировать в интерфейсе SysQueryForm.
Вопрос: можно ли как то зафиксировать структуру запроса, то есть запретить пользователю менять структуру запроса, к примеру добавлять линки и фильтры, оставляя возможность только работать с предопределенными фильтрами?
Старый 25.11.2024, 17:46   #2  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
305 / 873 (30) +++++++
Регистрация: 23.10.2012
Здравствуйте
SysQuery::addLockRange_RU - это ищите?
Старый 25.11.2024, 18:06   #3  
AxeUser is offline
AxeUser
Участник
 
10 / 15 (1) ++
Регистрация: 26.11.2021
X++:
static QueryBuildRange addLockRange_RU(QueryBuildDataSource _queryBuildDataSource,
                                       FieldId              _fieldId,
                                       str                  _value,
                                       boolean              _clear = false)
{
    QueryBuildRange queryBuildRange;

    if (_queryBuildDataSource && _fieldId)
    {
        if (_clear && _queryBuildDataSource.findRange(_fieldId))
        {
            _queryBuildDataSource.clearRange(_fieldId);
        }

        queryBuildRange = _queryBuildDataSource.addRange(_fieldId);
        queryBuildRange.value(_value);
        queryBuildRange.status(RangeStatus::Locked);
    }

    return queryBuildRange;
}
судя по коду тут присваивается значение фильтру и блокируется его изменение. То есть значение фильтра определяется где то и им заменяется текущее значение. Мне же нужно что бы пользователь не мог менять структуру запроса, а значения фильтов, которые я для него настроил, менять мог используя интерфейс SysQueryForm.

Последний раз редактировалось AxeUser; 25.11.2024 в 18:12.
Старый 26.11.2024, 08:23   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Можно скрыть запрос от пользователя перекрыв метод showQueryValues
Старый 26.11.2024, 09:38   #5  
AxeUser is offline
AxeUser
Участник
 
10 / 15 (1) ++
Регистрация: 26.11.2021
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Можно скрыть запрос от пользователя перекрыв метод showQueryValues
я же писал.. пользователь должен иметь возможность работать с интерфейсом настройки запроса SysQueryForm, но ограничить его работу только возможностью менять значения предустановленных фильтров.
Старый 26.11.2024, 14:20   #6  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Вообще, когда перечень ограничений жёстко предопределён - действительно кмк проще убрать с диалога вызов SysQueryForm и добавить поля критериев. А потом уже обновлять QueryRun на основе введённых введённых в эти поля значений.
__________________
С уважением,
Вячеслав
За это сообщение автора поблагодарили: Товарищ ♂uatr (4).
Старый 28.11.2024, 00:21   #7  
AxeUser is offline
AxeUser
Участник
 
10 / 15 (1) ++
Регистрация: 26.11.2021
если кому интересно, нашел таки, все оказалось просто
QueryRun диалога наследовал от SysQueryRun
и инициализировал его
X++:
    queryRun.promptLoadLastUsedQuery(false);
    queryRun.promptAllowSave(false);
    queryRun.promptShowSorting(false);
    queryRun.promptSaveQueryPrUser(false);
    queryRun.promptAllowAddDataSource(false);
    queryRun.promptAllowAddRange(QueryAllowAdd::NoFields);
Результат на форме SySQueryForm для пользователя остались доступны только настроенные фильтры. Что и хотелось.
За это сообщение автора поблагодарили: S.Kuskov (5).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка расширенного диапазона запроса Vlad_ DAX: Программирование 17 31.01.2020 18:22
Где хранятся параметры "используемого запроса"? at5454 DAX: Программирование 1 16.07.2014 17:29
Всегда ли правильно работает queryrun().query().dataSourceCount() при присоединении пользователем таблиц в настройках стандартного запроса? Aquarius DAX: Программирование 5 26.09.2013 09:52
Изменить план выполнения запроса Sequel DAX: Администрирование 2 29.05.2008 15:46
Пользовательский генератор строк-перечислений...- 2: Доп.вкладка для SysQueryForm Gustav DAX: База знаний и проекты 1 04.05.2007 18:04

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

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

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