- Описание платформы
- Руководство администратора по установке и настройке
-
Руководство по созданию картографических приложений
- Введение
- Основные принципы работы в Конструкторе
- Настройка Каталога карт
- Папка
- Страница
- Ссылка
- Картографическое приложение
-
Правила SOE
- Назначение
- Управление возможностями SOE
- Плагины. Общие сведения.
- Редактирование объектов. Плагин Редактирование.
- Плагин ограничения на просмотр данных картографического сервиса
- Отслеживание истории изменений объектов
- Загрузка и выгрузка данных
- Галерея изображений
- Подсчет количества объектов в слое
- Расширенный поиск объектов. Гибкий поиск и ближайшие объекты.
- Приложение А. Макросы, используемые в настройках
-
Руководство по публикации ГИС-сервисов
- Введение
- Начало работы в CoGIS Server Manager
-
Каталог сервисов
- Общие принципы
- Просмотр сведений о сервисе или папке
- Изменение статуса сервиса
- Обновление сервиса из файла
- Выгрузка файла сервиса
- Редактирование имени сервиса
- Получение JSON-описания и адреса REST API для выбранного сервиса
- Навигация по каталогу
- Добавление новой папки
- Удаление и копирование сервиса или папки
- Поиск по каталогу
- Публикация картографических сервисов
- Публикация сервисов геокодирования
- Публикация сервисов геообработки
- Публикация сервисов сетевого анализа
- Публикация картографических сервисов мозаики
-
Руководство по созданию картографических проектов
- Введение
- Настройки подключения к базе данных
- Свойства QGS-проекта
- Слои и таблицы
- Свойства слоя
-
Настройки переменных
- Отслеживание изменений (Edit Tracker)
- Кластеризация
- Подтипы
- Полумасштабозависимость
- Отношение многие-ко-многим (many-to-many)
- Статичные подписи
- Представление на основе SQL-запроса (SQL-based view)
- Термокарты
- Тепловые карты
- Псевдо 3D
- Номера слоев
- Обрезка карты по слою (MaskLayer)
- Символ ЛЭП
- Подмена источника для отображения
- Фильтр на слой с возможностью использования макросов
- Диаграммы 3D
- Сортировка объектов слоя по полю для выдачи в запросе
- Выключение слоя из картографического сервиса
- Отображение видимой области с учётом рельефа
- Подпись узлов геометрии
- Проверка фильтров на слой по регулярному выражению
- Создание сервиса геокодирования
- Вложения (Attachments)
- История изменений
- Автообновляемость тайлов
- Шаболоны печати на основе макетов QGIS (формат qpt)
- Руководство по работе в мобильных приложениях
- Руководство по установке и настройке SOE for ArcGIS
Отчеты
Отчеты. Общие положения.
CoGIS поддерживает встроенную возможность формирования отчетов по данным картографических сервисов в форматах .xlsx и .docx.
Для того, чтобы произвести настройку формирования отчета, необходимо:
- Создать соответствующий шаблон .xlsx или .docx.
- Добавить шаблон отчета к доступным для выбора шаблонам.
- Настроить отчет на вертикальной вкладке Отчеты .
- Настроить генерацию отчета на интерактивной карте.
Создание шаблона для отчета в формате .xlsx
Создайте шаблон отчета в формате .xlsx. Чтобы в определенную ячейку таблицы вставлялось определенное значение, укажите идентификатор вставляемого значения, пример ниже, см. Рисунок 394 .
Рисунок 394 - Пример созданного шаблона для отчета в формате .xlsx
В качестве значения можно использовать:
- значение макроса;
- значение определенного поля объекта картографического сервиса;
- значение параметра;
- статистическое значение.
Использование значения макроса
При использовании макроса в качестве вставляемого значения важно соблюдать регистр, пример ниже, см. Рисунок 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} , где:
- Source1 название источника данных, определенного в настройках отчета, пример ниже, см. Рисунок 396 .
- Rows параметр, определяющий, что будет вставлена строка значений, см. Рисунок 398 .
- Name имя поля картографического сервиса, значение которого должно быть вставлено, Рисунок 398 .
Рисунок 396 – Источник данных в настройках отчета
Использование значения параметра
Кроме макроса и значения поля может быть вставлено значение параметра, определенного в настройках отчета. Подробнее о параметрах см. раздел Параметры , см. п. 7.8.5.3 . Чтобы в отчет вставлялось значение параметра, в ячейке укажите его название в фигурных скобках, см. Рисунок 397 и Рисунок 398 .
Рисунок 397 – Параметры в настройках отчета
Рисунок 398 – Вставка значения параметра в отчет
Использование статистических показателей
Форматирование ячеек в отчете будет соответствовать форматированию ячейки в шаблоне отчета.
Доступна вставка следующих статистических показателей:
- Count – просто количество объектов в таблице,
- Sum – сумма непустых значений для числовых и колонок,
- Min/Max – минимальное и максимально значение для числовых колонок и для дат,
- Ave – среднее значение для числовых колонок,
- NotEmptyCount – количество непустых значений, для всех типов колонок,
- DistinctCount – количество непустых уникальных по указанному полю значений, для всех типов колонок.
Для вставки статистического значения в ячейке укажите соответствующий идентификатор вставляемого статистического значения, который формируется в виде {Source1.Stat.Name.Fild}, где:
- Source1 - название источника данных, определенного в настройках отчета, см. Рисунок 396 .
- Stat - параметр, определяющий, что будет вставлен статистический показатель.
- Name - название вставляемого статистического показателя.
- Field - поле, по которому рассчитывается статистика.
Чтобы вставить значение поля объекта картографического сервиса, в ячейке укажите соответствующий идентификатор вставляемого значения, который формируется в виде {Source1.Rows.Name} , где:
- Source1 - название источника данных, определенного в настройках отчета, см. Рисунок 396 .
- Rows - параметр, определяющий, что будет вставлена строка значений.
- 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=Не задано}.
В качестве вставляемого значения может быть использовано:
- значение макроса
- значение определенного поля объекта картографического сервиса
- значение Параметра.
Использование значения макроса
При использовании макроса в качестве вставляемого значения важно соблюдать регистр, пример ниже, см. Рисунок 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} , где:
- Source1 название источника данных, определенного в настройках отчета.
- Rows параметр, определяющий, что будет вставлена строка значений.
- 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, подписанном электронной цифровой подписью (ЭЦП) для верификации системы, например ЕСИА (Госуслуги), Росреестр для выписок ЕГРН и т. д., необходимо выполнить следующие настройки:
-
Опция
Сертификат
- в настройках отчета по умолчанию указан как
не выбран
. Опционально выбираем из выпадающего списка технический сертификат, чтобы выдаваемый файл был готов для использования и имел открепляемую электронную цифровую подпись, подробнее см.
п. 2.4.4. Сертификаты
в документе
Руководство администратора по установке и настройке
CoGIS.
В случае если задан технический сертификат, тогда к каждому сгенерированному исходному файлу отчета
my.docx
будет добавлен дополнительный файл .sig в байтах в виде
my.docx.sig
, сформированный хэшем и содержащий зашифрованный сертификат с электронной цифровой подписью, пример ниже, см.
Рисунок 424
.
Рисунок 424 - Пример сгенерированного файла отчета Отчёт по ОКС.xlsx и дополнительного файла с подписью Отчёт по ОКС.xlsx.sig
-
В настройке
Вызов внешнего процесса
добавьте в опции
Параметры
дополнительные макросы по техническому сертификату с ЭЦП для сгенерированного файла отчета в формате .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 – Картографический материал. Определение источника данных.
Определите экстент, по которому будет формироваться картографический материал:
- Текущий из карты – при выборе этого варианта сформируется картографический материал с экстентом карты на момент формирования отчета. То есть в отчет попадет та область карты, которая отображается у пользователя.
- Из избранного – представляет собой вариант фиксированного экстента. Как добавить экстент в избранное, см. в разделе Список избранных экстентов и объектов , см. п. 7.5.11 .
- Рассчитать по данным – позволяет автоматически подбирать экстент в соответствии с изменением данных. Укажите сервис, слой и SQL-фильтр. Например, если экстент должен формироваться по границе объекта, по которому строится отчет, задайте фильтр ID={CurrentFeature.ID} . Пример ниже, см. Рисунок 432 .
Рисунок 432 – Пример настроек экстента по границе объекта
Укажите отступ в процентах, тогда в сформированный картографический материал будет добавлен отступ относительно определенного экстента. Если масштаб карты, соответствующий заданному экстенту, не попадет в диапазон указанных значений минимального и максимального масштаба, то картографический материал будет сформирован в пределах заданных ограничений. Например, при варианте экстента Текущий из карты у пользователя в момент формирования отчета выбран масштаб 1:500, а минимальный указанный масштаб 1:2000, в этом случае сформируется картографический материал на масштабе 1:2000. Если при расчете не важна точность подобранного масштаба, а надо получить целые числа, отметьте опцию Округлять масштаб . В результате масштаб для формирования картографического материала будет выбираться округленный, например 1000, а не 916.
Укажите ширину и высоту в миллиметрах, DPI, выберите шаблон для печати (для выбора доступны шаблоны сервиса печати). При необходимости задайте Название , Автора и Копирайт . Пример настроек приведен ниже, см. Рисунок 433 . Элементы шаблона и зарамочного оформления задаются аналогично элементам сервиса печати, и могут быть переопределены пользователем для формирования картографического материала. Подробнее см. раздел Шаблон печатной формы карты , см. п. 7.3.5 .
Рисунок 433 – Настройка формирования картографического материала
Параметры
Параметры отчета используются для определения входящих параметров, при которых будет формироваться отчет, а также для добавления значения параметра в отчетную форму.
Для настройки параметров отчета, см. Рисунок 434 , выполните следующие действия:
- Укажите имя параметра, которое будет использоваться для вставки в отчет или для настройки фильтров из параметров.
-
Задайте название параметра – это подпись параметра, которая будет отображаться для пользователя при формировании отчета.
Рисунок 434 – Настройка параметров отчета
-
Определите тип параметра:
- Строка;
- Целое число;
- Дробное число;
- Да/Нет;
- Дата;
- Дата и время.
- Укажите Значение по умолчанию , обязательно ли задавать параметр для формирования отчета, допустим выбор нескольких значений, для описания параметра можно использовать HTML-код, описание будет видно пользователю. Подробнее о макросах, используемых для записи значений, которые автоматически будут заполнены при формировании отчета, см. п. 7.8.5.4 .
-
Укажите справочник значений, если параметр является списком или если значение нужно выбирать из предустановленного списка. Эта настройка позволяет формировать список для выбора значений данного параметра. Список может задаваться:
- Вручную – для этого выберите Список и сформируйте список предустановленных значений, определяя значение параметра и подпись, которая будет выводиться. Например: 01- Январь; 02 – Февраль, и т. д.
- Из атрибута слоя – список атрибутивных полей слоя сервиса, добавленного на карту. Укажите картографический сервис и номер слоя. Укажите атрибутивное поле, содержащее код и название атрибутивного поля со значением. Укажите атрибутивное поле для сортировки, введите его название в поле Сортировка и в выпадающем списке выберите вариант.
- Из домена – список, формируемый на основе атрибутивного домена слоя сервиса. Укажите картографический сервис и номер слоя. Укажите атрибутивное поле, которое использует атрибутивный домен.
- Определите видимость параметров для пользователя, например, отключите, если в них используются константы и не предполагается их изменение пользователем.
Макросы, используемые в настройках параметров при формировании отчета
С помощью макросов 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 – Настройка генерации отчета в окне виджета