Маски правил проверки и маски, задающие форму ввода, доступны для строковых параметров. Они позволяют контролировать правильность заполнения, а также заполнять параметры в удобных формах ввода.
Если для определенного параметра заполнено поле маски, то значения параметров, которые ей не соответствуют, будут подсвечены в списке параметров объекта на панели Инфо красным цветом. Кроме того, вы можете найти и пометить все объекты, которые имеют хотя бы один неправильно заполненный параметр, используя команду > > .
В маске строкового параметра допускаются следующие символы-заместители формата и их комбинации:
Определяет любое текстовое или числовое значение (допускается пустое).
Только числовое значение (пустое не допускается).
В дополнение к символам форматов * и # можно указывать следующие модификаторы:
Указание числа N после символа формата обеспечивает контроль длины вводимых данных.
Например, формат *>0 укажет, что пустое значение не разрешено, а формат #3 проконтролирует ввод строго трех цифр.
Формат такого вида применяется для контроля ввода дат.
Для параметра (или любого из его полей) после символа = (равно) можно указать значение по умолчанию, которое будет автоматически подставлено в форму ввода.
Ввод параметров, для которых задана маска проверки, можно производить в специальной форме ввода, вызываемой кнопкой или двойным щелчком в поле ввода параметра.
Значение параметра может состоять из нескольких частей (или иначе полей). По умолчанию разделителем частей параметра является , (запятая). Для таких параметров программа создает специальную форму ввода, в которой каждую часть параметра можно ввести в отдельном поле ввода.
Например, маска вида #,*,*,* задает форму ввода, состоящую из четырех полей, первое из которых должно состоять из цифр, а последующие из произвольных комбинаций символов.
Если вам нужен разделитель отличный от запятой, укажите его в начале маски, отделив от самой маски символом | (вертикальная черта).
Например, маска вида “ |*,*,*” (без кавычек, первый символ в маске пробел) использует в качестве разделителя пробел и часто применяется для ввода фамилии, имени и отчества.
Каждому полю формы можно задать имя. Для этого в конце маски ставится символ @ (собачка) и перечисляются имена полей, разделяемые | (вертикальной чертой).
Так, если дополнить предыдущий пример именами полей, то у нас получится маска вида #,*,*,*@Число|Текст1|Текст2|Текст3.
Справочник - это текстовый файл,
расположенный в папке Lists
программной папки и
содержащий список возможных значений параметра. Имя файла справочника
задается после имени поля через : (двоеточие).
Справочник можно подключить с помощью кнопки Маска в Менеджере параметров. Правда это можно сделать только для параметра в целом. Если понадобится подключить справочник к отдельной части (полю) параметра, это придется делать, редактируя маску вручную.
, расположенной справа от поля вводаДля примера рассмотрим маску
#1=-,*1=-,*1=-,*=-,*=-,#=-,*=-@Код сервитуту:LM1.txt|Термін
дії:LM2.txt|Підстава встановлення:LM3.txt|Дата
реєстрації|Реєстраційний номер|ІПН/ЗКПО особи|Вартість
частини, которая установлена для параметра “LM Сервітути”
в шаблоне по умолчанию Normal.dmf
.
Проанализируем данную маску:
Маска состоит из семи полей, разделителем полей является запятая.
Первое и шестое поля предназначены для ввода числовых данных, остальные - для ввода текстовых (смешаных) данных.
Первые три поля имеют строгое ограничение на длину в один символ.
Все поля имеют значения по умолчанию: - (дефис).
После символа @ (собачка) для каждого поля определено имя.
Первым трем полям назначены справочники
LM1.txt
, LM2.txt
и
LM3.txt
соответственно.
Форма ввода, которая создается при редактировании данного параметра, показана на Рис.6.10. Наличие кнопки рядом с полями ввода Код сервитуту, Термін дії и Підстава встановлення говорит о том, что для этих полей подключены справочники.
Рассмотрим фрагмент файла справочника
LM1.txt
, подключенного к полю Код
сервитуту.
Код сервітуту* Назва сервітуту 1 прохід та проїзд через земельну ділянку 2 використання земельної ділянки для прокладання і ремонту 3 проведення дренажних робіт на земельній ділянці
В первой строке заданы имена колонок справочника (через табуляцию). Первая колонка содержит вставляемое в параметр значение, поэтому она помечена * (звездочкой). Вторая колонка содержит пояснительный текст. | |
Следующие строки содержат, собственно, значения и поясняющие их тексты (также через табуляцию). |
Отметим, что с помощью справочника можно заполнять более чем
один параметр. Для этого в файл нужно включить колонки данных,
озаглавленные формулой вида =P[ID111]
, где в
квадратных скобках указывается код или номер заполняемого параметра.
Теперь, при выборе значения из колонки помеченной * (звездочкой),
значение из колонки с формулой будет занесено в соответствующий
параметр. Например, выбрав кадастровый код, вы можете автоматически
вставить название города или фамилию городского головы.
Пример окна выбора из справочника мы видели на Рис.5.15 в Гл.5, «Сбор и правка объектов».
Строковые параметры с частями, разделенными запятыми, широко применяются при работе с кадастровыми обменными файлами формата IN4.
В шаблоне по умолчанию Normal.dmf
есть
целый ряд параметров, использующих сложные маски со значениями по
умолчанию, функциями и подключаемыми справочниками. Соберите объект
на слое “IN4_Ділянка” и поэкспериментируйте с параметрами “LM
Сервітути”, “LS Обмеження прав власності”, “TD Реквізити матеріалів
техдокументації”, “PP Паспортні дані” и другими, чтобы лучше понять
принципы построения масок.