
- •Digitals
- •Содержание
- •Введение
- •Кому адресована эта книга
- •Организация книги
- •Системные требования
- •Соглашения, принятые в данной книге
- •Вопросы и пожелания
- •Благодарности
- •Об авторе
- •Глава 1. Установка и обновление
- •Приобретение Digitals
- •Версии программы
- •Виды лицензий
- •Установка Digitals
- •Установка из Интернет
- •Электронный ключ защиты
- •Проверка установки
- •Установка сервера лицензий
- •Получение лицензии из локальной сети
- •Обновление Digitals
- •Обновление вручную
- •Обновление лицензии
- •Работа в демонстрационном режиме
- •Несколько версий на одном компьютере
- •Что в программной папке?
- •Глава 2. Краткий обзор интерфейса
- •Запуск Digitals
- •Запуск нескольких копий программы
- •Настройка языка интерфейса
- •Главное окно
- •Заголовок программы
- •Главное меню
- •Главная панель инструментов
- •Закладки открытых карт
- •Рабочее окно карты
- •Контекстное меню
- •Боковые панели инструментов
- •Строка статуса
- •Главное окно в режиме стерео
- •Использование боковой колонки
- •Получение помощи
- •Когда ничего не работает
- •Глава 3. Быстрый старт
- •Постановка задачи
- •Урок 1. Расчет полевой съемки
- •Урок 2. Привязываем растровую подложку
- •Урок 3. Составляем топографический план
- •Урок 4. Создаем обменный файл
- •Урок 5. Готовим документы
- •Подводим итоги
- •Глава 4. Основы работы с картой
- •Создание карты
- •Открытие и сохранение карт
- •Открытие перетаскиванием
- •Список “Избранное”
- •Автоматическое сохранение карт
- •Шаблоны карт
- •Создание собственных шаблонов
- •Установка свойств карты
- •Масштаб
- •Рамка
- •Система координат
- •Точность карты
- •Точность координат
- •Графическая точность
- •Ограничение доступа к карте
- •Режимы просмотра карты
- •Режим показа центров
- •Специальные режимы просмотра
- •Дополнительные настройки отображения
- •Управление рабочим окном карты
- •Навигатор
- •Глава 5. Сбор и правка объектов
- •Общие понятия
- •Захват точки
- •Точность захвата
- •Захват с клавиатуры
- •Пометка объекта
- •Особенности пометки нескольких объектов
- •Слои и их статус
- •Быстрое изменение статуса слоя
- •Параметры объекта
- •Отмена и повтор операций
- •Сбор
- •Выбор активного слоя
- •Избранные слои
- •Выбор слоя по образцу
- •Выбор из окна статуса слоев
- •Выбор шаблона сбора
- •Установка режима высоты
- •Порядок сбора
- •Дополнительные возможности при сборе
- •Особенности сбора объектов с разрывом
- •Настройки режима Сбор
- •Применение навигатора в процессе сбора
- •Режимы конструирования
- •Сбор по координатам
- •Новый объект
- •Вставка из буфера обмена
- •Правка
- •Манипулирование объектами в целом
- •Удаление объектов
- •Работа с буфером обмена
- •Правила вставки объектов
- •Специальная вставка
- •Перемещение объекта
- •Изменение порядка отрисовки
- •Изменение слоя объекта
- •Работа с точками (узлами)
- •Применение “горячих клавиш” при работе с узлами и линиями
- •Дополнительные возможности при перемещении узлов
- •Особенности работы с точечными объектами
- •Маркирование точек и линий
- •Окно свойств линии
- •Перемещение маркированной линии
- •Окно свойств объекта
- •Изменение координат объекта
- •Инструменты редактирования
- •Контекстное меню точки (узла)
- •Панель Правка
- •Меню Правка
- •Меню Сервис и прочие возможности
- •Инфо
- •Быстрое назначение параметров слою
- •Заполнение параметров
- •Копирование и вставка значений параметров
- •Копирование перетаскиванием
- •Специальная вставка
- •Шаблоны заполнения
- •Калькулятор
- •Фиксированные и производные параметры
- •Делаем карту плоской
- •Автоматизация заполнения параметров и выноса подписей
- •Поиск и замена
- •Поиск по списку
- •Поиск по содержимому нескольких параметров
- •Дополнительные возможности поиска
- •Замена значений
- •Инструмент Автоинфо
- •Вынос подписей
- •Быстрый вынос
- •Менеджер подписей
- •Манипулирование подписями в рабочем окне карты
- •Контекстное меню подписи
- •HTML-подписи
- •Особенности работы в режиме стерео
- •Глава 6. Классификатор
- •Устройство карты
- •Слои
- •Список слоев
- •Контекстное меню слоя
- •Режим редактирования имен
- •Порядок слоев
- •Фиксированные слои
- •Слой по умолчанию
- •Фильтрация списка
- •Поиск в списке слоев
- •Загрузка и сохранение списка
- •Тип слоя
- •Атрибуты отображения
- •Атрибуты линии
- •Атрибуты заливки
- •Атрибуты шрифта
- •Назначение условного знака слою
- •Назначение параметров слою
- •Группа слоя
- •Статус слоя
- •Диапазон видимости
- •Шаблон сбора
- •Сервисные операции
- •Параметры
- •Список параметров
- •Фиксированные параметры
- •Тип параметра
- •Атрибуты отображения
- •Атрибуты линии
- •Атрибуты заливки
- •Атрибуты шрифта
- •Назначение условного знака параметру
- •Условный знак, зависящий от содержимого параметра
- •Производные параметры
- •Функции в производных параметрах
- •Маска параметра
- •Маски форматирования
- •Маски правил проверки и форм ввода
- •Статус параметра
- •Библиотека условных знаков
- •Работа с каталогом знаков
- •Операции с буфером обмена
- •Создание и редактирование знака
- •Размер знака
- •Точка привязки знака
- •Тип знака
- •Рисование элементов знака
- •Пометка элементов знака
- •Изменение формы и положения элементов
- •Атрибуты отображения
- •Группировка элементов
- •Цепочки знаков
- •Сохранение библиотеки во внешний файл
- •Глава 7. Работа с картой (продолжение)
- •Группировка объектов
- •Манипулирование группами в целом
- •Манипулирование содержимым группы
- •Пометка объектов входящих в группу
- •Просмотр и редактирование объектов
- •Отображение групп в рабочем окне карты
- •Построения в карте
- •Засечки
- •Вынос в натуру
- •Преобразование объектов
- •Разворот объекта(ов)
- •Особенности поворота точечных объектов
- •Заполнение контуров точечными значками
- •Блоки
- •Порядок создания
- •Вставка блока в карту
- •Инструменты, применимые к карте в целом
- •Вставка внешних данных в карту
- •Обрезка и выравнивание карты
- •Разворот карты
- •Генерализация
- •Сводка, сшивка и другие сервисные операции
- •Статистика карты
- •Оформление карты
- •Зарамочное оформление на базе шаблона
- •Создание шаблона
- •Вставка шаблона
- •Вставка номенклатурной рамки
- •Вставка легенды
- •Сетка координат
- •Разбивка карты на листы
- •Вставка таблиц
- •Редактирование таблиц
- •Переопределение слоев и тематические виды
- •Переопределение слоев
- •Создание тематического вида
- •Проверка качества карты
- •Контроль узлов
- •Анализ карты в панели Список
- •Проверка типа и вложенности объектов
- •Навигация по дереву
- •Визуальный контроль совпадения узлов
- •Меню Карта > Проверка
- •Сравнение карт
- •Подсистема контроля карт
- •Выбор сценария для контроля карты
- •Процесс контроля
- •Написание собственного сценария
- •Пример сценария
- •Глава 8. Работа с растрами
- •Общие понятия
- •Типы растровых материалов
- •Характеристики растра
- •Форматы растров
- •Какой формат выбрать?
- •Ориентирование растров
- •Полиномиальное ориентирование
- •Назначение растру системы координат
- •Аэросъемка, спутниковые снимки и прочие виды съемок
- •Где хранится геопривязка?
- •Другие форматы геопривязки
- •Порядок поиска геопривязки
- •Работа с архивом элементов ориентирования
- •Использование растра в качестве подложки
- •Режим стерео
- •Особенности работы со снимками 3-DAS-1
- •Коррекция тона
- •Просмотр свойств открытых растров
- •Растрово-векторные карты
- •Вставка растров
- •Из буфера обмена
- •Из файла
- •Вставка по ссылке
- •Совмещенный режим
- •Манипулирование растровым объектом в карте
- •Маскировка части растра
- •Автоматическая маскировка при вставке
- •Коррекция тона
- •Полупрозрачность
- •Трансформирование растров
- •Трансформирование карт
- •Пошаговое трансформирование
- •Пакетное трансформирование группы планшетов
- •Создание ортофото
- •Трансформирование растров в другую систему координат
- •Использование картографических сервисов Интернет
- •Уточнение места положения загруженных растров
- •Получение атрибутов объектов из некоторых типов карт
- •Дополнительные сведения
- •Глава 9. Cистема координат карты
- •Общие понятия
- •Государственная система координат Украины
- •Пересчет по связующим точкам
- •Округление координат карты
- •Графический способ указания связующих точек
- •Применение датумов
- •Автоматический пересчет координат
- •Встроенные датумы
- •Специализированные датумы
- •Описание датума
- •Как работает пересчет координат
- •Особенности пересчета высот
- •Использование полиномиальной коррекции для связи устаревших систем с УСК2000
- •Пример использования
- •Работа с географическими координатами
- •Вставка из буфера обмена
- •Пересчет в / из
- •Глава 10. Работа с ЦМР
- •Общие понятия
- •Триангуляционная сеть (TIN)
- •Сетка ЦМР
- •Создание сетки
- •Автоматическое создание
- •Создание для всего блока
- •Создание из существующих объектов
- •Комбинированный способ
- •Ручное измерение сетки
- •Редактирование сетки
- •Изменение конфигурации сетки
- •Изменение высоты узлов
- •Дополнительные настройки режима измерения ЦМР
- •Коррекция высот сетки в целом
- •Специальные возможности
- •Преобразование в пикеты
- •Построение горизонталей
- •Переприсвоение высот
- •Линейное переприсвоение высот
- •Трехмерное отображение карты
- •Введение в 3D-моделирование
- •Профиль, сечение, объем
- •Построение продольного профиля
- •Вспомогательные инструменты
- •Другие типы профилей. Сечение.
- •Получение отчета по трассе
- •Подсчет объемов
- •Более сложный пример
- •Режим вычитания сеток ЦМР
- •Планирование площадок
- •Глава 11. Импорт и экспорт карт
- •Общие понятия
- •О настройках чтения и записи
- •Текстовые форматы
- •DAT file (NXYZ)
- •ASCII text file
- •AutoCAD DXF/DWG
- •И все-таки, DXF или DWG?
- •Альтернативные подходы к сохранению карты в DXF/DWG
- •Псевдонимы имен слоев и блоков
- •Особенности чтения файлов DXF/DWG
- •ArcGIS SHP
- •Чтение
- •Запись
- •Настройки чтения и записи
- •Псевдонимы имен слоев и параметров
- •MapInfo MID/MIF
- •Вывод в растровые форматы
- •Глава 12. Применение в землеустройстве
- •Общие понятия
- •Еще раз о точности карты
- •Типовые настройки округления
- •Графическая интерпретация округления координат
- •Чтение обменных файлов
- •Настройки чтения
- •Запись обменных файлов
- •“Подводные камни”
- •Прочие возможности при сохранении …
- •для формата IN4
- •для формата XML
- •Настройки записи
- •Создание обменных файлов “с нуля”
- •Создание IN4
- •Обзор шаблона по умолчанию Normal.dmf
- •Порядок создания
- •Пример карты
- •Создание XML
- •Обзор шаблона XMLNormal.dmf
- •Порядок создания
- •Пример карты
- •Поддержка справочников для ввода некоторых данных
- •Шаблоны заполнения
- •Изменение существующих обменных файлов
- •Проверка обменных файлов
- •Модуль проверки IN4
- •Модуль проверки XMLChecker
- •Конвертация IN4 в XML
- •Пакетная конвертация группы файлов
- •Извлечение информации из карты
- •Вставка таблиц
- •Экспликация
- •Список смежников
- •Создание простых текстовых отчетов
- •Графический фрагмент
- •Шаблоны документов
- •Порядок генерации документа из шаблона
- •Пакеты документов
- •Групповой режим
- •Два участка в одном шаблоне
- •Создание шаблона документа
- •Настройка существующего шаблона документа “под себя”
- •Создание нового шаблона на базе существующего
- •Создание “с нуля”
- •Автомасштаб
- •Элементы шаблона DMT и их настройка
- •IN4+FastReport
- •Порядок работы
- •Пакеты документов
- •Настройки модуля Reports
- •Что происходит “за кадром”
- •Дизайнер отчетов FastReport
- •Элементы, размещаемые в шаблоне
- •Понятие о языке скриптов PascalScript. Функции.
- •Советы по разработке шаблонов отчетов
- •XML+DMT+FastReport
- •Создание нового шаблона
- •Порядок работы с XML в скриптах
- •Функции для работы с XML
- •Layout DMT
- •Систематизируем: что, где и как
- •Модуль текстовых констант List editor
- •Создание формы 6-зем
- •Глава 13. Печать
- •Настройка параметров страницы
- •Печать окна
- •Печать
- •Отступы печати
- •Особенности печати…
- •…зарамочного оформления
- •…с разбивкой по листам
- •…с растровой подложкой
- •Двусторонняя печать
- •Окно предварительного просмотра
- •Калибровка принтера
- •Вывод в формат PDF
- •Открытие и сохранение растров
- •Навигация в окне
- •Функции редактирования
- •Обрезка
- •Поворот
- •Коррекция тона
- •Создание пирамиды
- •Измерения по растру
- •Информация о растре
- •Печать
- •Паевание
- •Оценка земли
- •Функции, используемые в шаблоне денежной оценки
- •Geodesy
- •GeoTrans
- •Topotracer
- •AutoOrientation
- •Регистратор
- •Пользовательские панели инструментов
- •Язык скриптов
- •Комментарии
- •Команды
- •Переменные
- •Массивы текстовых строк
- •Выражения
- •Условный оператор @if
- •Управление ходом выполнения
- •Подпрограммы
- •События
- •Пример обработчика событий
- •Библиотека скриптов
- •Выполнение подпрограммы
- •Передача параметров (1-й способ)
- •Передача параметров (2-й способ)
- •Отладка скриптов
- •Дополнительная информация

