Порядок работы

Пакеты документов
Настройки модуля Reports
Что происходит “за кадром”

Чтобы начать знакомство с модулем Reports, обратимся снова к нашему участку из файла Пример (2 участка).dmf, который мы видели ранее на Рис.12.3.

  1. Пометьте участок (или оба).

  2. Запустите модуль Reports с помощью команды меню Сервис > Генератор отчетов…. Примерный вид окна показан на Рис.12.10.

  3. В группе Тип отчета выберите один из флажков:

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

    • Пофамильный. Участки группируются пофамильно. Выбрать фамилию можно в том же выпадающем списке. В отчет попадут все участки, числящиеся за выбранным землепользователем. Используется, например, для передачи одному землепользователю участков ОЖБ и ОСГ одной документацией.

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

  4. На панели слева выберите отчет. Все отчеты здесь сгруппированы в некие логические категории, как правило, по виду землеустроительной документации (смотрите чуть ниже о пакетах документов). Сразу после выбора, программа запустит на выполнение шаблон, ассоциированный с выбранным документом.

  5. В окне просмотра, возможно после некоторого раздумья, появится сгенерированный отчет. Если автоматической генерации не произошло, запустите ее вручную кнопкой Сформировать отчет.

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

    Рисунок 12.10. Окно модуля Digitals Reports

    Окно модуля Digitals Reports

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

  7. Готовый отчет можно распечатать или сохранить. Эти операции доступны через стандартные кнопки на панели инструментов или команды главного меню. При сохранении доступно несколько форматов файла, в том числе RTF и PDF.

    Сохраненный в формате Report отчет (то есть “родном” формате) можно снова открыть в окне модуля Reports - например, для повторной распечатки.

Пакеты документов

В модуле Reports некий набор документов, объединенных в рамках одной категории, называют пакетом документов. Пакеты призваны упорядочить все ваши шаблоны в виде красивого дерева доступных документов.

Редактор пакетов запускается командой меню Дизайнер > Пакеты документов. В ответ на эту команду открывается простой диалог, показанный на Рис.12.11. Диалог предоставляет следующую функциональность:

  • Кнопка Создать категорию. Обычно категории отвечают видам выпускаемой документации и именуются соответствующим образом.

  • Кнопка Создать документ. Создает документ внутри категории. Позаботьтесь о том, чтобы дать документу удобочитаемое имя.

    Реальный шаблон FastReport, который будет “прятаться” за документом, сопоставляется ему в поле ввода в нижней части окна. Для удобства выбора файла, в правой части поля ввода имеется кнопка открытия диалога выбора файла формата FR3. Шаблоны FastReport обычно хранятся в подпапке Templates программной папки.

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

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

  • Кнопка Удалить. Удаляет категорию или документ. Отметим, что при удалении документа из дерева реальные файлы шаблонов на диске не пострадают.

Рисунок 12.11. Диалог “Редактирование пакета документов”

Диалог “Редактирование пакета документов”

Настройки модуля Reports

Окно настроек можно вызвать из меню Дизайнер > Настройки… или кнопкой панели инструментов Настройки. Внешний вид диалога показан на Рис.12.12.

Рисунок 12.12. Диалог настроек модуля Digitals Reports

Диалог настроек модуля Digitals Reports

Кратко пройдем по настройкам:

  • В поле ввода Код ФИО владельца указывается параметр, содержащий имена землепользователей. Параметр можно задать по коду или тегом IN4. Отметьте также “галочку” Сортировать список владельцев, чтобы их удобнее было искать в выпадающем списке имен и в самом отчете.

  • В группе Сортировка можно задать пользовательскую сортировку объектов (то есть участков). Отчет с отсортированными по какой-либо системе участками смотрится гораздо опрятнее, особенно если участков много.

  • В группе Назначение угодия указывается тег параметра, содержащего коды угодий (имеется в виду коды по какой-либо земельной классификации, обычно по форме 6-зем).

  • Группа Целевое назначение отвечает за группировку участков по тегу целевого назначения для группового отчета.

  • Галочки Автоматическое формирование отчета, Выдавать ошибку при отсутствии параметра, Спрятать левую панель управляют поведением и интерфейсом модуля Reports и говорят сами за себя.

Что происходит “за кадром”

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

Передача данных в модуль отчетов происходит весьма элегантным способом - через буфер обмена. Фактически, во время запуска модуля Reports, неявно формируется текстовый отчет типа Комбинированный список, настройки которого сохранены в шаблоне Reports.rep (Смотрите выше раздел «Создание простых текстовых отчетов»).

Упомянутый шаблон Reports.rep обеспечивает передачу всех параметров помеченных объектов карты, координаты их контуров, а также параметры дочерних объектов (что обеспечивает отчет данными для формирования экспликации).

Настройки шаблона Reports.rep подойдут для большинства случаев. Единственной значимой причиной что-либо изменить может быть желание переупорядочить колонки каталога координат. Дело в том, что в модуле отчета мы ссылаемся на эти данные “как есть”, поэтому формат каталога практически целиком зависит от сформированного текстового отчета.

Чтобы настроить формат передачи каталога следует:

  1. Запустить диалог Формирование отчета с помощью команды Сервис > Отчет….

  2. Нажать кнопку Шаблон и из выпадаюшего меню выбрать Reports. Диалог примет сохраненные настройки.

  3. Измените строку формата каталога координат в выпадающем списке Формат.

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

    Обычно пользователи убирают или наоборот добавляют суммы длин и/или внутренних углов (звездочки в строке формата NI*AL*XY). Еще одна причина отредактировать строку формата - это замена символа N на P, которая приводит к тому, что вместо порядкового номера узла в контуре участка будут выводиться имена поворотных точек из точечных объектов, совпадающих с узлами контура.

  4. Нажмите кнопку Создать отчет и убедитесь в правильности ожидаемого результата.

  5. Если все в порядке, нажмите кнопку Создать… и пересохраните настройки в файле Reports.rep.

После получения данных, Reports выполняет их разбор, сортировку и группировку в соответствии с настройками модуля. Далее данные в виде датасетов (или источников данных) передаются ядру FastReport, вместе с файлом шаблона для генерации отчета.

Ядро FastReport “сканирует” шаблон, подставляя в предусмотренные дизайнером элементы данные из датасетов. Данные могут быть предварительно обработаны в скриптах событий, связанных с элементами. При необходимости, для отчета также можно предусмотреть формы ввода дополнительных данных, которые будут автоматически вызваны перед стартом обработки. В этих формах можно ввести данные, которых нет в карте, но которые требуются для данного типа отчета.