29.07.2014, 17:02 | #1 |
Участник
|
Корректное наложение filter by selection
Добрый день.
Сразу скажу, что нижеописанное относится к Axapta 3.0. Как известно, при использовании "filter by selection" (правый клик по полю на grid'е -> фильтр) текущее значение поля интерпретируется как регулярное выражение, поэтому, если там есть специальные символы (*, " и т.п.), фильтр работает неожиданно/неправильно (т.к. выбранное значение обычно не зафильтровывается). Я вот попытался исправить это добавлением такого кода в SysSetupFormRun.task: Код: //ysch: Корректное наложение 'filter by selection': if (_p1 == #taskShortCutMenuFilter) { formDataSource = this.objectSet(); if (formDataSource && formDataSource.queryRun()) { formControl = this.selectedControl(); if (classidget(formControl) == classnum(formStringControl)) { formStringControl = formControl; if (formStringControl.dataField()) { formDataSource.filter(formStringControl.dataField(), queryvalue(formStringControl.valueStr())); return 1; } } } } Последний раз редактировалось Ярослав Щекин; 29.07.2014 в 17:20. |
|
|
|