IN4+DMT
Обращаем внимание, что пакеты размещенные в подпапке Templates имеют отдельный смысл и предназначены для работы с XML. К ним мы еще вернемся.
Групповой режим
По умолчанию групповой режим создания документов отключен. Если вы хотите сгенерировать документы для нескольких участков сразу, то:
1.Пометьте эти участки в карте.
2.Включите “галочку” напротив пункта меню Сервис > Документы > Групповой режим.
3.Запустите генерацию, выбрав требуемый шаблон из меню Сервис > Документы.
В результате для каждого участка будет создан отдельный документ, открытый в своем окне карты.
Два участка в одном шаблоне
В землеустроительной практике, особенно в сельской местности, оформление участков часто ведется в паре, для двух целевых назначений сразу: ОЖБ и ОСГ (на украинском языке эти аббревиатуры означают, если кто забыл, “обслуговування жилого будинку” и “особисте селянське господарство” соответственно).
Поскольку такие участки, как правило, являются смежными, было бы удобно показывать их на одном кадастровом плане. Разработчики Digitals, идя навстречу этим пожеланиям, предоставили версии шаблонов как раз для подобного случая.
Примером такого шаблона может служить шаблон Кадастровый план (A4) 1000 (2 участка).dmt и другие, содержащие в своем имени суффикс (2 участка).
При работе с данным типом шаблонов, помечать следует не участок, а квартал. Участки, входящие в него, программа обработает автоматически. В результате получим один документ, содержащий общий чертеж и всю сопутствующую информацию.
Создание шаблона документа
Каждый исполнитель, в стремлении повысить качество и скорость своей работы, рано или поздно приходит к идее своего шаблона. И даже если вас целиком устраивают шаблоны поставляемые с Digitals, в них, как минимум, потребуется настроить штамп. В более сложных случаях вы можете решить создать новый шаблон на базе входящего в поставку или сконструировать его с чистого листа. Далее об этом подробнее.
Настройка существующего шаблона документа “под себя”
Если в ваши планы входит только настройка штампа (в частности, фамилий должностных лиц или названия фирмы), то вам даже не понадобится открывать шаблон. Все реквизиты для штампа программа считывает из внешнего файла с помощью функции FIL, которая “вытаскивает” требуемые значения по ключевому слову из общего файла текстовых констант.
В некоторых шаблонах используются названия утверждающих органов, имена должностных лиц органов власти и тому подобные текстовые строки. Все эти значения также можно настроить централизованно.
1.Чтобы поменять реквизиты, выполните команду меню Сервис > Документы > Текстовые константы…. Запустится модуль List editor.
2.Перейдите на закладку Ваши реквизиты и измените требуемую константу. При необходимости, вы можете добавить свою константу и применять ее в шаблонах с помощью той же функции FIL.
3.Перейдите на закладку Утверждающие органы и выберите свою область, район и местный совет. Далее, настройте фильтр отображения, установив “галочки” напротив требуемых категорий и подкатегорий на левой и правой панелях. Теперь в списке внизу поменяйте значения констант.
Отом, как работает эта система изнутри, вы можете прочесть далее в разделе «Модуль текстовых констант List editor». Внешний вид модуля показан там же на Рис.12.14.
299

