Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Digitals.pdf
Скачиваний:
73
Добавлен:
28.06.2022
Размер:
9.86 Mб
Скачать

Глава 6. Классификатор

SEF(ПроверяемоеЗначение,ИмяФайла)

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

Для примера, загляните в файл BlueActF.txt, который используется совместно с шаблоном документов Госакт (голубой) лицевая.DMT.

FIL(Файл,Константа)

Возвращает значение Константы заданной в Файле, размещенном в папке Templates програмной папки. Значения констант задаются строками вида Константа=Значение.

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

FFF(ИмяФайла)

Позволяет разместить длинное выражение во внешнем файле, размещенном в папке Lists программной папки. (Длина имени параметра ограничена 127 символами, поэтому записать в него слишком длинную формулу не получится.)

Например, параметр может выглядеть как “=FFF(formula.txt)”, а файл formula.txt содержать, в свою очередь, строку с реальным выражением.

XPT(XMLСтрока,"ИмяУзла")

Функция возвращает текстовое значение узла из XMLСтроки по пути (XPath-запросу), указанному в аргументе функции ИмяУзла. Имя узла заключается в кавычки.

Функция применяется для извлечения данных из строк в формате языка XML. Изучение XPath выходит за рамки данной книги. В общем случае, путь к элементу файла формата XML напоминает путь к файлу в операционной системе.

XMP(СмежникПоУмолчанию)

Получает данные из параметра “Додаткова інформація”, если он не пустой. Иначе данные берутся из параметра “Власник або розпорядник”.

Функция предназначена для извлечения информации из объектов слоя “XML: Суміжник” при работе с обменными файлами формата XML. Применяется в таблицах смежников в шаблонах документов.

SQL(СтрокаЗапроса)

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

Функции для получения общей информации:

MapFile

Возвращает полное имя файла текущей карты.

MapScale

Масштаб карты.

Date

Возвращает текущую дату, установленную на компьютере.

Маска параметра

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

Маски форматирования применимы к фиксированным параметрам, которые вычисляют метрические характеристики объекта (фактически, это любой из фиксированных параметров, кроме параметра с кодом -5 “Слой”), а также к производным параметрам типа Вещественное.

Маски, задающие правила ввода и проверки, применимы к параметрам типа Строка.

1 http://www.geosystema.net/forum/viewtopic.php?f=1&t=1145&start=0

148

Маска параметра

Маски форматирования

Маски форматирования используются для задания определенного количества знаков после запятой (то есть дробной части), а также для приведения значения параметра к другой единице измерения.

Маска задается шаблоном форматирования, в котором можно использовать следующие символы:

. (точка)

Определяет место разделителя целой и дробной части. В шаблоне используется именно точка, но то, как будет выглядеть разделитель на самом деле, задается в региональных настройках Windows. Традиционно, в качестве разделителя используется . (точка) либо , (запятая).

0 (ноль)

Определяет обязательный вывод разряда числа в данной позиции. Если разряд равен нолю, будет выведен 0.

# (решетка)

Задает необязательный вывод разряда числа в данной позиции. Если разряд равен нолю, он выводиться не будет.

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

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

Выражение Перед шаблоном, отделяемое пробелом, может присутствовать выражение, преобразующее

значение параметра перед выводом. Простейшее выражение состоит из арифметической операции

ичисла, например /10000.

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

hh:mm

Форматирует значение как часы:минуты (функция Date).

dd.mm.yyyy

Форматирует значение как день:месяц:год (функция Date).

00°00'00.0"

Форматирует значение как градусы, минуты, секунды (функции Latitude, Longitude).

В Табл.6.3 даны примеры форматирования. В данном случае, в региональных настройках Windows установлен разделитель . (точка).

Таблица 6.3. Примеры масок форматирования

Содержимое

Производный параметр

Маска

Выводимое

исходного

 

 

значение

параметра

 

 

 

 

 

 

 

102.00

=P[-2] Высота пикета

0.00

102.00

 

 

 

 

102.00

=P[-2] Высота горизонтали

0.##

102

 

 

 

 

1500

=P[0] Площадь в гектарах

/10000 0.0000 га

0.1500 га

 

 

 

 

1

=P[-6] Номер объекта

0000

0001

 

 

 

 

Маски правил проверки и форм ввода

Маски правил проверки и маски, задающие форму ввода, доступны для строковых параметров. Они позволяют контролировать правильность заполнения, а также заполнять параметры в удобных формах ввода.

149

Глава 6. Классификатор

Если для определенного параметра заполнено поле маски, то значения параметров, которые ей не соответствуют, будут подсвечены в списке параметров объекта на панели Инфо красным цветом. Кроме того, вы можете найти и пометить все объекты, которые имеют хотя бы один неправильно заполненный параметр, используя команду Карта > Проверка > Формат параметров.

