-
Описание платформы
- Общие сведения о CoGIS
- Компоненты и функциональные возможности платформы
- Возможности интеграции
- Технологии
- Импортонезависимость
- Полезные ссылки
- О разработчике
- Приложение А – CoGIS как корпоративная ГИС – Система для использования маркшейдерами и геологами нефтедобывающих предприятий
- Приложение Б – CoGIS как региональная ГИС – Единая картографическая система Ямало-Ненецкого автономного округа (ЕКС ЯНАО)
- Приложение В – CoGIS как муниципальная ГИС – Муниципальный портал «Мой Новосибирск»
- Приложение Г – CoGIS как муниципальная или региональная ГИС – Портал «Терраскоп»
- Руководство администратора по установке и настройке
-
Руководство по созданию картографических приложений
- Введение
- Основные принципы работы в Конструкторе
- Настройка Каталога карт
- Папка
- Страница
- Ссылка
- Картографическое приложение
-
Правила SOE
- Назначение
- Управление возможностями SOE
- Плагины. Общие сведения.
- Редактирование объектов. Плагин Редактирование.
- Плагин ограничения на просмотр данных картографического сервиса
- Отслеживание истории изменений объектов
- Загрузка и выгрузка данных
- Галерея изображений
- Подсчет количества объектов в слое
- Расширенный поиск объектов. Гибкий поиск и ближайшие объекты.
- Запуск задач по расписанию
- Приложение А - Макросы, используемые в настройках
-
Руководство по публикации ГИС-сервисов
- Введение
- Начало работы в CoGIS Server Manager
-
Каталог сервисов
- Общие принципы
- Просмотр сведений о сервисе или папке
- Изменение статуса сервиса
- Панель инструментов – Скачать, Обновить из файла, Переименовать
- Получение описания и адреса REST API для выбранного сервиса
- Навигация по Каталогу
- Добавление новой папки
- Удаление и копирование сервиса или папки
- Поиск по Каталогу
- Фильтрация в Каталоге
- Настройка прав доступа к папкам
- Настройки папки
- Публикация картографических сервисов
- Публикация сервисов изображений
- Публикация сервисов высот
- Публикация картографических сервисов мозаики
- Публикация сервисов с 3D тайлами
- Публикация сервисов геокодирования
- Публикация сервисов геообработки
- Публикация сервисов сетевого анализа
- Геометрический сервис
- Приложение А – Перечень готовых инструментов геообработки в CoGIS Server
-
Руководство по созданию картографических проектов
- Введение
- Настройки подключения к базе данных
- Свойства QGS-проекта
- Слои и таблицы
- Свойства слоя
-
Настройки переменных
- Отслеживание изменений (Edit Tracker)
- Кластеризация
- Подтипы
- Полумасштабозависимость
- Отношение «многие-ко-многим»
- Статичные подписи
- Представление на основе SQL-запроса (SQL-based view)
- Термокарты
- Тепловые карты
- Псевдо 3D
- Номера слоев
- Обрезка карты по слою (MaskLayer)
- Символ ЛЭП
- Подмена источника для отображения
- Фильтр на слой с возможностью использования макросов
- Диаграммы 3D
- Сортировка объектов слоя по полю для выдачи в запросе
- Выключение слоя из картографического сервиса
- Выключение стороннего тайлового сервиса из картографического сервиса
- Отображение видимой области с учётом рельефа
- Нумерация узлов линейных и полигональных объектов
- Проверка фильтров на слой по регулярному выражению
- Создание сервиса геокодирования
- Вложения (Attachments)
- История изменений
- Автообновляемость тайлов
- Шаблоны печати на основе макетов QGIS (формат qpt)
- Руководство по работе в мобильных приложениях
- Руководство по установке и настройке SOE for ArcGIS
- Требования к аппаратному обеспечению
Отчеты
Отчеты. Общие положения.
CoGIS поддерживает встроенную возможность формирования отчетов по данным картографических сервисов в форматах .xlsx и .docx.
Для того, чтобы произвести настройку формирования отчета, необходимо:
- Создать соответствующий шаблон .xlsx или .docx.
- Добавить шаблон отчета к доступным для выбора шаблонам.
- Настроить отчет на вертикальной вкладке Отчеты .
- Настроить генерацию отчета на интерактивной карте.
Создание шаблона для отчета в формате .xlsx
Создайте шаблон отчета в формате .xlsx. Чтобы в определенную ячейку таблицы вставлялось определенное значение, укажите идентификатор вставляемого значения, пример ниже, см.
Рисунок 485
.

В качестве идентификатора можно использовать:
- значение макроса;
- значение определенного поля объекта картографического сервиса;
- значение параметра;
- статистическое значение;
- фиксированное значение (константа).
В случае добавления константы в строку таблицы шаблона отчета с другими макросами, при формировании отчета константа будет дублироваться на каждой строке значений.
В шаблон отчета также можно вставить и фрагмент карты. Поддерживаются и стандартные формулы Excel для расчета значений ячеек (см.
Рисунок 486
).

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

В качестве макросов могут быть использованы выражения, приведенные ниже, см.
Таблица 8
и
Таблица 9
. Макросы записываются в фигурных скобках. В ячейку шаблона можно написать не просто макрос, а любой текст, включающий в себя один или несколько макросов.
Макросы для отображения дат и информации о пользователе используются в шаблонах отчетов, как указано в таблице (см.
Таблица 8
). Макросы текущих даты и времени позволяют задавать сдвиг в днях и часах. В таком случае макрос задается вида:
- {CurrentDate- N d} , {CurrentDate+ N d} , где N - количество дней сдвига относительно текущей даты в прошлое (при вычитании) или в будущее (при прибавлении);
- {CurrentDateTime- N h} , {CurrentDateTime+ N h} , где N - количество часов сдвига относительно текущего времени в прошлое (при вычитании) или в будущее (при прибавлении).
Таблица 8 - Макросы для отображения дат и информации о пользователе
Макрос
|
Описание
|
{CurrentUser}
|
Имя авторизованного пользователя
|
{CurrentUserFullName}
|
Фамилия, Имя и Отчество авторизованного пользователя
|
{CurrentUserEmail}
|
Email текущего пользователя
|
{CurrentDate}
{CurrentDate-7d}
{CurrentDate+2d}
|
Текущая дата
Текущая дата +/- несколько дней
|
{CurrentDateTime}
{CurrentDateTime-1h}
{CurrentDateTime+2h}
|
Текущая дата и время
Текущая дата и время +/- несколько часов
|
{CurrentYear}
|
Текущий год
|
{CurrentMonth}
|
Текущий месяц
|
{CurrentQuarter}
|
Номер текущего квартала
|
Другие макросы (см.
Таблица 9
) требуют указания источника данных и записываются в ячейку шаблона в виде:
{Source.Rows.Macros}
, где:
- Source - источник данных, указанный в Конструкторе (см. п. 7.8.5.3 );
- Rows - указатель, определяющий, что будет вставлена строка значений;
- Macros - макрос с указанием формата отображения данных.
Значения макросов можно отображать в настроенных форматах. Формат значения указывается через двоеточие:
- дробные числовые значения можно отобразить с округлением до нужного знака после запятой - в ячейку записывается выражение вида {Source.Rows.Macros::F N } , где N - количество знаков после запятой;
- Значение преобразуется в текст и округлится до указанного знака. При указании F0 значение округлится до целого.
- координаты в географической системе можно отобразить в формате Градусы Минуты Секунды (например, 57°41'42.345" ) - в ячейку шаблона записывается выражение вида {Source.Rows.Macros::DMS} ;
- координаты в географической системе можно отобразить в формате Градусы Минусы Секунды с округлением секунд до нужного знака после запятой - в ячейку шаблона записывается выражение вида {Source.Rows.Macros::F N :DMS} , где N - количество знаков после запятой;
- При указании F0 значение координаты округлится до целых секунд.
- направление (азимут) можно отобразить в формате Градусы Минусы Секунды с указанием румба (например, СЗ:48°44'38.546" ) - в ячейку шаблона записывается выражение вида {Source.Rows.Macros:ru:DDMS} ;
- направление (азимут) можно отобразить в формате Градусы Минуты Секунды с указанием румба и с округлением секунд до нужного знака после запятой - в ячейку шаблона записывается выражение вида {Source.Rows.Macros:ru:F N :DDMS} , где N - количество знаков после запятой.
При указании F0 значение азимута округлится до целых секунд.
Значения источников данных могут быть сгруппированы. Для этого воспользуйтесь предобработкой данных, настроив процесс
Группировки по полю
(см.
7.8.5.5.2
). Настроив необходимые группы значений, добавьте в шаблон отчета соответственные макросы (см.
Таблица 13
).
Таблица 9 - Макросы, требующие указания источника данных
Макрос с возможным форматом
|
Описание
|
__CentroidX
__CentroidX::DMS
__CentroidX::F2
__CentroidX::F2:DMS
|
Координата X (долгота) центроида геометрии объекта (точки/линии/полигона) в системе координат слоя в указанном формате
|
__CentroidY
__CentroidY::DMS
__CentroidY::F2
__CentroidY::F2:DMS
|
Координата Y (широта) центроида геометрии объекта (точки/линии/полигона) в системе координат слоя в указанном формате
|
__CentroidZ
__CentroidZ::F2
|
Координата Z центроида геометрии объекта (точки/линии/полигона) в метрах в указанном формате
|
__Coordinates.pointNumber
|
Порядковый номер текущей поворотной точки геометрии объекта, начиная с
1
|
__Coordinates.nextPointNumber
|
Порядковый номер следующей поворотной точки геометрии объекта.
Для точечных объектов и для последней поворотной точки части составного линейного объекта макрос возвращает
null
.
Для последней поворотной точки кольца составного полигонального объекта макрос возвращает порядковый номер первой поворотной точки этого кольца
|
__Coordinates.partNumber
|
Порядковый номер части составного линейного объекта или порядковый номер кольца составного полигонального объекта
|
__Coordinates.pointNumberInPart
|
Порядковый номер текущей поворотной точки в текущей части составного линейного объекта или порядковый номер текущей поворотной точки в текущем кольце составного полигонального объекта
|
__Coordinates.nextPointNumberInPart
|
Порядковый номер следующей поворотной точки в текущей части составного линейного объекта или порядковый номер следующей поворотной точки в текущем кольце составного полигонального объекта.
Для последней поворотной точки части составного линейного объекта макрос возвращает
null
.
Для последней поворотной точки кольца составного полигонального объекта макрос возвращает 1
|
__Coordinates.directionToPoint
__Coordinates.directionToPoint::F4
__Coordinates.directionToPoint::DMS
__Coordinates.directionToPoint::F4:DMS
__Coordinates.directionToPoint:ru:DDMS
__Coordinates.directionToPoint:ru:F4:DDMS
|
Направление в десятичных градусах (0-360°) от предыдущей поворотной точки геометрии объекта к текущей поворотной точке.
Возможна запись в формате Градусы Минусы Секунды, Румб Градусы Минуты Секунды с округлением секунд до нужного знака после запятой
|
__Coordinates.directionToNextPoint
__Coordinates.directionToNextPoint::F4
__Coordinates.directionToNextPoint::DMS
__Coordinates.directionToNextPoint::F4:DMS
__Coordinates.directionToNextPoint:ru:DDMS
__Coordinates.directionToNextPoint:ru:F4:DDMS
|
Направление в десятичных градусах (0-360°) от текущей поворотной точки геометрии объекта к следующей поворотной точке.
Возможна запись в формате Градусы Минусы Секунды, Румб Градусы Минуты Секунды с округлением секунд до нужного знака после запятой
|
__Coordinates.lengthToPoint
__Coordinates.lengthToPoint::F4
|
Геодезическое расстояние в метрах от предыдущей поворотной точки геометрии до текущей поворотной точки
|
__Coordinates.lengthToNextPoint
__Coordinates.lengthToNextPoint::F4
|
Геодезическое расстояние в метрах от текущей поворотной точки геометрии до следующей поворотной точки
|
__Coordinates.x
__Coordinates.x::F4
__Coordinates.x::DMS
__Coordinates.x::F4:DMS
|
Координата X (долгота) текущей поворотной точки геометрии объекта (точки/линии/полигона) в системе координат слоя в указанном формате
|
__Coordinates.y
__Coordinates.y::F4
__Coordinates.y::DMS
__Coordinates.y::F4:DMS
|
Координата Y (широта) текущей поворотной точки геометрии объекта (точки/линии/полигона) в системе координат слоя в указанном формате
|
__Index
|
Номер строки в таблице
|
__DisplayName
|
Выражение, настроенное в картографическом проекте для отображаемого имени объекта
|
Пример. Вставка в отчет таблицы с координатами поворотных точек объекта
Рассмотрим пример вставки в отчет координат поворотных точек геометрии отдельного объекта в географической системе координат (см.
Рисунок 488
).

Для этого необходимо следовать следующим шагам:
- в ячейки таблицы вставить макросы вида ( tab - имя источника, заданное в настройках отчета (см. п. 7.8.5.3 и Рисунок 490 ) с указанием необходимого формата:
- Макросы в ячейках таблицы позволяют получить координаты каждой поворотной точки объекта в нужном формате (см. подробнее об использовании макросов в отчетах п. 7.8.2.1 ).

Рисунок 489 - Вставка макросов в ячейки таблицы
- настроить в Конструкторе отчет с подготовленным шаблоном (см. подробнее п. 7.8.5 );
- Для того, чтобы отчет формировался для отдельного объекта, укажем фильтр для источника oid={CurrentFeature.oid} (см. Рисунок 490 ).

Рисунок 490 - Настройки отчета по отдельному объекту
- настроить вызов отчета для отдельного объекта в Карточке объекта (см. подробнее п. 7.4.3.2.3 и Рисунок 491 ).

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

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

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


Использование статистических показателей
Форматирование ячеек в отчете будет соответствовать форматированию ячейки в шаблоне отчета.
Доступна вставка следующих статистических показателей:
- Count - просто количество объектов в таблице,
- Sum - сумма непустых значений для числовых колонок,
- Min/Max - минимальное и максимально значение для числовых колонок и для дат,
- Ave - среднее значение для числовых колонок,
- NotEmptyCount - количество непустых значений, для всех типов колонок,
- DistinctCount - количество непустых уникальных по указанному полю значений, для всех типов колонок.
Для вставки статистического значения в ячейке укажите соответствующий идентификатор вставляемого статистического значения, который формируется в виде
{Source1.Stat.Name.Field},
где:
- Source1 - название источника данных, определенного в настройках отчета, см. Рисунок 493 .
- Stat - параметр, определяющий, что будет вставлен статистический показатель.
- Name - название вставляемого статистического показателя.
- Field - поле, по которому рассчитывается статистика.
Чтобы вставить значение поля объекта картографического сервиса, в ячейке укажите соответствующий идентификатор вставляемого значения, который формируется в виде
{Source1.Rows.Name}
, где:
- Source1 - название источника данных, определенного в настройках отчета, см. Рисунок 493 .
- Rows - параметр, определяющий, что будет вставлена строка значений.
- Name - имя поля картографического сервиса, значение которого должно быть вставлено.
Использование стандартных формул Excel
При формировании шаблона вы можете применять формулы в Excel. При этом использовать стандартный набор функций Excel. В качестве аргумента функций можно указывать ячейку с добавленным макросом, параметром или статистическим показателем. При заполнении отчета значениями ячейка с настроенной формулой так же будет тиражироваться (см.
Рисунок 496
).


Если в качестве аргумента функции нужно подать диапазон ячеек из столбца, который будет сформирован после заполнения отчета значениями по объектам, то можно использовать именованные диапазоны ячеек. Для этого задайте имя ячейке с добавленным макросом, параметром или статистическим показателем - это и будет именованный диапазон, который теперь можно использовать в формуле (см.
Рисунок 497
и
Рисунок 498
).




Вставка картографического материала в отчет
Для того, чтобы вставить картографический материал в отчет, в шаблон отчета вставьте любой рисунок как элемент
Рисунок поверх ячеек
. В свойстве добавленного элемента рисунка
Замещающий текст
задайте макрос вида
{MapSource.Image}
(см.
Рисунок 499
), где:
- MapSource - настроенный источник картографического материала (см. 7.8.5.4 );
- Image - указатель, определяющий, что будет вставлен рисунок.
Чтобы отобразить в отчете масштаб вставленной карты, в нужную ячейку шаблона отчета вставьте макрос вида
{MapSource.Scale}
, где:
- MapSource - настроенный источник картографического материала (см. 7.8.5.4 );
- Scale - указатель, определяющий, что будет вставлен масштаб карты.


Создание шаблона для отчета формата .docx
Для создания шаблона в
MS Word
в формате .docx понадобится вкладка
Разработчик
. Чтобы включить вкладку Разработчик, перейдите в меню
Файл
>
Параметры
(см.
Рисунок 500
) и в
Настройках ленты
включите вкладку
Разработчик
( см.
Рисунок 501
).


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

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


Также для форматирования даты можно определить ее формат следующим образом: {myfield:dd'.'MM'.'yyyy' 'HH':'mm}.
Если вставляемая строка слишком длинная, можно уменьшить количество символов, указав в квадратных скобках ее начало и конец, например {AdditionalData[0..20]}, см.
Рисунок 505
.

Для форматирования и округления чисел можно указать количество знаков после запятой, а также русский или английский вариант разделителя (запятая или точка), например
{MyField:ru:F4}
, чтобы получить 4 знака после запятой и разделитель запятую.
Иногда в случае пустого значения необходимо вставить определенный текст, для этого укажите его в следующем виде:
{myfield=Не определено} или {MyField:ru:F4=Не задано}.
В качестве вставляемого значения может быть использовано:
- значение макроса;
- значение определенного поля объекта картографического сервиса;
- значение Параметра.
В шаблон отчета также можно вставить и фрагмент карты.
Использование значения макроса
При использовании макроса в качестве вставляемого значения важно соблюдать регистр, пример ниже, см.
Рисунок 506
. В качестве макросов могут быть использованы выражения, приведенные ниже, см.
Таблица 10
и
Таблица 11
.

Макросы для отображения дат и информации о пользователе добавляются в элемент управления содержимым в шаблонах отчетов, как указано в таблице (см.
Таблица 10
). Макросы текущих даты и времени позволяют задавать сдвиг в днях и часах. В таком случае макрос задается вида:
- {CurrentDate- N d} , {CurrentDate+ N d} , где N - количество дней сдвига относительно текущей даты в прошлое (при вычитании) или в будущее (при прибавлении);
- {CurrentDateTime- N h} , {CurrentDateTime+ N h} , где N - количество часов сдвига относительно текущего времени в прошлое (при вычитании) или в будущее (при прибавлении).
Таблица 10 - Макросы для отображения дат и информации о пользователе
Макрос
|
Описание
|
{CurrentUser}
|
Имя авторизованного пользователя
|
{CurrentUserFullName}
|
Фамилия, Имя и Отчество авторизованного пользователя
|
{CurrentUserEmail}
|
Email текущего пользователя
|
{CurrentDate}
{CurrentDate-7d}
{CurrentDate+2d}
|
Текущая дата
Текущая дата +/- несколько дней
|
{CurrentDateTime}
{CurrentDateTime-1h}
{CurrentDateTime+2h}
|
Текущая дата и время
Текущая дата и время +/- несколько часов
|
{CurrentYear}
|
Текущий год
|
{CurrentMonth}
|
Текущий месяц
|
{CurrentQuarter}
|
Номер текущего квартала
|
Другие макросы (см.
Таблица 11
) требуют указания источника данных и записываются в элемент управления содержимым шаблона в виде:
{Source.Rows.Macros}
, где:
- Source - источник данных, указанный в Конструкторе (см. п. 7.8.5.3 );
- Rows - указатель, определяющий, что будет вставлена строка значений;
- Macros - макрос с указанием формата отображения данных.
Значения макросов можно отображать в настроенных форматах. Формат значения указывается через двоеточие:
- дробные числовые значения можно отобразить с округлением до нужного знака после запятой - в элемент управления содержимым записывается выражение вида {Source.Rows.Macros::F N } , где N - количество знаков после запятой;
- Значение преобразуется в текст и округлится до указанного знака. При указании F0 значение округлится до целого.
- координаты в географической системе можно отобразить в формате Градусы Минуты Секунды (например, 57°41'42.345" ) - в элемент управления содержимым записывается выражение вида {Source.Rows.Macros::DMS} ;
- координаты в географической системе можно отобразить в формате Градусы Минусы Секунды с округлением секунд до нужного знака после запятой - в элемент управления содержимым записывается выражение вида {Source.Rows.Macros::F N :DMS} , где N - количество знаков после запятой;
- При указании F0 значение координаты округлится до целых секунд.
- направление (азимут) можно отобразить в формате Градусы Минусы Секунды с указанием румба (например, СЗ:48°44'38.546" ) - в элемент управления содержимым записывается выражение вида {Source.Rows.Macros:ru:DDMS} ;
- направление (азимут) можно отобразить в формате Градусы Минуты Секунды с указанием румба и с округлением секунд до нужного знака после запятой - в элемент управления содержимым записывается выражение вида {Source.Rows.Macros:ru:F N :DDMS} , где N - количество знаков после запятой.
При указании F0 значение азимута округлится до целых секунд.
Значения источников данных могут быть сгруппированы. Для этого воспользуйтесь предобработкой данных, настроив процесс
Группировки по полю
(см.
7.8.5.5.2
). Настроив необходимые группы значений, добавьте в таблицу шаблона отчета соответственные макросы (см.
Таблица 13
).
Таблица 11 - Макросы, требующие указания источника данных
Макрос с возможным форматом
|
Описание
|
__CentroidX
__CentroidX::DMS
__CentroidX::F2
__CentroidX::F2:DMS
|
Координата X (долгота) центроида геометрии объекта (точки/линии/полигона) в системе координат слоя в указанном формате
|
__CentroidY
__CentroidY::DMS
__CentroidY::F2
__CentroidY::F2:DMS
|
Координата Y (широта) центроида геометрии объекта (точки/линии/полигона) в системе координат слоя в указанном формате
|
__CentroidZ
__CentroidZ::F2
|
Координата Z центроида геометрии объекта (точки/линии/полигона) в метрах в указанном формате
|
__Coordinates.pointNumber
|
Порядковый номер текущей поворотной точки геометрии объекта, начиная с
1
|
__Coordinates.nextPointNumber
|
Порядковый номер следующей поворотной точки геометрии объекта.
Для точечных объектов и для последней поворотной точки части составного линейного объекта макрос возвращает
null
.
Для последней поворотной точки кольца составного полигонального объекта макрос возвращает порядковый номер первой поворотной точки этого кольца
|
__Coordinates.partNumber
|
Порядковый номер части составного линейного объекта или порядковый номер кольца составного полигонального объекта
|
__Coordinates.pointNumberInPart
|
Порядковый номер текущей поворотной точки в текущей части составного линейного объекта или порядковый номер текущей поворотной точки в текущем кольце составного полигонального объекта
|
__Coordinates.nextPointNumberInPart
|
Порядковый номер следующей поворотной точки в текущей части составного линейного объекта или порядковый номер следующей поворотной точки в текущем кольце составного полигонального объекта.
Для последней поворотной точки части составного линейного объекта макрос возвращает
null
.
Для последней поворотной точки кольца составного полигонального объекта макрос возвращает 1
|
__Coordinates.directionToPoint
__Coordinates.directionToPoint::F4
__Coordinates.directionToPoint::DMS
__Coordinates.directionToPoint::F4:DMS
__Coordinates.directionToPoint:ru:DDMS
__Coordinates.directionToPoint:ru:F4:DDMS
|
Направление в десятичных градусах (0-360°) от предыдущей поворотной точки геометрии объекта к текущей поворотной точке.
Возможна запись в формате Градусы Минусы Секунды, Румб Градусы Минуты Секунды с округлением секунд до нужного знака после запятой
|
__Coordinates.directionToNextPoint
__Coordinates.directionToNextPoint::F4
__Coordinates.directionToNextPoint::DMS
__Coordinates.directionToNextPoint::F4:DMS
__Coordinates.directionToNextPoint:ru:DDMS
__Coordinates.directionToNextPoint:ru:F4:DDMS
|
Направление в десятичных градусах (0-360°) от текущей поворотной точки геометрии объекта к следующей поворотной точке.
Возможна запись в формате Градусы Минусы Секунды, Румб Градусы Минуты Секунды с округлением секунд до нужного знака после запятой
|
__Coordinates.lengthToPoint
__Coordinates.lengthToPoint::F4
|
Геодезическое расстояние в метрах от предыдущей поворотной точки геометрии до текущей поворотной точки
|
__Coordinates.lengthToNextPoint
__Coordinates.lengthToNextPoint::F4
|
Геодезическое расстояние в метрах от текущей поворотной точки геометрии до следующей поворотной точки
|
__Coordinates.x
__Coordinates.x::F4
__Coordinates.x::DMS
__Coordinates.x::F4:DMS
|
Координата X (долгота) текущей поворотной точки геометрии объекта (точки/линии/полигона) в системе координат слоя в указанном формате
|
__Coordinates.y
__Coordinates.y::F4
__Coordinates.y::DMS
__Coordinates.y::F4:DMS
|
Координата Y (широта) текущей поворотной точки геометрии объекта (точки/линии/полигона) в системе координат слоя в указанном формате
|
__Index
|
Номер строки в таблице
|
__DisplayName
|
Выражение, настроенное в картографическом проекте для отображаемого имени объекта
|
Использование значения поля объекта картографического сервиса
Чтобы вставить значение поля объекта картографического сервиса, в ячейке укажите соответствующий идентификатор вставляемого значения, который формируется в виде
{Source1.Rows.Name}
, где:
- Source1 - название источника данных, определенного в настройках отчета.
- Rows - параметр, определяющий, что будет вставлена строка значений.
- Name - имя поля картографического сервиса, значение которого должно быть вставлено. Пример ниже, см. Рисунок 507 .



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


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

Чтобы сгенерировать QR-код, задайте следующие параметры:
- QRSource - укажите имя источника, из которого нужно взять данные для QR-кода, пример ниже, см. Рисунок 511 .
- QRProperty - укажите название, которое будет отображено в шаблоне отчета, пример ниже, см. Рисунок 512 .
- QRTemplate - укажите, что нужно зашифровать при помощи QR-кода, для этого укажите нужные атрибуты из источника в квадратных скобках, например, [OBJECTID]_[name], пример ниже, см. Рисунок 513 .



Вставка таблицы в отчет
CoGIS поддерживает возможность вставки таблицы в отчет в формате Word.
Создайте таблицу, укажите заголовки столбцов.
В ячейки таблицы шаблона отчета можно вывести следующие значения:
- значения макросов для отображения дат и информации о пользователе без указания источника данных (см. Таблица 10 );
- значения макросов, требующих указания источника данных, для отображения информации об объектах и их геометрии (см. Таблица 11 );
- значения атрибутивных полей объектов источника (см. п. 7.8.3.2 );
- Значения указываются в шаблоне, как макросы вида {Source.Rows.myfield} , где Source - источник, заданный в настройках отчета (см. п. 7.8.5.3 ), myfield - имя атрибутивного поля, значение которого необходимо вывести в ячейку таблицы.
- значения статистических параметров, рассчитанных по значениям атрибутивных полей объектов источника;
- Значения указываются в шаблоне, как макросы вида {Source.Stat.Name.myfield} , где Source - источник, заданный в настройках отчета (см. п. 7.8.5.3 ), Name - статистический параметр для расчета, myfield - имя атрибутивного поля, по значениям которого необходимо рассчитать статистический параметр.
- значения параметров отчета (см. п. 7.8.3.3 );
- Значения указываются в шаблоне, как макросы вида {Source.Rows.Parameter} , где Source - источник, заданный в настройках отчета (см. п. 7.8.5.3 ), Parameter - название параметра, определенного в настройках отчета, значение которого необходимо вывести в ячейку таблицы.
- вложения и их атрибуты;
- Вложения добавляются в шаблон, как макросы вида {Source.Rows.Attachments.Property} , где Source - источник, заданный в настройках отчета (см. п. 7.8.5.3 ), Property - характеристика вложения (название, размер, превью, изображение) или имя атрибута вложения, что необходимо вывести в ячейку таблицы.
- QR-код.
- QR-код добавляется в шаблон в виде макроса вида {Source.Rows.Parameter} , где Source - источник, заданный в настройках отчета (см. п. 7.8.5.3 ), Parameter - название параметра, определенного в настройках отчета, отвечающего за формирование QR-кода, изображение которого необходимо вывести в ячейку таблицы.
Задавая в ячейку макрос, вы также можете указать формат отображения значения:
- округление дробных числовых значений;
- Например, {Source.Rows.numeric_field::F4} - значение атрибутивного поля numeric_field будет округлено до 4 знака после запятой.
- использование точки или запятой в качестве разделителя дробной части числовых значений;
- Например, {Source.Rows.numeric_field:ru:F2} - значение атрибутивного поля numeric_field будет выведено с запятой в качестве разделителя дробной части и округлено до 2 знака после запятой.
- вывод географических координат в формате Градусы Минуты Секунды (DMS);
- Например, {Source.Rows.__CentroidX::DMS} - координата X центроида объекта будет выведена в формате Градусы Минуты Секунды.
- вывод даты и времени в различных форматах;
- Например, {CurrentDate::dd-MM-yyyy} - запись текущей даты в виде 20-07-2025 .
- вывод определенного набора символов значения;
- Например, {Source.Rows.text_field[0..20]} - вывод первых 20 символов текстового поля text_field .
- вывод кода или описания домена, назначенного на атрибутивное поле.
- Например, {Source.Rows.field_with_domain::code} - вывод кода значения атрибутивного поля field_with_domain с назначенным доменом.
Вы также можете задать значение, которое нужно выводить в случае, если значение макроса для конкретного объекта равно «пусто» или «Null». Например,
{Source.Rows.nullable_field ?? Не определено}
. В данном случае, если при формировании отчета для объекта значение поля
nullable_field
отсутствует (равно «Null»), то в ячейку с таким макросом запишется значение
Не определено
.
Помимо этого, значения могут быть сгруппированы по выбранному атрибутивному полю (см. п.
7.8.5.5.2
).
Макросы в ячейки таблицы в шаблоне отчета можно записывать несколькими способами:
- записать в каждую ячейку таблицы необходимый макрос в фигурных скобках;
- вставить в каждую ячейку таблицы элемент управления содержимым («текст», «дата» или «рисунок»), в параметр Тег которого записать необходимые макросы в фигурных скобках; при этом текст, вписанный в Место для ввода текста , может быть любым;
- записать в ячейки таблицы только название характеристики (макроса, параметра отчета, статистического параметра или имя атрибутивного поля) в фигурных скобках, а источник указать общий для всех ячеек в Свойствах таблицы (см. п. 7.8.3.5.1 ).
Кроме того, с помощью записи определенного вида в
Свойствах таблицы
можно указать:
- какие строки таблицы необходимо продублировать для каждого объекта в отчете;
- дополнительное ограничение на список объектов, по которым создается отчет;
- условия видимости таблицы (см. п. 7.8.3.5.2 ).
Обратите внимание, что строка таблицы с макросами продублируется для каждого объекта, попавшего в выборку для формирования отчета.
Управление отображением значений в таблице
Перейдите в
Свойства таблицы
во вкладку
Замещающий текст
.
В зависимости от цели, в параметре
Описание
укажите следующее:
- N=Source.Rows - запись определяет источник Source для всех макросов в строке N таблицы.
- В таком случае в ячейках таблицы достаточно указать только название характеристики (макроса, параметра отчета, статистического параметра или имя атрибутивного поля) в фигурных скобках.
- Такая запись подходит, только если во всех ячейках строки N таблицы макросы используют один и тот же источник.
- Пример (см. Рисунок 514 ): 3=Buildings.Rows - для макросов третьей строки таблицы используется источник Buildings .
- N=Source.Rows[k..l] - запись определяет источник Source для всех макросов в строке N таблицы; помимо этого запись обозначает, что строка N таблицы будет продублирована только для набора объектов с k номера до l номера включительно.
- Все объекты, попавшие в выборку для формирования отчета, отдаются базой данных в определенном порядке. В данном случае в отчет попадут только объекты выборки с номерами по порядку, как их отдает база, из указанного диапазона [k..l] .
- Пример: 3=Buildings.Rows[0..6] - для макросов третьей строки используется источник Source , а также отчет сформируется только для первых семи объектов, попавших в выборку для формирования отчета, в порядке, как их отдает база данных.
- N,M=Source.Rows - запись определяет источник Source для всех макросов в строках N и M таблицы; помимо этого, запись обозначает, что пара строк N и M с макросами будет продублирована для каждого объекта, попавшего в выборку для формирования отчета.
- Пример: 2,3=Buildings.Rows - для макросов второй и третьей строки таблицы используется источник Buildings; а также пара строк (вторая и третья) будут повторены для каждого объекта, попавшего в отчет.
- N,M=Source.Rows{M=Attachments} - запись определяет источник Source для всех макросов в строках N и M таблицы; помимо этого, запись обозначает, что пара строк N и M с макросами будет продублирована для каждого объекта, попавшего в выборку для формирования отчета, при этом строка M будет содержать информацию о вложениях и будет повторена по количеству вложений каждого из объектов.
Пример:
2,3=Buildings.Rows{3=Attachments}
- для макросов второй и третьей строки таблицы используется источник Buildings; а также пара строк (вторая и третья) будут повторены для каждого объекта, попавшего в отчет, при этом третья строка будет повторена столько раз для каждого объекта, сколько у этого объекта вложений.
В
Свойствах таблицы
можно указать только одну запись такого вида. Если в строке таблицы используются макросы с разными источниками, рекомендуется в каждую ячейку такой строки записывать макрос полностью, с указанием источника.


Настройка условий видимости таблиц в отчете
В
Свойствах таблицы
во вкладке
Замещающий текст
в параметре
Описание
можно также указывать условие видимости таблицы.
Допустимы следующие варианты записи:
- if={значение} - запись устанавливает, что таблица будет видима, если указанное значение определено (не пусто и не Null).
- Примеры записей:
- if={список_значений} - таблица видима, если хотя бы одно значение списка определено (не пусто и не Null).
- Пример записи:
- if=<условное_выражение> - таблица видима, если указанное условное выражение - верно/«истина»/выполняется.
Условное выражение может быть задано только одно.
Условное выражение состоит из математического выражения (может включать любые математические операторы) со значениями характеристик (значением атрибутивного поля, параметра, статистического параметра, макроса), оператора сравнения и значением для сравнения.
Допустимые операторы сравнения для числовых значений: «больше» (
>
), «меньше» (
<
), «равно» (
=
), «не равно» (
!=
или
<>
). Допустимое значение для сравнения - число.
Допустимые операторы сравнения для текстовых значений: «равно» (
=
), «содержит» (
~
), «содержит» без учета регистра (
~*
). Допустимое значение для сравнения - текст в одиночных кавычках.
Примеры записей:
- if={Source.Rows.myfield} ~ ’myvalue’ - таблица видима, если значения атрибутивного поля myfield источника Source содержат указанный текст myvalue .
- if={Source.Rows.N.myfield} = ’myvalue’ - таблица видима, если значением атрибутивного поля myfield для N -ого объекта источника Source является текст myvalue .
- if={Source.Rows.Parameter} < 100 - таблица видима, если значение параметра Parameter меньше 100.
- if={Source.Rows.Count} > 2 - таблица видима, если в выборку объектов для формирования отчета попало более двух объектов.
- if={CurrentDay} != 31 - таблица видима, если текущее число месяца отлично от 31 .
- if={Source.Rows.N.numeric_field1} / {Source.Rows.N.numeric_field2} <> {Source.Rows.N.numeric_field3} - таблица видима, если отношение значений числовых полей numeric_field1 и numeric_field2 не равно значению числового поля numeric_field3 .
Условие видимости таблицы в
Свойствах таблицы
можно задавать только одно. Порядок следования записи, отвечающей за отображение данных в таблице (см. п.
7.8.3.5.1
), и условия видимости таблицы не важен.
Пример. Вставка в отчет таблицы с координатами поворотных точек геометрии объекта
Рассмотрим пример вставки в отчет координат поворотных точек геометрии отдельного объекта в географической системе координат (см.
Рисунок 515
).

Для этого необходимо следовать следующим шагам:
- в файл шаблона отчета добавить таблицу (см. подробнее п. 7.8.3.5 );
- Добавление таблицы в шаблон отчета обеспечивает в дальнейшем тиражирование строк со значениями макросов, вставленных в ячейки, по количеству поворотных точек объекта.
- в ячейки таблицы вставить макросы вида ( tab - имя источника, заданное в настройках отчета (см. п. 7.8.5.3 и Рисунок 516 ) с указанием необходимого формата:
- Макросы в ячейках таблицы позволяют получить координаты каждой поворотной точки объекта в нужном формате (см. подробнее об использовании макросов в отчетах п. 7.8.3.1 ).
- настроить в Конструкторе отчет с подготовленным шаблоном (см. подробнее п. 7.8.5 );
- Для того, чтобы отчет формировался для отдельного объекта, укажем фильтр для источника oid={CurrentFeature.oid} (см. Рисунок 516 ).

Рисунок 516 - Настройки отчета по отдельному объекту
- настроить вызов отчета для отдельного объекта в Карточке объекта (см. подробнее п. 7.4.3.2.3 и Рисунок 517 ).

В ячейки таблицы макросы могут быть записаны несколькими способами, при этом результат в файле отчета будет одинаковым:
- записать в каждую ячейку таблицы необходимый макрос в фигурных скобках (см. Рисунок 518 и Рисунок 519 );

Рисунок 518 - Вставка макросов в ячейку таблицы шаблона отчета

Рисунок 519 - Отображение координат поворотных точек объекта в отчете
- вставить в каждую ячейку таблицы элемент управления содержимым (для вывода информации о геометрии можно использовать элемент «Текст») и записать в свойствах нужный макрос;
- В параметре Тег окна Свойства элемента управления содержимым укажите необходимый макрос в фигурных скобках (см. Рисунок 520 и Рисунок 521 ); при этом текст, вписанный в Место для ввода текста для элемента, может быть любым;
- В MS Word элементы управления содержимым доступны для вставки из вкладки Разработчик .

Рисунок 520 - Вставка макросов в элемент управления содержимым в шаблоне отчета

Рисунок 521 - Отображение координат поворотных точек объекта в отчете
- записать в ячейки таблицы только название макроса в фигурных скобках, а источник указать общий для всех ячеек в Свойствах таблицы (см. Рисунок 522 и Рисунок 523 ).
Во вкладке
Замещающий текст
окна
Свойства таблицы
в параметре
Описание
укажите запись вида
N=Source.Rows
- запись определяет источник
Source
для всех макросов в строке
N
таблицы.
Такая запись подходит, только если во всех ячейках строки
N
таблицы макросы используют один и тот же источник.


Вставка картографического материала в отчет
Для того, чтобы вставить в отчет картографический материал, в шаблоне отчета вставьте элемент управления содержимым
Рисунок
и в свойствах элемента в поле
Тег
укажите макрос вида
{MapSource.Image}
, где:
- MapSource - настроенный источник картографического материала (см. п. 7.8.5.4 );
- Image - указатель, определяющий, что будет вставлен рисунок.
Для того, чтобы указать масштаб картографического материала, в поле
Тег
соответствующего элемента управления содержимым укажите макрос вида
{MapSource.Scale}
, где:
- MapSource - настроенный источник картографического материала (см. п. 7.8.5.4 );
- Scale - указатель, определяющий, что будет вставлен масштаб карты.


Вставка информации о вложениях в отчет
Помимо этого, имеется возможность вставить информацию о вложениях, название и размер файла, атрибуты вложения, изображение и миниатюру предпросмотра для изображения.
Чтобы добавить информацию о файлах, добавьте таблицу, укажите в ячейке, какое свойство вложения или атрибут (название атрибута в БД, соблюдая строчные и заглавные буквы) должно быть вставлено.
Свойство вложения
|
Пример
|
Описание
|
Image
|
{Name}
|
Вставка изображения (из вложений объекта)
|
PreviewImage
|
{PreviewImage}
|
Вставка предпросмотра изображения (из вложений объекта)
|
Name
|
{Name}
|
Наименование вложения
|
Size
|
{Size}
|
Размер вложения
|
В свойствах таблицы укажите, какие строки должны множиться для каждого объекта (n и m, см.
Рисунок 525
), источник (Source1, см.
Рисунок 525
), и какие строки должны множиться для каждого вложения объекта (k, см.
Рисунок 525
).

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

Настройка отчета на вертикальной вкладке Отчеты
Чтобы настроить отчет, перейдите на вкладку
Отчеты
, добавьте отчет, задайте его название. Настройте параметры для формирования отчета (см.
7.8.5.1
) и источники данных (см.
7.8.5.3
и
7.8.5.4
), пример ниже, см.
Рисунок 527
.

Источником данных может быть слой, таблица или картографический материал. В одном отчете может быть использовано несколько различных источников данных.
В поле
Тип отчета
выберите нужный тип из выпадающего списка:
DOCX документ
или
XLSX документ.
В параметре
Шаблон отчета
выберите из выпадающего списка необходимый шаблон отчета в формате .docx или .xlsx, загруженные через вкладку
Управление файлами
, (см.
1.2.2
),
или загрузите необходимый шаблон отчета, нажав на кнопку
.

Укажите
Имя выходного файла
отчета. Правила именования выходного файла отчета соответствуют общим соглашениям в именовании файлов в операционных системах. Кроме того, вы можете задать динамическое формирование имени выходного файла, указывая в фигурных скобках:
- параметры, настроенные для текущего отчета (см. 7.8.5.1 );
- макросы вида {Source.Rows.Name} , позволяющие использовать значения полей настроенного источника данных (см. 7.8.2.2 );
- макросы вида {Source.Rows.N.Name} , позволяющие использовать значения полей конкретного объекта ( N - порядковый номер объекта) настроенного источника данных.
При формировании отчетов можно настроить предобработку данных (вызов DLL- библиотеки или группировку данных по полю, см.
7.8.5.5
), а также поддерживается массив постобработки действий (многопроцессорный запуск вызова внешних отдельных консолей или вызов инструментов геообработки, см.
7.8.5.6
).
По умолчанию формирование отчета запускается синхронно. Включите опцию
Запускать асинхронно
, если предполагается формировать несколько отчетов подряд или ожидается, что итоговый отчет будет достаточно большим.
Сгенерированный файл отчета может быть выдан пользователю подписанным электронной цифровой подписью (ЭЦП) для верификации системы, например ЕСИА (Госуслуги), Росреестр для выписок ЕГРН и т. д. Для этого добавьте сертификат ЭЦП на CoGIS Portal, см.
1.2
- меню
Администрирование
>
Настройки
>
Сертификаты
. Теперь сертификат доступен для выбора в Конструкторе.
Для нужного отчета в параметре
Формировать ЭЦП для отчета по сертификату
выберите из выпадающего списка необходимый сертификат. Таким образом выдаваемый файл отчета будет иметь открепляемую электронную цифровую подпись, то есть к каждому сгенерированному файлу отчета будет добавлен дополнительный файл .sig с тем же именем файла, сформированный хэшем и содержащий зашифрованный сертификат с электронной цифровой подписью (см.
Рисунок 528
). По умолчанию сертификат не выбран.

В настройке
Действия с отчетом
по умолчанию включена опция
Отдать пользователю
, то есть пользователю будет отдан сгенерированный файл отчета. Если выходных файлов отчета много, а также имеются дополнительные файлы с подписью .sig, тогда все файлы будут архивированы в файл .zip с именем входного сгенерированного файла отчета, который будет отправлен пользователю.
Иногда необходимо не отдавать пользователю сгенерированный файл отчета, а сразу прикрепить его к текущему объекту, в таком случае отключите опцию
Отдать пользователю
и включите опцию
Прикрепить к текущему объекту
(см.
Рисунок 530
). Дополнительно убедитесь, что отчет строится к текущему объекту с заданным макросом
{CurrentFeature}
, иначе отчет не будет прикреплен. Если сформировано несколько файлов отчетов, каждый из них прикрепляется к объекту. Чтобы при прикреплении к объекту вложение с файлом отчета сохранялось автоматически, отметьте опцию
Сохранять вложения автоматически
. Если опция не отмечена, то пользователю придется сохранять прикрепленный файл вручную. При прикреплении отчета к текущему объекту можно настроить обновление полей источника. Добавьте пару имя-значение для параметра
Применяемые значения полей
по кнопке
. Выберите атрибутивное поле источника отчета из выпадающего списка в строке
Имя
и задайте
Значение
, которое следует записать в это поле при прикреплении отчета к объекту (см.
Рисунок 529
).


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

Как и для другого элемента Конструктора, для отчета доступны следующие инструменты:
-
Экспорт в файл XML ;
-
Клонировать - в список отчетов добавится новый отчет с настройками, идентичными выбранному, и названием с припиской «копия»;
-
Временно отключить / Включить ;
-
Удалить .
Входные параметры отчета
Входные параметры отчета определяют значения, при которых будет формироваться отчет. Значения входных параметров можно также использовать в макросах шаблона отчета (см. п.
7.8.2.3
и п.
7.8.3.3
).
Входные параметры могут быть заданы пользователем веб-карты при формировании отчета из виджета (см. п.
7.7.2.11
).
Укажите
Имя
параметра, которое будет использоваться для вставки в отчет или для настройки фильтров из параметров.
Задайте
Название параметра
- это подпись параметра, которая будет отображаться для пользователя при формировании отчета.
Определите
Тип параметра
:
- Строка;
- Целое число;
- Дробное число;
- Да/Нет;
- Дата;
- Дата и время.

Рисунок 531 - Настройка параметров отчета
Укажите, обязательно ли задавать параметр для формирования отчета (опция
Значение обязательно
), допустим ли выбор нескольких значений (опция
Выбор нескольких значений
). Опция
Значение обязательно
доступна для параметров всех типов, кроме типа
Да/Нет
. Опция
Выбор нескольких значений
доступна только для параметров типа
Строка
и
Целое число
.
При добавлении макросов с параметрами отчета в шаблон формата XLSX (см. п.
7.8.2.3
) значение параметра может быть продублировано на каждой строке таблицы итогового отчета, а может быть выведено один раз, объединяя ячейки всех строк в одну. Чтобы объединять ячейки таблицы с вставленным параметром отчета в одну, отметьте опцию
Объединять ячейки
.
Укажите
Значение по умолчанию
. Для опции
Значение по умолчанию
можно использовать макросы (см. п.
7.8.5.2
).
Для параметров типа
Дата
или
Дата и время
задайте допустимый диапазон лет (опция
Диапазон лет от … до ...
) для выбора из календаря. По умолчанию пользователю карты предоставляется возможность выбрать дату из календаря плюс-минус 10 лет от текущей даты. Для данного параметра поддерживаются макросы:
{CurrentYear}
- текущий год);
{CurrentYear-5y}
- год за 5 лет до текущего;
{CurrentYear+5y}
- год через 5 лет от текущего.
Для того, чтобы параметры отображались в строку, отметьте опцию
Отображать в строку
. Иначе параметры будут отображены в столбец.
Для описания параметра (опция
Описание
) можно использовать HTML-код, описание будет видно пользователю. Подробнее о макросах, используемых для записи значений, которые автоматически будут заполнены при формировании отчета, см. п.
7.8.5.2
.
Определите справочник значений (опция
Справочник значений
), если параметр является списком или значение нужно выбирать из предустановленного списка (см.
Рисунок 532
). Эта настройка позволяет формировать список для выбора значений данного параметра. Список может задаваться:
- Вручную - для этого выберите Список и сформируйте список предустановленных значений, определяя значение параметра (текстовая строка Код ) и подпись (текстовая строка Значение ), которая будет выводиться.
- Например: 01 - Январь; 02 - Февраль, и т. д.
- Из атрибута слоя - укажите картографический сервис и номер слоя. Укажите атрибутивное поле, содержащее код (опция Атрибут с кодом ) и название атрибутивного поля со значением (опция Атрибут со значением ). Укажите атрибутивное поле для сортировки, введите его название в поле Сортировка и в выпадающем списке выберите тип сортировки.
-
Чтобы отфильтровать список значений справочника, можно задать SQL-фильтр для слоя по кнопке
. Чтобы пользователь карты мог выбрать значение только из списка доступных на момент выбора, отметьте опцию Учитывать фильтр пользователя на слой .
-
Кроме того, пользователь веб-карты может задать значение параметра отчета из справочника по объекту, выбранному с карты. Для этого отметьте опцию
Выбор с карты
, и рядом с параметром пользователю станет доступна кнопка выбора объекта с карты
(см. Рисунок 533 ).
- Если при выборе с карты в месте клика или в выделенной области карты найдено более одного объекта слоя справочника, пользователю будет доступен список объектов в этом местоположении, чтобы выбрать нужный. Отметьте опцию Только верхний объект , и в таком случае автоматически для параметра будет выбрано значение справочника по верхнему объекту, найденному в зоне клика или выделения.
- Обратите внимание, что опция Выбор с карты доступна только для виджетов с видом отображения Окно или Панель (см. п. 7.7.2.1.1 ); и слой, заданный для справочника, должен быть отмечен в параметре Использовать в карте вкладки Карта картографического сервиса (см. п. 7.3.2.3 ).
- Из домена - список, формируемый на основе атрибутивного домена слоя сервиса. Укажите картографический сервис и номер слоя. Укажите атрибутивное поле (опция Атрибут ), которое использует атрибутивный домен.
Опция
Справочник значений
доступна только для параметров типа
Строка
и
Целое число
.


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

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


Таблица 12 - Макросы, используемые в настройках параметра в опции Значение по умолчанию при формировании отчета
Макрос
|
Пример
|
Тип параметра
|
Запись значения
|
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}
|
Дата/Время
|
Форматирование даты
|
Данные из слоя или таблицы
Имя источника
используется в шаблоне отчета, поэтому лучше переопределить имя, заданное по умолчанию, на более информативное, например, задать имя по названию слоя или таблицы.
Укажите сервис и номер слоя источника данных. В выпадающем списке отображаются все картографические сервисы карты. Чтобы при формировании отчета учитывались фильтры, заданные в карте, отметьте опцию
Использовать фильтры в карте
. Чтобы определить сортировку данных, вставляемых в таблицу, укажите поле и порядок сортировки, см.
Рисунок 535
.

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

Из какого поля значения должны вставляться в отчет, задается в самом шаблоне отчета.
Чтобы в отчете родительского объекта сформировать мини-отчет для дочернего объекта, тогда в опции
Источники данных
добавьте необходимый источник данных дочернего объекта и включите опцию
Формировать дочерний отчет
, и укажите необходимый шаблон отчета дочернего объекта к родительскому отчету, например, в отчете необходимо отобразить на карте более детальнее месторасположение дочернего объекта, пример ниже, см.
Рисунок 537
.
При этом происходит вставка дочернего мини-отчета в родительский отчет, с определением всей гибкости в полноценный отчет:
- вставка карты подразумевает поддержку опций в блоке Источника данных с типом Картографический материал;
- вставка нескольких карт для каждого дочернего объекта;
- вставка QR-кода для каждого дочернего объекта;
- макросы {CurrentFeature.myfield} для входных параметров дочернего отчета формируются по текущему объекту из слоя текущего источника данных;


Картографический материал
Имя источника
используется в шаблоне отчета, поэтому лучше переопределить имя, заданное по умолчанию, на более информативное, например, задать имя по названию слоя.
Укажите
Сервис печати
, с помощью которого будет формироваться картографический материал (см.
Рисунок 538
). Если в картографическом материале должна быть базовая карта, выберите ее в выпадающем списке (параметр
Базовая карта
). Для выбора доступны все базовые карты.

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

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

Укажите отступ в процентах (параметр
Отступ в %
), тогда в сформированный картографический материал будет добавлен отступ относительно определенного экстента. Если масштаб карты, соответствующий заданному экстенту, не попадет в диапазон указанных значений минимального и максимального масштаба, то картографический материал будет сформирован в пределах заданных ограничений. Например, при варианте экстента
Текущий из карты
у пользователя в момент формирования отчета выбран масштаб 1:500, а минимальный указанный масштаб 1:2000, в этом случае сформируется картографический материал на масштабе 1:2000. Если при расчете не важна точность подобранного масштаба, а надо получить целые числа, отметьте опцию
Округлять масштаб
. В результате масштаб для формирования картографического материала будет выбираться округленный, например 1000, а не 916.
Укажите
Ширину
и
Высоту
в миллиметрах,
DPI
, выберите
Шаблон
для печати (для выбора доступны шаблоны сервиса печати). При необходимости задайте
Название
,
Автора
и
Копирайт
. Пример настроек приведен ниже, см.
Рисунок 541
. Элементы шаблона и зарамочного оформления задаются аналогично элементам сервиса печати, и могут быть переопределены пользователем для формирования картографического материала. Подробнее см. раздел
Шаблон печатной формы карты
, см. п.
7.3.5
.

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

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


Вызов DLL-библиотеки
С помощью вызова сторонней DLL-библиотеки вы можете преобразовывать свои источники данных необходимым образом, добавлять новые источники или кастомизировать модель вывода исходных данных в отчет.
Добавьте подключение к необходимым DLL-библиотекам на CoGIS Portal (см. п.
1.2
- меню
Администрирование
>
Настройки
>
Сторонние обработчики
). После этого библиотеки будут доступны для выбора в Конструкторе.
Выберите в Конструкторе для отчета в разделе
Предобработка данных
опцию
Вызов DLL-библиотеки
, нажав на кнопку
. В добавленном поле выберите из выпадающего списка нужную DLL-библиотеку.

Группировка данных по полю
Для вывода значений в таблицах отчетов по группам выберите опцию
Группировка данных по полю
раздела
Предобработки данных
, нажав на кнопку
(см.
Рисунок 543
). Задайте название процессу предобработки данных (параметр
Название
). Выберите из добавленных к текущему отчету источников данных тот, по которому будут сформированы группы (параметр
Источник данных
).

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

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

Под одним именем группы, согласно выражению для группировки, сформируется несколько групп значений указанного источника. В отчете можно отобразить как все сформированные группы значений, так и только конкретные. Аналогично для созданных подгрупп.
Для того, чтобы вывести в отчет сформированные группы значений, добавьте в таблицу шаблона отчета макросы вида (см.
Рисунок 545
и
Рисунок 546
):
- {Source.Groups.GroupName.Macros};
- В отчет добавятся значения макроса для всех групп под именем GroupName .
- {Source.Groups.GroupName.N.Macros};
- В отчет добавятся значения макроса только для группы под именем GroupName с номером N .
- {Source.Groups.GroupName.Data.Groups.GroupName1.Macros};
- В отчет добавятся значения макроса для всех подгрупп под именем GroupName1 из всех групп под именем GroupName .
- {Source.Groups.GroupName.Data.Groups.GroupName1.N1.Macros};
- В отчет добавятся значения макроса для подгрупп под именем GroupName1 с номером N1 из групп под именем GroupName .
- {Source.Groups.GroupName.N.Data.Groups.GroupName1.N1.Macros};
- В отчет добавятся значения макроса для подгрупп под именем GroupName1 с номером N1 из группы под именем GroupName с номером N .
где:
- Source - источник исходных данных, используемый для группировки;
- Groups - указатель, определяющий, что будет вставлена группа значений;
- Data - указатель, определяющий, что используются данные группы (или подгруппы);
- GroupName - имя группы, группы значения которой будут вставлены в отчет;
- GroupName1 - имя подгруппы, группы значения которой будут вставлены в отчет;
- N - номер группы, начиная с 0;
- N1 - номер подгруппы, начиная с 0;
- Macros - макрос с указанием формата отображения данных (см. Таблица 13 ).
Таблица 13 - Макросы для отображения группы значений в отчетах
Макрос с возможным форматом
|
Описание
|
Name
|
Результат расчета выражения для группировки
|
__Index
|
Порядковый номер группы, начиная с 1
|
Data.Rows.__Index
|
Порядковый номер значения группы, начиная с 1
|
__FullIndex
|
Порядковый номер подгруппы с указанием номера группы, вида
N.N
, начиная с 1.1
|
Data.Rows.__FullIndex
|
Порядковый номер значения подгруппы с указанием номера группы, вида
N.N
, начиная с 1.1
|
Data.Rows.__Indexes
|
Порядковый сквозной номер по значениям всех групп, начиная с 1
|
Data.Stat.Sum.Name
Data.Stat.Sum.Name::F4
|
Расчет статистического показателя (в данном случае суммы Sum) по значениям указанного атрибутивного поля (в данном случае поля Name) объектов группы и отображение результата в указанном формате.
Можно использовать и другие статистические показатели, см.
7.8.2.4
|
Data.Stat.Count
|
Расчет статистического показателя (в данном случае количество значений Count) для группы
|
Data.Rows.Name
Data.Rows.Datefield::dd.MM.yy
|
Значения указанного атрибутивного поля (в данном случае поля Name или Datefield) в указанном формате.
|
Data.Rows.0.Name
|
Значения указанного атрибутивного поля (в данном случае поля Name) конкретного объекта группы (в данном случае - первого)
|




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

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


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


Выберите опцию
Внешний процесс
в разделе
Постобработка отчета
и задайте необходимые опции:
- Путь до исполняемого файла - по умолчанию не задан, укажите путь до исполняемого файла;
- Параметры командной строки, чтобы через определение макросов передать:
- Рабочая директория - по умолчанию не задана, укажите при необходимости путь хранения GUID-папки для использования внешнего процесса;
- Максимальное время ожидание в секундах - по умолчанию не задано, то есть ограничения во времени нет. При необходимости укажите время в секундах.
- Имя группы для последовательного вызова - укажите при необходимости имя группы, тогда при многопроцессорном запуске будет выстроена очередь из всех параллельных вызовов генерации отчетов для их последовательного запуска, но только для заданной группы. Например, генерация . pdf из . docx средствами LibreOffice , см. Рисунок 549 . По умолчанию группа не задана, тогда выстраивание в очередь не производится, при этом запуск будет произведен безотлагательно.
Чтобы сгенерированный файл отчета .docx был выдан пользователю в формате .pdf, подписанном электронной цифровой подписью (ЭЦП) для верификации системы, например ЕСИА (Госуслуги), Росреестр для выписок ЕГРН и т. д., необходимо:
- В опции Формировать ЭЦП для отчета по сертификату выбрать добавленный сертификат (см. подробнее 7.8.5 );
- Для добавленного внешнего исполняемого файла (настройка Внешнего процесса ) добавьте в опции Параметры дополнительные макросы по техническому сертификату с ЭЦП для сгенерированного файла отчета в формате .pdf (см. Рисунок 550 ):
Если после вызова внешнего процесса в GUID-папке появились подпапки, тогда всё содержимое GUID-папки с подпапками будет архивировано в файл .zip, который будет отправлен пользователю (при включенной опции
Отдать пользователю
).




Вызов инструмента геообработки
Для постобработки отчета можно вызывать инструмент геообработки. Примером такой постобработки может быть архивирование полученного файла отчета.
Настройте для вашего картографического приложения необходимый сервис геообработки (см.
7.3.4
) во вкладке
Сервисы
.
Для нужного инструмента геообработки добавленного сервиса настройте входные и выходные параметры. Для того, чтобы в инструмент геообработки по умолчанию передавался сформированный файл отчета, в параметре
Значение по умолчанию
для входного параметра укажите макрос
{ReportPath}
. В зависимости от набора входных параметров инструмента геообработки можно использовать и другие макросы (см.
Таблица 14
). Макросы записываются в параметр
Значение по умолчанию
в фигурных скобках.
Таблица 14 - Макросы для использования в качестве значений по умолчанию для входных параметров инструмента геообработки
Макрос
|
Описание
|
{ReportFolder}
|
Папка, в которой находится файл отчета
|
{ReportName}
|
Имя файла отчета
|
{ReportExtFile}
|
Расширение файла отчета
|
{ReportPath}
|
Путь до файла отчета
|
{
Source
}, где
Source - имя добавленного к отчету источника данных
|
Если макрос задан в качестве значения по умолчанию для входного параметра типа Таблица или Слой объектов, в инструмент геообработки будут переданы атрибутивные данные таблицы-источника или объекты слоя-источника в json-формате.
Если макрос задан в качестве значения по умолчанию для входного параметра типа Файл, в инструмент геообработки будет передан файл .json, сформированный на основе указанного источника
|
{
Source
.Attachments}, где
Source - имя добавленного к отчету источника данных
|
Набор вложений добавленного к отчету источника данных.
Если макрос задан в качестве значения по умолчанию для входного параметра типа Файл, в инструмент геообработки будет передан zip-архив, содержащий все вложения указанного источника
|
{
Map
}, где
Map - имя добавленного к отчету источника картографических данных
|
Если макрос задан в качестве значения по умолчанию для входного параметра типа Файл, в инструмент геообработки будет передан файл .png, сформированный на основе картографического источника
|
Выберите опцию
Инструмент геообработки
в разделе
Постобработка отчета
(см.
Рисунок 551
). Задайте имя процессу постобработки (параметр
Имя
). Из выпадающего списка выберите настроенный сервис геообработки (параметр
Сервис
).
Выходные файлы, полученные в результате постобработки, сохраняются во временную GUID-папку отчета. При необходимости отметьте опцию
Удалять все прежние файлы при выполнении задачи геообработки
. В этом случае исходный файл отчета будет удален из папки.

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

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

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

-
Отчеты
- Отчеты. Общие положения.
- Создание шаблона для отчета в формате .xlsx
- Создание шаблона для отчета формата .docx
- Добавление шаблона отчета
- Настройка отчета на вертикальной вкладке Отчеты
- Настройка генерации отчета на интерактивной карте