XML+DMT+FastReport

Создание нового шаблона
Порядок работы с XML в скриптах
Функции для работы с XML

Данная технология призвана объединить оба описанных выше подхода (шаблоны документов DMT и отчеты FastReport) и учесть сложности, сопутствующие представлению обменного файла XML в кадастровой карте. Вот как все происходит:

  1. Откройте файл XML и пометьте участок. Для примера можно взять файл XMLExample.xml из папки Maps.

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

    Этот пункт соответствует пакету (по сути - папке) CadPlanA4.dmt, хранящейся в папке Templates. Внутри нее находится шаблон документа CP.dmt и шаблон отчета CadPlanA4.fr3.

  3. Программа сгенерирует графическую часть на базе шаблона CP.dmt и откроет ее в новой карте. Далее, вам следует отредактировать ваш будущий план по своему вкусу. После окончания редактирования, нажмите кнопку Продолжить в диалоге ожидания.

    Все, что попадает в рамку карты, будет автоматически экспортировано в файл формата WMF в подпапку Pictures программной папки под уникальным именем. Временная карта будет закрыта.

    Далее, в буфер обмена программа запишет данные о самом обменном файле. Отметим, что от передачи в виде неявно формируемого Комбинированного списка разработчикам пришлось отказаться. Вместо этого используется тот же язык XML, немного адаптированный для данной задачи. Подробности чуть ниже.

  4. На этом шаге запускается модуль Reports, в который на обработку передается шаблон отчета CadPlanA4.fr3.

    Здесь вступает в игру программный код, которым данный шаблон просто таки “нафарширован”. Код выполняет разбор данных, переданных из Digitals, создает элементы отчета (в частности, экспликацию), а также загружает сохраненную на предыдущем этапе графическую часть.

  5. Готовый документ можно открыть для окончательной правки в дизайнере двойным щелчком. Сохранить и/или распечатать отчет можно с помощью стандартных команд модуля Reports.