Работа с представлениями

Механизм представлений является частью функциональности платформы, предназначенной для построения отчётов. Этот механизм предоставляет возможность получать произвольные выборки данных, описывая их структуру при помощи визуального редактора, и отображать полученные результаты в пользовательском интерфейсе Windows-клиента, с возможностью их форматирования (подсветки, группировки и так далее).

Можно выделить две основные задачи, которые разработчик на платформе может решать с использованием представлений:
  • Программное создание новых описаний представлений, которые затем будут доступны пользователям в интерфейсе Windows-клиента.

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

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

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

В свою очередь, каждое описание представления разделено на две логические части:
  • Описание (схема) данных — эта часть определяет, какие именно данные и каким способом необходимо выбрать из базы данных.

    Это описание в формате XML физически хранится в специальной системной карточке сохранённых представлений (SavedViewCard). При каждом изменении этой схемы происходит автоматическая генерация хранимых процедур в БД, которые предназначены для получения собственно данных (эти процедуры имеют имена dvview_get_data_ID-представления).

  • Описание форматирования — эта часть определяет, как именно полученные данные нужно показать в пользовательском интерфейсе (имена и порядок колонок, группировки, сортировки и т.д.).

    Это описание является частью другой системной карточки — Windows-клиента (NavigatorCard) и хранится в специальной её секции ViewSettings.

Такой принцип разграничения сущности данных от их визуализации потенциально позволяет реализовать и другие формы отображения для одних и тех же данных. К примеру, штатным способом данные представления можно просматривать в Windows-клиенте (и поэтому он хранит собственное описание форматирования данных), однако потенциально возможно реализовать другой клиент (например, для мобильных устройств), который будет отображать те же данные в другом формате (с учетом ограничений мобильных устройств).