Глава 12. Применение в землеустройстве
Если необходимо подправить сам шаблон, действуйте следующим образом:
1.Откройте существующий шаблон, перетянув его в окно Digitals.
Шаблоны сохраняются в программной папке, а также в подпапках с расширением DMT (в случае пакетов документов). Путь к шаблону вы можете видеть в строке статуса в момент его выбора из меню Документы.
2.Отредактируйте шаблон. Переместите таблицы, измените название чертежа, отредактируйте штамп - словом, адаптируйте к своим нуждам.
Больше информации об элементах шаблона и их настройке вы найдете далее в подразделе «Элементы шаблона DMT и их настройка».
3. Сохраните шаблон.
Создание нового шаблона на базе существующего
1.В окне сохранения Digitals отсутствует тип файла Шаблон документа DMT, поэтому скопируйте существующий шаблон в новый файл средствами Проводника Windows.
Новый шаблон разместите в программной папке или в папке требуемого пакета документов. Позаботьтесь о внятном имени для своего шаблона. Убедитесь, что файл вашего шаблона имеет расширение DMT.
2.Откройте шаблон в Digitals, отредактируйте его и сохраните. Дополнительную информацию о том, как собрать и настроить отдельные элементы шаблона, вы найдете чуть ниже.
3.Перезапустите Digitals, чтобы новый шаблон отобразился в меню Документы.
Создание “с нуля”
Если вы решили разрабатывать шаблон с чистого листа, советуем еще раз подумать, не остановиться ли на варианте разработки на базе существующего (похожего) шаблона.
Если вы уверены в своем выборе, то скорее всего, разработку придется осуществлять на базе шаблона карты Normal.dmf. Впрочем, вы можете попробовать создать новый шаблон и на базе пустой (совсем без слоев) карты.
Перед началом разработки, вам стоит решить, под какой именно масштаб карты и под какой формат печати (размер рамки карты) будет создаваться шаблон. От этого зависят размеры рамки чертежа, элементов штампа, подписей и прочего.
Во время генерирования документа, вставка участка в шаблон производится в “родных” координатах, а все остальные элементы размещаются относительно участка, как если бы они вставлялись с помощью команды Правка > Вставка > В текущую позицию. Этот подход позволяет легко дополнить документ любыми объектами из исходной карты. Для этого просто скопируйте все что нужно через буфер обмена.
Автомасштаб
Альтернативой шаблону, “заточенному” под конкретный масштаб, являются шаблоны с автомасштабированием. В таком шаблоне должна присутствовать функция OBJECTSCALE, обычно размещаемая в одном из текстовых элементов штампа. Этот вид шаблона используется для всех масштабов сразу.
При генерировании документа с автомасштабом программа автоматически подбирает масштаб чертежа, чтобы “вписать” его в контур участка в шаблоне. При этом сам чертеж участка вставляется неявной командой Правка > Вставка > В другом масштабе…, а вычисленное значение масштаба прописывается в текстовом элементе, содержащем функцию OBJECTSCALE.
Минусом шаблона с автомасштабом является тот факт, что чертеж участка теряет свои “родные” координаты, а это значит, что дополнить его какими-либо объектами из исходной карты будет сложнее.
300

