Добавление отчетов

Отчёты — хранимые процедуры БД, которые могут использоваться для прямого обращения к БД, минуя объектную модель и средства безопасности Docsvision. Использования отчётов позволяет (в некоторых случаях) ускорить доступ к данным, получить сложную выборку данных, получить данные из сторонней базы данных или сервера и т.п.

Методы, предоставляемые отчетами, выполняются вне моделей безопасности Docsvision, поэтому программист должен самостоятельно обеспечить необходимые ограничения.

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

Ниже приведён код примера отчёта для Microsoft SQL и PostgreSQL, возвращающего список замещаемых сотрудников, для которых @EmployeeID указан заместителем в Справочнике сотрудников.

Версия для СУБД Microsoft SQL
BEGIN
 SELECT [RowID], [ParentRowID], [IsNotified]
 FROM  [dbo].[dvtable_{ED414CB4-B205-4BE4-A2FA-5C0D3347CEB3}] WITH(NOLOCK)
 WHERE [DeputyID] = @EmployeeID
END
Версия для СУБД PostgreSQL
$$
BEGIN
    RETURN query
    SELECT tDeputies."RowID", tDeputies."ParentRowID", tDeputies."IsNotified"::integer
    FROM  public."dvtable_{ed414cb4-b205-4be4-a2fa-5c0d3347ceb3}" tDeputies
    WHERE tDeputies."DeputyID" = val_EmployeeID;
END;
$$
LANGUAGE plpgsql volatile;
Чтобы добавить новый отчет в библиотеку карточек:
  1. Создайте файл отчета с хранимой процедурой (пример приведен выше) для Microsoft SQL и/или PostgreSQL (в зависимости от целевой СУБД).

    Файл(ы) нужно разместить в одном каталоге (или в подкаталоге) с файлом схемы библиотеки карточек.

  2. Откройте настройки библиотеки карточек (Edit  Library Properties).

  3. Перейдите на страницу настройки отчетов Reports.

    Страница настройки отчетов
    Рисунок 1. Страница настройки отчетов
Чтобы настроить основные параметры отчета:
  1. Нажмите кнопку Add в разделе Procedures. В список Procedures будет добавлена новая запись.

  2. В поле Alias введите псевдоним отчета, по которому данный отчет может быть вызван с помощью API Docsvision.

  3. В таблице Названия введите локализованные названия отчета.

    Пример настройки основных параметров отчета
    Рисунок 2. Пример настройки основных параметров отчета
Укажите SQL-файлы c разработанными хранимыми процедурами:
  1. На странице Reports откройте вкладку SQL files .

  2. Нажмите на кнопку Add на вкладке SQL files. В список Files будет добавлена новая запись.

  3. В поле SQL file выберите SQL-файл, содержащий хранимую процедуру. После добавления путь необходимо изменить на относительный (относительно файла схемы библиотеки карточек).

  4. В поле Server type выберите тип СУБД, для которой предназначен файл: Microsoft SQL или PostgreSQL.

    Типы СУБД Oracle и MySQL, представленные в списке, не поддерживаются системой Docsvision.

  5. Если требуется ограничить применение SQL-файла версией СУБД, укажите её в поле Server version.

    Если версия не указана, хранимая процедура может быть загружена в БД, работающую под управлением СУБД любой версии.

    Пример настройки файлов отчета
    Рисунок 3. Пример настройки файлов отчета
  6. Если требуется, добавьте аналогичным образом другие файлы отчетов.

  7. Если хранимая процедура принимает входящие параметры, настройте их на вкладке "Parameters":

    1. На странице Reports откройте вкладку Parameters.

    2. Нажмите на кнопку Add. В список Parameters будет добавлена новая запись.

    3. В поле Parameter name введите название параметра, принимаемого хранимой процедурой.

    4. Выберите тип параметра в списке Parameter type.

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

  8. Если хранимая процедура возвращает значения, настройте их на вкладке Report result.

    1. На странице Reports откройте вкладку Report result.

    2. Выберите формат возвращаемого значения:

      • Scalar result — если хранимая процедура возвращает единичное значение.

      • TableResult — если хранимая процедура возвращает набор значений.

    3. Для варианта Scalar result:

      1. Выберите тип возвращаемого значения в списке Data type.

      2. Настройте значения: Precision и Scale (только для полей с плавающей точкой), Size (максимальный размер), Nullable (может быть пустым).

      3. Нажмите кнопку Add. В таблицу Columns будет добавлена новая запись.

    4. Для варианта TableResult:

      1. Нажмите на кнопку Add на вкладке Report result. В таблицу Columns будет добавлена новая запись.

      2. Введите название колонки с возвращаемым значением в поле Name.

      3. Выберите тип возвращаемого значения в списке Data type.

      4. Настройте параметры: Precision и Scale, Size, Nullable.

      5. Если требуется, аналогичным образом настройте параметры других возвращаемых колонок.

        Пример настройки параметров возвращаемого значения
        Рисунок 5. Пример настройки параметров возвращаемого значения