Тема: Фильтры
Показать сообщение отдельно
Старый 29.09.2010, 10:56   #5  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Post
Цитата:
Сообщение от kashperuk Посмотреть сообщение
А, да. Все верно.
Фильтр вы наложили из кода. И на Query источника.

Кнопка убирания фильтрации появляется только при наличии пользовательских фильтров. Которых у вас нет. Соответственно, она не активна.

А вот что делать, если это требуется, подумаем

Несмотря на то, что данная тема была добавлена достаточно давно, пришлось потратить несколько часов на корректное решение задачки с удалением фильтров, установленных программно, стандартной кнопкой панели инструментов. Надеюсь, данное решение окажется кому-то полезным.
Очень пригодился материал: http://kashperuk.blogspot.com/2010/0...-research.html. Особенно раздел formDataSource.queryRun().query() vs formDataSource.query() данной статьи.

Таким образом, данная задача решается добавлением следующих строк кода в методы executeQuery() датасоурса формы и метод run() самой формы:
X++:
public void executeQuery()
{
if(this.queryRun())
{
super();
}
else
{
super();
this.queryRun().query().dataSourceTable(tableNum(MyTable)).clearRanges();
this.queryRun().query().dataSourceTable(tableNum(MyTable)).addRange(fieldNum(MyTable, MyField)).value(RangeValue);
}
}
X++:
public void run()
{
super();
MyTable_ds.research();
}
В результате при запуске формы будут установлены программные фильтры, которые в случае необходимости могут быть удалены кнопкой "Удалить фильтры", расположенной на панели инструментов.
__________________
С уважением, Александр.

Последний раз редактировалось samolalex; 29.09.2010 в 11:06.