IN4+DMT
Элементы шаблона DMT и их настройка
Линия рамки, штамп, знак север-юг и прочие элементы оформления
Все постоянные элементы размещаются на слоях в статусе Видимый. Все эти элементы Digitals вставляет в документ “как есть”, поэтому здесь есть где развернуться вашей фантазии. Вы вольны использовать одиночные символы, полилинии и другие типы объектов, чтобы реализовать свою задумку.
Множество полезных элементов можно найти во включенных в поставку шаблонах документов, а также в шаблонах карт. Например, шаблон Normal.dmf содержит различные варианты штампов, реализованных в виде условных значков, знак север-юг и прочее.
Контур участка
Как правило, в шаблоне присутствует контур участка, который определяет будущее место расположения чертежа. Если чертеж вам не нужен, то расположите контур за пределами рамки карты, чтобы он не выводился на печать.
Некоторые шаблоны вообще не содержат плана участка, как, например, ныне устаревший шаблон Госакт (син) (лицевая).dmt. Данный шаблон просто извлекает информацию из параметров участка и располагает ее в текстовых элементах карты для последующей распечатки на бланке акта.
Контур участка в шаблоне собирается достаточно условно - обычно это просто прямоугольник. Также вы можете вынести относящиеся к участку подписи (например, длин линий и номеров точек). По их образцу будут выноситься подписи в реальном документе.
Таблица экспликации
В шаблон можно вставить экспликацию. Если создавать ее в шаблоне не из чего, это можно сделать в реальной карте, а затем просто скопировать получившуюся таблицу в шаблон.
При необходимости, создайте для экспликации отдельный слой и настройте его стиль и шрифт по своему вкусу. Как изменить “шапку” экспликации мы рассматривали выше в разделе «Экспликация».
Объекту экспликации можно назначить произвольный параметр и вынести подпись. Таким образом создается заголовок, привязанный к таблице.
Таблица смежников
Вставка в шаблон таблицы смежников происходит аналогично экспликации. В таблице можно изменить способ маркировки линий смежеств. Это можно сделать, изменив первый столбец таблицы, например, написать “Від А до Б”, “А - Б” или другой вариант. Также вы можете указать конкретный параметр во втором столбце, вписав формулу - например, P[NM]. Отредактируйте содержимое таблицы соответствующим образом.
Объект таблицы смежников можно разместить на своем слое и вынести параметр (подпись) с заголовком таблицы. Например, это может быть подпись “ОПИС МЕЖ”.
Таблицы длин линий, углов, координат и прочие варианты
Точно также можно вставить в шаблон таблицу с метрическими характеристиками. Вы можете использовать как стандартные варианты таблиц из меню Вставка > Таблица, так и таблицу Настраиваемая…. Опять таки, при желании, таблицу можно разместить на своем слое и вынести для нее подпись.
Стрелки направлений смежеств
Для прорисовки стрелок программа использует слой с именем “Arrow”. Этому слою должен быть назначен условный знак типа Одиночный, который содержит изображение стрелки. Вы можете изменить форму стрелки по своему вкусу, изменив соответствующий значок в библиотеке условных знаков.
Если в шаблоне отсутствует слой “Arrow”, то программа прорисовывает стрелки на первом доступном слое обычной полилинией. Разумеется, первый вариант гораздо красивее, да и поворачивать стрелку в виде одиночного символа удобнее.
Оттенение смежеств цветом
Нередко на чертежах требутся “оттенить” линии смежников цветом. Для этого в шаблоне должны присутствовать слои типа Полилиния с именами вида “Border 1”, “Border 2” и так далее.
301

Глава 12. Применение в землеустройстве
Каждому слою назначается свой цвет линии, всем слоям присваивается некая одинаковая толщина линии. Подобные слои можно увидеть, например, в шаблоне документа Госакт (син) 500
обратная.dmt.
Теперь, во время генерации документа, программа создаст полилинии вдоль контура участка (от стрелки до стрелки) на указанных выше слоях, примерно как на рисунке ниже.
OLE-объекты
OLE-объекты, такие как документы Word или Exсel, нередко используются в шаблонах документов
вкачестве постоянной части (подложки). Разумеется, что эти объекты должны находиться на слоях
встатусе Видимый.
Например, в шаблоне Кадастровый план (A4) автомасштаб.DMT, фрагмент электронной таблицы с формой 6-зем служит фоном, поверх которого находятся “ячейки” - текстовые элементы Digitals с формулами внутри.
Выражения и функции в текстовых элементах
За формальным описанием функций мы снова отправляем читателя к разделу «Производные параметры» в Гл.6, «Классификатор». Здесь же мы рассмотрим примеры формул и функций из реальных шаблонов документов и дадим к ним короткие пояснения.
P[NM], P[36], P[ID20030]
Извлекает содержимое параметра, соответственно, по тегу IN4, порядковому номеру или коду.
CLA(P[AD])
Извлекает строку адреса и подчищает ее от пустых полей.
ROP(P[NM])
Полное имя землепользователя в родительном падеже.
Площа ділянки - P[0] га
Пример смешивания текста с формулой, извлекающей площадь.
P[0](CN=35.1,CN=35.3)
Подсчет суммы площадей угодий с тегом CN равным определенным кодам.
GET(1/1,P[KZ]), GET(1/1,P[KZ], 0)
Извлечение первого слова (то есть кода) из тега KZ. Второй вариант функции возвращает ноль, если ничего не извлечено.
GET(-1 P[ID7000509])
Вариант функции, работающий с разделителем пробел. Возвращает всю строку, кроме первого слова.
SEF(GET(1/1,P[KZ], 0),KZ.txt)
Получает код параметра с тегом KZ, затем ищет соответствующее ему значение в файле KZ.txt.
SEL(LEN(P[KF]),10|CUT(3,1,P[KF])|*|SEL(LEN(P[KU]),8|CUT(1,1,P[KU])|*|-))
Проверяет длину KF и если она равна 10, то вырезает третий символ. Если нет, то проверяет параметр KU и вырезает первый символ. Иначе возвращает прочерк.
302

