Работа с фильтром в Rastr3 (выборка отфильтрованной информации)

После появления в интерфейсе таблиц Rastr3 быстрых фильтров (в Rastr2 фильтров нет) выборки немного уходят на второй план. И причин тут две:

  • пользователю намного удобнее работать с интерфейсом с помощью мышки и клавиатуры, задавая условия для быстрого фильтра, чем писать текстовую выборку, вспоминая названия столбцов
  • часто требуются очень простые махинации с таблицей (выбор отмеченных объектов, выбор определенного района, выбор названия подстанции или станции), и, конечно, выборка не может здесь конкурировать с быстрым фильтром

Но проблема быстрого фильтра в Rastr3 кроется в том, что сам по себе фильтр не связан с таблицей, а всего лишь служит для визуализации данных.

Для примера отфильтруем таблицу по напряжению

Быстрый фильтр таблицы

А теперь попробуем что-нибудь сделать с этой информацией. Попробуем экспортировать отфильтрованную таблицу

Экспорт таблицы

Но мы видим, что поле выборки пустое. Это значит, что таблица экспортируется полностью, а нам нужна только отфильтрованная часть таблицы.

Если попробовать групповую коррекцию, нас ждет та же участь

Групповая коррекция

Получается, что пользователь не сможет ничего сделать с отфильтрованной таблицей, пока не задаст выборку, под которую попадет отфильтрованная часть таблицы. Писать такую выборку непросто, а порой и невозможно, например, если быстрый фильтр применен к текстовым столбцам, то выборка не может работать со строками в текстовых столбцах.

Решение

А теперь рассмотрим, как можно получить доступ к отфильтрованной таблице. Для этого используем встроенный макрос, который отмечает выделенные строки в таблице. Макрос «Отметить выделенные» (физический файл otm_vid.rbs)  находится в папке contextmacro, и подключается к таблице через настройки форм либо через Настройки программы — Настройки — Контекстные макросы (context).

Порядок следующий:

  1. Выделяем все строки отфильтрованной таблицы, нажимая на левый верхний угол таблицы левой кнопкой мыши
  2. Выделение всех строк в таблице с фильтром

  3. Выбираем через меню правой клавиши мыши Макрос — []Отметить выделенные
  4. Макрос Отметить выделенные

  5. После работы макроса все выделенные строки отметятся и появится галочка в столбце О(sel)
  6. Отмеченные строки в столбце О(sel)

  7. Теперь доступ к отфильтрованной таблице можно получить через простую выборку sel

Давайте попробуем в отфильтрованной таблице поменять номер района на 111. Вызываем окно групповой коррекции

Групповая коррекция с выборкой sel

Обязательно прописываем выборку sel, которая означает все выделенные элементы в столбце sel (отмеченные)

И в итоге…

Измененный номер района в таблице

Таким способом можно получить доступ к любой отфильтрованной таблице, в которой есть столбец sel. В самых основных таблицах этот столбец есть (Узлы, Ветви), в остальные можно добавить такой столбец.

Важно помнить, что до применения макроса «Отметить выделенные» нужно в столбце sel (отмеченные) убрать все отметки, чтобы потом они не попали в выборку sel.

Всем приятной работы…

Оцените статью
В коробке инженера
Добавить комментарий

Нажимая на кнопку "Добавить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности