После появления в интерфейсе таблиц Rastr3 быстрых фильтров (в Rastr2 фильтров нет) выборки немного уходят на второй план. И причин тут две:
- пользователю намного удобнее работать с интерфейсом с помощью мышки и клавиатуры, задавая условия для быстрого фильтра, чем писать текстовую выборку, вспоминая названия столбцов
- часто требуются очень простые махинации с таблицей (выбор отмеченных объектов, выбор определенного района, выбор названия подстанции или станции), и, конечно, выборка не может здесь конкурировать с быстрым фильтром
Но проблема быстрого фильтра в Rastr3 кроется в том, что сам по себе фильтр не связан с таблицей, а всего лишь служит для визуализации данных.
Для примера отфильтруем таблицу по напряжению
А теперь попробуем что-нибудь сделать с этой информацией. Попробуем экспортировать отфильтрованную таблицу
Но мы видим, что поле выборки пустое. Это значит, что таблица экспортируется полностью, а нам нужна только отфильтрованная часть таблицы.
Если попробовать групповую коррекцию, нас ждет та же участь
Получается, что пользователь не сможет ничего сделать с отфильтрованной таблицей, пока не задаст выборку, под которую попадет отфильтрованная часть таблицы. Писать такую выборку непросто, а порой и невозможно, например, если быстрый фильтр применен к текстовым столбцам, то выборка не может работать со строками в текстовых столбцах.
Решение
А теперь рассмотрим, как можно получить доступ к отфильтрованной таблице. Для этого используем встроенный макрос, который отмечает выделенные строки в таблице. Макрос «Отметить выделенные» (физический файл otm_vid.rbs) находится в папке contextmacro, и подключается к таблице через настройки форм либо через Настройки программы — Настройки — Контекстные макросы (context).
Порядок следующий:
- Выделяем все строки отфильтрованной таблицы, нажимая на левый верхний угол таблицы левой кнопкой мыши
- Выбираем через меню правой клавиши мыши Макрос — []Отметить выделенные
- После работы макроса все выделенные строки отметятся и появится галочка в столбце О(sel)
- Теперь доступ к отфильтрованной таблице можно получить через простую выборку sel
Давайте попробуем в отфильтрованной таблице поменять номер района на 111. Вызываем окно групповой коррекции
Обязательно прописываем выборку sel, которая означает все выделенные элементы в столбце sel (отмеченные)
И в итоге…
Таким способом можно получить доступ к любой отфильтрованной таблице, в которой есть столбец sel. В самых основных таблицах этот столбец есть (Узлы, Ветви), в остальные можно добавить такой столбец.
Всем приятной работы…