Руководство разработчика

Поиск и сортировка в таблице отчета

По данным отчета можно осуществлять поиск и сортировку. Поиск можно осуществлять по данным всех столбцов в отчете или по конкретному столбцу. Для того чтобы задать возможность поиска данных определенному столбцу, в поле поиск объектного типа СТОЛБЕЦ_СХЕМЫ устанавливается значение ДА. Индикатором того, что у столбца установлена возможность поиска данных, является "невыпуклый" вид заголовка столбца.

Кроме того, можно задать столбец быстрого поиска. Быстрый поиск позволяет сразу найти и перейти к нужной записи отчета без вызова стандартного диалога поиска. Для того чтобы воспользоваться быстрым поиском, нужно начать печатать то, что нужно найти. В строке состояния отображается вводимая строка для поиска. При первом же совпадении набранной строки с данными в отчете курсор будет перемещен на нужную ячейку отчета с искомыми данными. Быстрый поиск осуществляется по всем нижестоящим ячейкам столбца быстрого поиска относительно текущей позиции курсора. Задать столбец быстрого поиска можно при помощи метода УСТ_СТОЛБЕЦ_ПОИСКА .

В отчетах можно производить сортировку столбцов по различным условиям: по данным столбцов или по значениям дополнительного атрибута сортировки, по убыванию или по возрастанию. Условия сортировки задаются в объектном типе СОРТ_СТОЛБЕЦ. Дополнительные атрибуты сортировки позволяют хранить дополнительные значения, по которым и будет осуществляться сортировка. Примером использования дополнительных атрибутов сортировки является случай, когда нужно отсортировать столбец со строковыми значениями, полученными неким преобразованием (например, каким-то специальным форматированием) из числовых значений. При использовании простой сортировки по данным столбца со строковыми данными будет произведена сортировка строк по алфавиту. Исходные числовые значения можно сохранить в дополнительном атрибуте и выполнять сортировку по этому атрибуту, а не по столбцу со строковым представлением.

Метод СОРТИРОВКА производит сортировку по данным указанного столбца. Для использования атрибутов сортировки необходимо сначала добавить дополнительный атрибут сортировки при помощи метода ДОБ_АТР_СОРТ, затем установить значение атрибуту методом УСТ_АТР_СОРТ, после чего применить метод СОРТИРОВКА.

Пример

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

  ФУНКЦИЯ Поиск_Сортировка(ЦЕЛОЕ: номер_стр)
    //установка возможности поиска
    ЕСЛИ УСТ_ИМЯ_СХЕМЫ("схема") ТО
      ПЕРЕМ СХЕМА: схема
      СЧИТАТЬ_СХЕМУ(схема)
      схема.столбцы[1].поиск = ДА
      схема.столбцы[2].поиск = ДА
      схема.столбцы[4].поиск = ДА
      УСТАНОВИТЬ_СХЕМУ(схема)
    КОНЕЦ_ЕСЛИ
    //установка столбца быстрого поиска
    УСТ_СТОЛБЕЦ_ПОИСКА("наим")
	//добавление атрибута сортировки
    ДОБ_АТР_СОРТ("атр_сорт", 0)
	//присваивание значения атрибуту сортировки
    УСТ_АТР_СОРТ(номер_стр, "атр_сорт", ЗНАЧЕНИЕ("цена", номер_стр))
	//установка параметров сортировки
    парам_сорт.столбцы[5].столбец = "атр_сорт"
    парам_сорт.столбцы[5].убыв = НЕТ
    СОРТИРОВКА(парам_сорт)
  КОНЕЦ_ФУНКЦИИ

См. также: