| Документация

Отчеты

Отчеты. Общие положения.

CoGIS поддерживает встроенную возможность формирования отчетов по данным картографических сервисов в форматах .xlsx и .docx.

Для того, чтобы произвести настройку формирования отчета, необходимо:

  1. Создать соответствующий шаблон .xlsx или .docx.
  2. Добавить шаблон отчета к доступным для выбора шаблонам.
  3. Настроить отчет на вертикальной вкладке Отчеты .
  4. Настроить генерацию отчета на интерактивной карте.

Создание шаблона для отчета в формате .xlsx

Создайте шаблон отчета в формате .xlsx. Чтобы в определенную ячейку таблицы вставлялось определенное значение, укажите идентификатор вставляемого значения, пример ниже, см. Рисунок 394 .

Рисунок 394 - Пример созданного шаблона для отчета в формате .xlsx

В качестве значения можно использовать:

  1. значение макроса;
  2. значение определенного поля объекта картографического сервиса;
  3. значение параметра;
  4. статистическое значение.

Использование значения макроса

При использовании макроса в качестве вставляемого значения важно соблюдать регистр, пример ниже, см. Рисунок 395 .

Рисунок 395 - Пример вставки значения макроса

В качестве макросов могут быть использованы выражения, приведенные ниже, см. Таблица 5.

Таблица 5 – Макросы, которые могут быть использованы в шаблонах отчетов

Макрос Пример Описание
CurrentUser {CurrentUser} Имя авторизованного пользователя
CurrentUserFullName {CurrentUserFullName} Фамилия, Имя и Отчество авторизованного пользователя
CurrentUserEmail {CurrentUserEmail} Email текущего пользователя
CurrentDate {CurrentDate} Текущая дата
CurrentDate-1dCurrentDate+1d {CurrentDate-7d} {CurrentDate+2d} Текущая дата +/- несколько дней
CurrentDateTime {CurrentDateTime} Текущая дата и время
CurrentDateTime-1h CurrentDateTime+1h {CurrentDateTime-1h} {CurrentDateTime+2h} Текущая дата и время +/- несколько часов
CurrentYear {CurrentYear} Текущий год
CurrentMonth {CurrentMonth } Текущий месяц
CurrentQuarter {CurrentQuarter} Номер текущего квартала
Макрос Пример Описание
CentroidX CentroidY {__CentroidX} {__CentroidY} Добавляет координаты X и У по центроиду геометрии объекта точки/линии/полигона в системе координат слоя
CentroidX CentroidY {_CentroidX::DMS} {_CentroidY::DMS} Добавляет координату X или Y по центроиду геометрии объекта точки/линии/полигона в градусах/минутах/секундах в системе координат WGS-84
CentroidX CentroidY {_CentroidX::DD} {_CentroidY::DD} Добавляет координату X или Y по центроиду геометрии объекта точки/линии/полигона в десятичных градусах в системе координат WGS-84
CentroidX CentroidY {_CentroidX::F2} {_CentroidY::F2} Добавляет координату X или Y по центроиду геометрии объекта точки/линии/полигона в системе координат слоя и преобразует числовое значение (integer, double) в строковое представление (string ). Параметр ::F* , где звездочка — это количество знаков после запятой (округление).
CentroidX CentroidY {_CentroidX::F2:DMS} {_CentroidY::F2:DMS} Добавляет координату X или Y по центроиду геометрии объекта точки/линии/полигона в градусах/минутах/секундах в системе координат WGS-84 и преобразует числовое значение (integer, double) в строковое представление (string ). Параметр ::F* , где звездочка — это количество знаков после запятой (округление).
__Index {__Index } Номер строки в таблице

Использование значения поля объекта картографического сервиса

Чтобы вставить значение поля объекта картографического сервиса, в ячейке укажите соответствующий идентификатор вставляемого значения, который формируется в виде {Source1.Rows.Name} , где:

  1. Source1  название источника данных, определенного в настройках отчета, пример ниже, см. Рисунок 396 .
  2. Rows  параметр, определяющий, что будет вставлена строка значений, см. Рисунок 398 .
  3. Name  имя поля картографического сервиса, значение которого должно быть вставлено, Рисунок 398 .

Рисунок 396 – Источник данных в настройках отчета

Использование значения параметра

Кроме макроса и значения поля может быть вставлено значение параметра, определенного в настройках отчета. Подробнее о параметрах см. раздел Параметры , см. п. 7.8.5.3 . Чтобы в отчет вставлялось значение параметра, в ячейке укажите его название в фигурных скобках, см. Рисунок 397 и Рисунок 398 .

Рисунок 397 – Параметры в настройках отчета

Рисунок 398 – Вставка значения параметра в отчет

Использование статистических показателей

Форматирование ячеек в отчете будет соответствовать форматированию ячейки в шаблоне отчета.

Доступна вставка следующих статистических показателей:

  • Count – просто количество объектов в таблице,
  • Sum – сумма непустых значений для числовых и колонок,
  • Min/Max – минимальное и максимально значение для числовых колонок и для дат,
  • Ave – среднее значение для числовых колонок,
  • NotEmptyCount – количество непустых значений, для всех типов колонок,
  • DistinctCount – количество непустых уникальных по указанному полю значений, для всех типов колонок.

Для вставки статистического значения в ячейке укажите соответствующий идентификатор вставляемого статистического значения, который формируется в виде {Source1.Stat.Name.Fild}, где:

  1. Source1 - название источника данных, определенного в настройках отчета, см. Рисунок 396 .
  2. Stat - параметр, определяющий, что будет вставлен статистический показатель.
  3. Name - название вставляемого статистического показателя.
  4. Field - поле, по которому рассчитывается статистика.

Чтобы вставить значение поля объекта картографического сервиса, в ячейке укажите соответствующий идентификатор вставляемого значения, который формируется в виде {Source1.Rows.Name} , где:

  1. Source1 - название источника данных, определенного в настройках отчета, см. Рисунок 396 .
  2. Rows - параметр, определяющий, что будет вставлена строка значений.
  3. Name - имя поля картографического сервиса, значение которого должно быть вставлено.

Создание шаблона для отчета формата .docx

Для создания шаблона в формате .docx понадобится вкладка Разработчик , чтобы ее включить, откройте в MS Word раздел Файл/Параметры и в настройках ленты включите вкладку Разработчик , как показано ниже, см. Рисунок 399 и Рисунок 400 .

Рисунок 399 – Параметры. Включение вкладки Разработчик.

Рисунок 400 – Настройка ленты. Включение вкладки Разработчик.

Создайте шаблон отчета в формате .docx. В определенное место документа можно настроить вставку Значения . Для того, чтобы в определенное место документа вставлялось значение, на вкладке Разработчик в Режиме конструктора добавьте элемент управления содержимым. В свойствах элемента в поле Тег укажите идентификатор вставляемого значения, как показано ниже, см. Рисунок 401 .

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

Рисунок 401 – Элемент управления содержимым

Чтобы даты вставлялись в определенном формате, выберите элемент управления содержимым Выбор даты , в свойствах элемента управления содержимым выберите нужный формат, а в теге укажите название поля, из которого будет вставляться дата, как показано ниже, см. Рисунок 402 и Рисунок 403 .

Рисунок 402 – Элемент управления содержимым выбор даты

Рисунок 403 – Формат отображения даты

Также для форматирования даты можно определить ее формат следующим образом: {myfield:dd'.'MM'.'yyyy' 'HH':'mm}.

Если вставляемая строка слишком длинная, можно уменьшить количество символов, указав в квадратных скобках ее начало и конец, например {AdditionalData[0..20]}, см. Рисунок 404 .

Рисунок 404 – Пример сокращения вставляемого текста

Для форматирования и округления чисел можно указать количество знаков после запятой, а также русский или английский вариант разделителя (запятая или точка), например {MyField:ru:F4}, чтобы получить 4 знака после запятой и разделитель запятую.

Иногда в случае пустого значения необходимо вставить определенный текст, для этого укажите его в следующем виде:

{myfield=Не определено} или {MyField:ru:F4=Не задано}.

В качестве вставляемого значения может быть использовано:

  1. значение макроса
  2. значение определенного поля объекта картографического сервиса
  3. значение Параметра.

Использование значения макроса

При использовании макроса в качестве вставляемого значения важно соблюдать регистр, пример ниже, см. Рисунок 405 . В качестве макросов могут быть использованы выражения, приведенные ниже, см. Таблица 6.

Рисунок 405 - Пример вставки значения макроса

Таблица 6 – Макросы, которые могут быть использованы в шаблонах отчетов

Макрос Пример Описание
CurrentUser {CurrentUser} Имя авторизованного пользователя
CurrentUserFullName {CurrentUserFullName} Фамилия, Имя и Отчество авторизованного пользователя
CurrentUserEmail {CurrentUserEmail} Email текущего пользователя
CurrentDate {CurrentDate} Текущая дата
CurrentDateTime {CurrentDateTime} Текущая дата и время
CurrentYear {CurrentYear} Текущий год
CurrentMonth {CurrentMonth } Текущий месяц
CurrentQuarter {CurrentQuarter} Номер текущего квартала
CentroidX CentroidY {__CentroidX} {__CentroidY} Добавляет координаты X и У по центроиду геометрии объекта точки/линии/полигона в системе координат слоя
CentroidX CentroidY {_CentroidX::DMS} {_CentroidY::DMS} Добавляет координату X или Y по центроиду геометрии объекта точки/линии/полигона в градусах/минутах/секундах в системе координат WGS 84
Макрос Пример Описание
CentroidX CentroidY {_CentroidX::DD} {_CentroidY::DD} Добавляет координату X или Y по центроиду геометрии объекта точки/линии/полигона в десятичных градусах в системе координат WGS 84
CentroidX CentroidY {_CentroidX::F2} {_CentroidY::F2} Добавляет координату X или Y по центроиду геометрии объекта точки/линии/полигона в системе координат слоя и преобразует числовое значение (integer, double) в строковое представление (string ). Параметр ::F* , где звездочка — это количество знаков после запятой (округление).
CentroidX CentroidY {_CentroidX::F2:DMS} {_CentroidY::F2:DMS} Добавляет координату X или Y по центроиду геометрии объекта точки/линии/полигона в градусах/минутах/секундах в системе координат WGS 84 и преобразует числовое значение (integer, double) в строковое представление (string ). Параметр ::F* , где звездочка — это количество знаков после запятой (округление).
__Index {__Index } Номер строки в таблице

Использование значения поля объекта картографического сервиса

Чтобы вставить значение поля объекта картографического сервиса, в ячейке укажите соответствующий идентификатор вставляемого значения, который формируется в виде {Source1.Rows.Name} , где:

  1. Source1  название источника данных, определенного в настройках отчета.
  2. Rows  параметр, определяющий, что будет вставлена строка значений.
  3. Name  имя поля картографического сервиса, значение которого должно быть вставлено. Пример ниже, см. Рисунок 406 .

Рисунок 406 – Источник данных из слоя в настройках отчета

Использование значения параметра

Кроме макроса и значения поля, в отчет может быть вставлено значение параметра, определенного в настройках отчета. Подробнее о параметрах см. раздел Параметры , см. п. 7.8.5.3 . Чтобы в отчет вставлялось значение параметра, в теге укажите его название в фигурных скобках, как показано ниже, см. Рисунок 407 и Рисунок 408 .

Рисунок 407 – Параметры в настройках отчета

Рисунок 408 – Вставка значения параметра в отчет

Вставка QR-кода в отчет

CoGIS поддерживает возможность вставки QR-кода в отчет в формате Word. При генерации отчета формируется QR-код, который можно добавить к объекту, при этом возможно добавить несколько QR-кодов, пример ниже, см. Рисунок 409 .

Рисунок 409 - Пример сгенерированного отчета с добавленным QR-кодом

Чтобы сгенерировать QR-код, задайте следующие параметры:

  • QRSource - укажите имя источника, из которого нужно взять данные для QR-кода, пример ниже, см. Рисунок 410 .
  • QRProperty - укажите название, которое будет отображено в шаблоне отчета, пример ниже, см. Рисунок 411 .
  • QRTemplate – укажите, что нужно зашифровать при помощи QR-кода, для этого укажите нужные атрибуты из источника в квадратных скобках, например, [OBJECTID]_[name], пример ниже, см. Рисунок 412 .

Рисунок 410 – Пример настройки параметра QRSource

Рисунок 411 – Пример настройки параметра QRProperty

Рисунок 412 - Пример настройки параметра QRTemplate

Вставка таблицы в отчет

CoGIS поддерживает возможность вставки таблицы в отчет в формате Word. Создайте таблицу, в ячейке укажите идентификатор вставляемого значения аналогично вставке значений в текст. Если в данных есть несколько объектов, то для каждого объекта сформируется строка. Чтобы пронумеровать строки таблицы, в соответствующем столбце укажите идентификатор вставляемого значения, где в теге будет указано {__Index} .

Название источника данных и параметр Rows для таблицы можно указать в свойствах таблицы, где можно задать диапазон строк, который необходимо клонировать для каждого объекта из источника данных. Например, параметр вставляемого значения 3=Buildings.Rows означает, что третья по счету сверху строка в таблице будет клонироваться для каждой записи Rows источника данных Buildings и вставлена при генерации Word-отчетов, как показано ниже, см. Рисунок 413 . В этом случае в ячейках таблицы в идентификаторе вставляемого значения достаточно будет указать имя поля картографического сервиса, то есть вместо {Source1.Rows.Name} просто {Name} .

Рисунок 413 – Пример настройки свойств таблицы отчета

При генерации Word-отчетов поддерживается условная видимость таблицы в зависимости от какого-то условия, заданная в свойствах таблицы шаблона отчета .docx, при этом допустимы следующие варианты:

  • Чтобы скрыть пустую шапку таблицы, если для нее нет ни одной записи об объекте, дополнительно добавьте условие для исключения нулевых значений объектов в виде if = MyField, пример ниже, см. Рисунок 414 .

Рисунок 414 - Пример условной видимости свойства таблицы по условию исключения нулевых значений объектов

  • Возможно задать условия согласно логическому типу данных Boolean с вариантами true/false , при этом таблица будет видима при вариантах MyField = true или MyField = 1 , и наоборот при условии false таблица будет скрыта, пример ниже, см. Рисунок 415 . В случае если таблица невидима, вместо нее вставляется пустота.

Рисунок 415 - Пример условной видимости свойства таблицы с вариантом логического типа Boolean true

  • Видимость таблицы будет доступна при указании следующих условий:
    • условие if=Buildings.Rows.Count > 0 означает, что таблица будет видима, если количество объектов больше 0;
    • условие if=Buildings.Rows.Count означает, что таблица будет видима при простом значении expression не равным null, примеры ниже, см. Рисунок 416 ;

      Рисунок 416 - Примеры условной видимости таблицы от различных условий

    • условие if=Auditor.Rows означает, что таблица будет видима, если хотя бы один элемент из массива будет доступен, см. Рисунок 417 .

Рисунок 417 - Пример условной видимости таблицы для элемента массива

Вставка картографического материала в отчет

Для того, чтобы вставить в отчет картографический материал, в шаблоне отчета вставьте элемент управления содержимым Рисунок и в свойствах элемента в поле Тег укажите идентификатор вставляемого рисунка в виде {Territory.Image} , пример ниже, см. Рисунок 418 . Territory – это название источника картографического материала, а Image – параметр, указывающий, что будет вставлен рисунок. Для того, чтобы указать масштаб картографического материала, в поле Тег соответствующего элемента управления содержимым укажите {Territory.Scale} , где Territory – это, аналогично вставке рисунка, название источника картографического материала, а Scale – параметр, указывающий, что будет вставлен его масштаб.

Рисунок 418 – Добавление картографического материала в отчет

Вставка информации о вложениях в отчет

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

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

Свойство вложения Пример Описание
Image {Name} Вставка изображения (из вложений объекта)
PreviewImage {PreviewImage} Вставка предпросмотра изображения (из вложений объекта)
Name {Name} Наименование вложения
Size {Size} Размер вложения

В свойствах таблицы укажите, какие строки должны множиться для каждого объекта (n и m, см. Рисунок 419 ), источник (Source1, см. Рисунок 419 ), и какие строки должны множиться для каждого вложения объекта (k, см. Рисунок 419 ).

Рисунок 419 – Свойства таблицы для информации о вложениях

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

После создания шаблона отчета его нужно поместить в папку Шаблонов .

Это можно сделать двумя способами: через вкладку Управление файлами , см. 1.2.2 или загрузить непосредственно на вкладке отчета. При загрузке Шаблона на вкладке отчетов файл будет помещен в корневую папку с шаблонами. При обновлении шаблона, если имя файла будет отличаться от выбранного ранее Шаблона , то создастся новый файл отчета, а если имя файла совпадает с текущим, то файл обновится.

Если есть необходимость структурировать файлы отчетов по подпапкам, то перейдите в Управление файлами и в папку шаблонов отчетов добавьте соответствующую подпапку и соответствующий файл Шаблона . После этого добавленный шаблон станет доступен в выпадающем списке шаблонов на вкладке Отчеты , см. Рисунок 420 .

Рисунок 420 – Доступные шаблоны отчетов

Настройка отчета на вертикальной вкладке Отчеты

Чтобы настроить отчет, перейдите на вкладку Отчеты , добавьте отчет, задайте его название и выберите соответствующий шаблон. Настройте источники данных и параметры для формирования отчета, пример ниже, см. Рисунок 421 .

В поле Тип отчета выберите нужный тип из выпадающего списка: DOCX документ, XLSX документ.

В параметре Шаблон отчета выберите из выпадающего списка необходимый шаблон отчета в формате .docx и .xlsx, загруженные через вкладку Управление файлами , см. 1.2.2 или загрузите необходимый шаблон отчета.

Рисунок 421 - Пример настройки отчета во вкладке Отчеты

Для отчета в формате .xlsx источником данных может быть слой или таблица.

Для отчета в формате .docx источником данных может быть картографический материал или данные из слоя и таблицы.

В одном отчете может быть использовано несколько различных источников данных.

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

Сгенерированный отчет может быть сконвертирован из формата .docx в .pdf и выдан пользователю, для этого есть возможность вызова отдельной внешней консоли с помощью настройки Вызов внешнего процесса во вкладке Отчеты , пример ниже, см. Рисунок 422 . При этом запуск и рабочий процесс внешней консоли будет скрыт от пользователя и сохранение/удаление файлов выполняется в отдельной GUID-папке, которая после завершения процесса удаляется. После завершения процесса внешней консоли входной сгенерированный файл формата .docx подменяется на выходной сгенерированный файл отчета в формате .pdf с именем входного файла и выдается пользователю.

Рисунок 422 - Пример пользовательской настройки Вызов внешнего процесса для генерации отчета из формата .docx в .pdf, подписанный ЭЦП в Карточке объекта

Включите настройку Вызов внешнего процесса и задайте необходимые опции:

  • Путь до исполняемого файла – по умолчанию не задан, укажите путь хранения до исполняемого файла;
  • Параметры командной строки, чтобы через определение макросов передать:
    • текущую GUID-папку как {ReportFolder}
    • имя файла отчета без расширения файла как {ReportName}
    • выходной файл с расширением как {ReportExtFile}
  • Рабочая директория – по умолчанию не задана, укажите при необходимости путь хранения GUID-папки для использования внешнего процесса;
  • Максимальное время ожидание в секундах – по умолчанию не задано, то есть ограничения во времени нет. При необходимости укажите время в секундах.
  • Имя группы для последовательного вызова – укажите при необходимости имя группы, тогда при многопроцессорном запуске будет выстроена очередь из всех параллельных вызовов генерации отчетов для их последовательного запуска, но только для заданной группы. Например, генерация . pdf из . docx средствами LibreOffice , см. Рисунок 423 . По умолчанию группа не задана, тогда выстраивание в очередь не производится, при этом запуск будет произведен безотлагательно.

Рисунок 423 - Пример настройки опции Имя группы для последовательного вызова

Чтобы сгенерированный файл отчета .docx/.xlsx был выдан пользователю в формате .pdf, подписанном электронной цифровой подписью (ЭЦП) для верификации системы, например ЕСИА (Госуслуги), Росреестр для выписок ЕГРН и т. д., необходимо выполнить следующие настройки:

  1. Опция Сертификат - в настройках отчета по умолчанию указан как не выбран . Опционально выбираем из выпадающего списка технический сертификат, чтобы выдаваемый файл был готов для использования и имел открепляемую электронную цифровую подпись, подробнее см. п. 2.4.4. Сертификаты в документе Руководство администратора по установке и настройке CoGIS. В случае если задан технический сертификат, тогда к каждому сгенерированному исходному файлу отчета my.docx будет добавлен дополнительный файл .sig в байтах в виде my.docx.sig , сформированный хэшем и содержащий зашифрованный сертификат с электронной цифровой подписью, пример ниже, см. Рисунок 424 .

    Рисунок 424 - Пример сгенерированного файла отчета Отчёт по ОКС.xlsx и дополнительного файла с подписью Отчёт по ОКС.xlsx.sig

  2. В настройке Вызов внешнего процесса добавьте в опции Параметры дополнительные макросы по техническому сертификату с ЭЦП для сгенерированного файла отчета в формате .pdf, пример ниже, см. Рисунок 425 :
    • путь до файла с публичным ключом {PublicCertFile}
    • путь до файла с приватным ключом {PrivateCertFile}
    • пароль от приватного ключа {PrivateCertPassword}
    • для формирования QR-кода {QRTemplateForFile}.

Рисунок 425 - Пример настройки дополнительных макросов по техническому сертификату с ЭЦП для сгенерированного файла отчета в формате .pdf

В настройке Действия с отчетом включите опцию Прикрепить к текущему объекту, чтобы прикрепить только что сгенерированный файл отчета в форматах docx/xlsx/pdf сразу к текущему объекту в Карточке объекта , дополнительно убедитесь, что отчет строится к текущему объекту с заданным макросом {CurrentFeature}. Например, после запуска внешней консоли имя прикрепляемого файла .pdf наследуется из входного файла отчета, см. Рисунок 426 . Если в итоге во временной GUID-папке оказалось несколько файлов, то каждый из них прикрепляется к объекту. Если необходимо, чтобы отчет генерировался не к текущему объекту, отключите опцию Прикрепить к текущему объекту.

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

Рисунок 426 - Пример прикрепления сгенерированного отчета .pdf к текущему объекту в Карточке объекта

Если пользователь не получил сгенерированный файла отчета, отобразится сообщение Произошла ошибка при генерации отчета . Если выходных файлов отчета .docx/.xlsx/.pdf много, а также имеются дополнительные файлы с подписью .sig, тогда все файлы будут архивированы в файл .zip с именем входного сгенерированного файла отчета, который будет отправлен пользователю.

Если после вызова внешнего процесса в GUID-папке появились подпапки, тогда всё содержимое GUID-папки с подпапками будет архивировано в файл .zip, который будет отправлен пользователю.

Данные из слоя или таблицы

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

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

Рисунок 427 – Настройка источника данных из слоя или таблицы

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

Рисунок 428 – Настройка фильтров из параметров

Значения из какого поля должны вставляться в отчет, задается в самом шаблоне отчета.

Чтобы в отчете родительского объекта сформировать мини-отчет для дочернего объекта, тогда в опции Источники данных добавьте необходимый источник данных дочернего объекта и включите опцию Формировать дочерний отчет , и укажите необходимый шаблон отчета дочернего объекта к родительскому отчету, например, в отчете необходимо отобразить на карте более детальнее месторасположение дочернего объекта, пример ниже, см. Рисунок 429 .

При этом происходит вставка дочернего мини-отчета в родительский отчет, с определением всей гибкости в полноценный отчет:

  • вставка карты подразумевает поддержку опций в блоке Источника данных с типом Картографический материал;
  • вставка нескольких карт для каждого дочернего объекта;
  • вставка QR-кода для каждого дочернего объекта;
  • применяются макросы {CurrentFeature.myfield} для входных параметров дочернего отчета формируются по текущему объекту из слоя текущего источника данных;
  • для дочерних отчетов игнорируются дополнительные опции, см. п. 7.8.5.1 :
    • опция Вызов внешнего процесса;
    • опции Действия с отчетом и Сертификат;
    • опция Запускать асинхронно.

Рисунок 429 - Пример настройки формирования шаблона отчета для дочернего объекта в родительском отчете

Картографический материал

Имя источника используется в шаблоне отчета, поэтому лучше переопределить имя, заданное по умолчанию, на более информативное, например, задать имя по названию слоя.

Укажите сервис печати, с помощью которого будет формироваться картографический материал. Если в картографическом материале должна быть базовая карта, выберите ее в выпадающем списке. Для выбора доступны все базовые карты, как показано ниже, см. Рисунок 430 .

Рисунок 430 – Картографический материал. Выбор сервиса печати и подложки.

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

Рисунок 431 – Картографический материал. Определение источника данных.

Определите экстент, по которому будет формироваться картографический материал:

  1. Текущий из карты – при выборе этого варианта сформируется картографический материал с экстентом карты на момент формирования отчета. То есть в отчет попадет та область карты, которая отображается у пользователя.
  2. Из избранного – представляет собой вариант фиксированного экстента. Как добавить экстент в избранное, см. в разделе Список избранных экстентов и объектов , см. п. 7.5.11 .
  3. Рассчитать по данным – позволяет автоматически подбирать экстент в соответствии с изменением данных. Укажите сервис, слой и SQL-фильтр. Например, если экстент должен формироваться по границе объекта, по которому строится отчет, задайте фильтр ID={CurrentFeature.ID} . Пример ниже, см. Рисунок 432 .

Рисунок 432 – Пример настроек экстента по границе объекта

Укажите отступ в процентах, тогда в сформированный картографический материал будет добавлен отступ относительно определенного экстента. Если масштаб карты, соответствующий заданному экстенту, не попадет в диапазон указанных значений минимального и максимального масштаба, то картографический материал будет сформирован в пределах заданных ограничений. Например, при варианте экстента Текущий из карты у пользователя в момент формирования отчета выбран масштаб 1:500, а минимальный указанный масштаб 1:2000, в этом случае сформируется картографический материал на масштабе 1:2000. Если при расчете не важна точность подобранного масштаба, а надо получить целые числа, отметьте опцию Округлять масштаб . В результате масштаб для формирования картографического материала будет выбираться округленный, например 1000, а не 916.

Укажите ширину и высоту в миллиметрах, DPI, выберите шаблон для печати (для выбора доступны шаблоны сервиса печати). При необходимости задайте Название , Автора и Копирайт . Пример настроек приведен ниже, см. Рисунок 433 . Элементы шаблона и зарамочного оформления задаются аналогично элементам сервиса печати, и могут быть переопределены пользователем для формирования картографического материала. Подробнее см. раздел Шаблон печатной формы карты , см. п. 7.3.5 .

Рисунок 433 – Настройка формирования картографического материала

Параметры

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

Для настройки параметров отчета, см. Рисунок 434 , выполните следующие действия:

  1. Укажите имя параметра, которое будет использоваться для вставки в отчет или для настройки фильтров из параметров.
  2. Задайте название параметра – это подпись параметра, которая будет отображаться для пользователя при формировании отчета.

    Рисунок 434 – Настройка параметров отчета

  3. Определите тип параметра:
    1. Строка;
    2. Целое число;
    3. Дробное число;
    4. Да/Нет;
    5. Дата;
    6. Дата и время.
  4. Укажите Значение по умолчанию , обязательно ли задавать параметр для формирования отчета, допустим выбор нескольких значений, для описания параметра можно использовать HTML-код, описание будет видно пользователю. Подробнее о макросах, используемых для записи значений, которые автоматически будут заполнены при формировании отчета, см. п. 7.8.5.4 .
  5. Укажите справочник значений, если параметр является списком или если значение нужно выбирать из предустановленного списка. Эта настройка позволяет формировать список для выбора значений данного параметра. Список может задаваться:
    1. Вручную – для этого выберите Список и сформируйте список предустановленных значений, определяя значение параметра и подпись, которая будет выводиться. Например: 01- Январь; 02 – Февраль, и т. д.
    2. Из атрибута слоя – список атрибутивных полей слоя сервиса, добавленного на карту. Укажите картографический сервис и номер слоя. Укажите атрибутивное поле, содержащее код и название атрибутивного поля со значением. Укажите атрибутивное поле для сортировки, введите его название в поле Сортировка и в выпадающем списке выберите вариант.
    3. Из домена – список, формируемый на основе атрибутивного домена слоя сервиса. Укажите картографический сервис и номер слоя. Укажите атрибутивное поле, которое использует атрибутивный домен.
  6. Определите видимость параметров для пользователя, например, отключите, если в них используются константы и не предполагается их изменение пользователем.

Макросы, используемые в настройках параметров при формировании отчета

С помощью макросов CoGIS в отчет можно вставить отдельные значения атрибутов объектов карты, даты, данные текущего пользователя и т.д. Чтобы задать макрос, перейдите в настройку параметров отчета Параметры , нажмите , чтобы добавить параметр, и в поле Значение по умолчанию укажите параметры, которые будут использованы при формировании отчета, пример ниже, см. Рисунок 435 . Таблица макросов представлена ниже, см. Таблица 7 .

Рисунок 435 - Пример заданного макроса {CurrentDate} в опции Значение по умолчанию, при формировании отчета в указанном параметре добавит значение Tекущая дата

Таблица 7 - Макросы, используемые настройках параметра в опции Значение по умолчанию при формировании отчета

Макрос Пример Тип параметра Запись значения
CurrentUser {CurrentUser} Строка Имя авторизованного пользователя
CurrentUserLastName {CurrentUser.LastName} Строка Фамилия авторизованного пользователя
CurrentUserFullName {CurrentUserFullName} Строка Фамилия, Имя и Отчество авторизованного пользователя
CurrentUserEmail {CurrentUserEmail} Строка Email текущего пользователя
CurrentDate {CurrentDate} Строка Текущая дата
CurrentYear {CurrentYear} Строка Текущий год
CurrentMonth {CurrentMonth} Строка Текущий месяц
CurrentFeature.MyField {CurrentFeature.MyField::code} Строка Код домена/справочника значений
CurrentFeature.MyField {CurrentFeature.MyField::value} Строка Значение домена/справочника значений
CurrentFeature.MyField {CurrentFeature.MyField::F2} Число Преобразует числовое значение (integer, double) в строковое представление (string). Параметр ::F* , где звездочка — это количество знаков после запятой (округление).
CurrentFeature.MyField {CurrentFeature.MyField::dd.MM.yyyy} Дата/Время Форматирование даты

Настройка генерации отчета на интерактивной карте

Запустить генерацию отчета можно из карточки объекта или в окне виджета. Если отчет формируется по одному объекту, то параметром для формирования отчета будет являться идентификатор этого объекта.

Например, необходимо построить отчет по определенной территории и расположенным на ней объектам. Тогда можно настроить запуск генерации отчета из карточки объекта территории. Для этого создайте параметр, например, TerritoryID , значение по умолчанию укажите {CurrentFeature.ID} , где ID – это атрибутивное поле, значение которого будет являться входным параметром для построения отчета. Пример показан ниже, см. Рисунок 436 .

Рисунок 436 – Пример настройки параметра для формирования отчета из карточки объекта

Перейдите на вертикальную вкладку Шаблоны карточки объекта и в соответствующем шаблоне карточки объекта добавьте элемент Генерация отчета , укажите отчет и загрузите иконку для кнопки формирования отчета, как показано ниже, см. Рисунок 437 , подробнее см. п. 7.4.3.3.3 .

Рисунок 437 – Настройка кнопки формирования отчета в карточке объекта

Если отчет строится по нескольким объектам, то его формирование будет вызываться из окна виджета. Перейдите на вертикальную вкладку Статистика, виджеты и плагины , добавьте виджет и укажите его настройки, подробнее см. в разделе Статистика, виджеты и плагины , см. п. 7.7 . Добавьте блок Генерация отчета , задайте необходимые настройки и выберите отчет для формирования, см. Рисунок 438 .

Рисунок 438 – Настройка генерации отчета в окне виджета