XML+DMT
FIL(Setup.ini,Директор), FIL(Setup.ini,DMTНачальник(УЗР))
Извлекает текстовые константы из файла Setup.ini.
OBJECTSCALE
Отображает знаменатель автоматически подобранного масштаба для генерируемого документа. Наличие данной функции в шаблоне сигнализирует программе, что данный шаблон автомасштабируемый.
Neighbors[5]
Извлекает из всех смежников содержимое параметра с номером 5 и соединяет все извлеченные значения в одну строку через запятую. Для корректной работы данной функции в шаблоне должна использоваться таблица экспликации. Пример смотрите в шаблоне Акт согласования границ.DMT.
Date
Возвращает текущую дату.
PARENT[DS](ID10000)
Извлекает КОАТУУ из квартала. Другими словами, из внешнего объекта на слое с кодом 10000 извлекает содержимое параметра с тегом DS.
XML+DMT
В этом разделе мы говорим об особенностях взаимодействия шаблонов DMT и карты на базе XMLNormal.dmf (то есть с обменным файлом формата XML).
Отметим, что подход XML+DMT с легкой руки разработчиков вытесняется в пользу XML+DMT +FastReport, становясь частью этой связки. И хотя на сегодня в поставке программы нет ни одного шаблона для “чистой” комбинации XML+DMT, подобный шаблон сравнительно несложно создать на базе шаблона для IN4.
Технология создания шаблонов DMT для XML практически не отличается от изложенной в предыдущем разделе для IN4. Если вы пропустили этот раздел, вам придется к нему вернуться.
Информация из раздела «IN4+DMT» тем более полезна потому, что шаблоны DMT, размещенные в пакетах в папке Templates, которые работают на упомянутую выше связку XML+DMT+FastReport и о которых мы еще будем говорить далее в этой главе, строятся, фактически, по тем же правилам.
Если отбросить детали, то суть построения шаблона заключается в том, чтобы правильно извлечь информацию из исходной кадастровой карты. В этом смысле основная сложность формата XML в сравнении с IN4 связана с наличием в содержимом параметров служебных тегов языка XML, затрудняющих извлечение данных.
В помощь разработчику шаблона Digitals предлагает пару функций для работы со строками в формате XML. Формальное описание этих функций опять-таки находится в разделе «Производные параметры» в Гл.6, «Классификатор», а здесь мы дадим примеры использования.
XPT(P[ID7000500],"Region")
Возвращает название области из параметра ID7000500 “Місце розташування земельної ділянки”.
XPT(P[ID7000520],"/Proprietors/ProprietorInfo/Authentication/NaturalPerson/FullName/LastName")
Более сложный пример. Извлекает фамилию владельца из параметра “Блок опису усіх власників або користувачів земельної ділянки”. Здесь пришлось указывать полный XPath-путь к элементу данных.
Пути извлечения данных могут быть довольно длинными. Чтобы спокойно разобраться с путями, скопируйте содержимое анализируемого параметра в какой-нибудь текстовый редактор, например, тот же Блокнот.
Из-за своей длины формулы с применением функции XPT смотрятся в шаблоне довольно неряшливо. Рассмотрите возможность их замены функциями SEF или FFF, “спрятав” длинные формулы во внешний файл.
303