В маске строкового параметра допускаются следующие символы-заместители формата и их комбинации:

* (звездочка)

Определяет любое текстовое или числовое значение (допускается пустое).

# (решетка)

Только числовое значение (пустое не допускается).

В дополнение к символам форматов * и # можно указывать следующие модификаторы:

N, >N, <N

Указание числа N после символа формата обеспечивает контроль длины вводимых данных.

Например, формат *>0 укажет, что пустое значение не разрешено, а формат #3 проконтролирует ввод строго трех цифр.

##.##.####

Формат такого вида применяется для контроля ввода дат.

=ЗначениеПоУмолчанию Для параметра (или любого из его полей) после символа = (равно) можно указать значение по

умолчанию, которое будет автоматически подставлено в форму ввода.

Ввод параметров, для которых задана маска проверки, можно производить в специальной форме ввода, вызываемой кнопкой или двойным щелчком в поле ввода параметра.

Части параметра (поля)

Значение параметра может состоять из нескольких частей (или иначе полей). По умолчанию разделителем частей параметра является , (запятая). Для таких параметров программа создает специальную форму ввода, в которой каждую часть параметра можно ввести в отдельном поле ввода.

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

Если вам нужен разделитель отличный от запятой, укажите его в начале маски, отделив от самой маски символом | (вертикальная черта).

Например, маска вида “ |*,*,*” (без кавычек, первый символ в маске пробел) использует в качестве разделителя пробел и часто применяется для ввода фамилии, имени и отчества.

Каждому полю формы можно задать имя. Для этого в конце маски ставится символ @ (собачка) и перечисляются имена полей, разделяемые | (вертикальной чертой).

Так, если дополнить предыдущий пример именами полей, то у нас получится маска вида #,*,*,*@Число|

Текст1|Текст2|Текст3.

Подключаемые справочники

Справочник - это текстовый файл, расположенный в папке Lists программной папки и содержащий список возможных значений параметра. Имя файла справочника задается после имени поля через : (двоеточие).

Справочник можно подключить с помощью кнопки

Справочник, расположенной справа

от поля ввода Маска в Менеджере параметров. Правда это можно сделать только для

150

Маска параметра

параметра в целом. Если понадобится подключить справочник к отдельной части (полю) параметра, это придется делать, редактируя маску вручную.

Для примера рассмотрим маску #1=-,*1=-,*1=-,*=-,*=-,#=-,*=-@Код сервитуту:LM1.txt|Термін дії:LM2.txt|Підстава встановлення:LM3.txt|Дата реєстрації|Реєстраційний номер|ІПН/ЗКПО особи|

Вартість частини, которая установлена для параметра “LM Сервітути” в шаблоне по умолчанию

Normal.dmf.

Проанализируем данную маску:

Маска состоит из семи полей, разделителем полей является запятая.

Первое и шестое поля предназначены для ввода числовых данных, остальные - для ввода текстовых (смешаных) данных.

Первые три поля имеют строгое ограничение на длину в один символ.

Все поля имеют значения по умолчанию: - (дефис).

После символа @ (собачка) для каждого поля определено имя.

Первым трем полям назначены справочники LM1.txt, LM2.txt и LM3.txt соответственно.

Форма ввода, которая создается при редактировании данного параметра, показана на Рис.6.10. Наличие кнопки рядом с полями ввода Код сервитуту, Термін дії и Підстава встановлення говорит о том, что

для этих полей подключены справочники.

Рисунок 6.10. Пример формы ввода для параметра

Рассмотрим фрагмент файла справочника LM1.txt, подключенного к полю Код сервитуту.

Код сервітуту* Назва сервітуту

1прохід та проїзд через земельну ділянку

2використання земельної ділянки для прокладання і ремонту

3проведення дренажних робіт на земельній ділянці

В первой строке заданы имена колонок справочника (через табуляцию). Первая колонка содержит вставляемое в параметр значение, поэтому она помечена * (звездочкой). Вторая колонка содержит пояснительный текст.

Следующие строки содержат, собственно, значения и поясняющие их тексты (также через табуляцию).

Отметим, что с помощью справочника можно заполнять более чем один параметр. Для этого в файл нужно включить колонки данных, озаглавленные формулой вида =P[ID111], где в квадратных скобках указывается код или номер заполняемого параметра. Теперь, при выборе значения из колонки помеченной * (звездочкой), значение из колонки с формулой будет занесено в соответствующий параметр. Например, выбрав кадастровый код, вы можете автоматически вставить название города или фамилию городского головы.

151