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

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

Примечание

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

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

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

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

# (решетка)

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

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

N, >N, <N

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

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

##.##.####

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

=ЗначениеПоУмолчанию

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

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

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

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

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

Примечание

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

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

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

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

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

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

Примечание

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

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

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

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

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

Пример формы ввода для параметра

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

Код сервітуту*  Назва сервітуту 1
1  прохід та проїзд через земельну ділянку 2
2  використання земельної ділянки для прокладання і ремонту
3  проведення дренажних робіт на земельній ділянці

1

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

2

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

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

Пример окна выбора из справочника мы видели на Рис.5.15 в Гл.5, «Сбор и правка объектов».

Примечание

Строковые параметры с частями, разделенными запятыми, широко применяются при работе с кадастровыми обменными файлами формата IN4.

В шаблоне по умолчанию Normal.dmf есть целый ряд параметров, использующих сложные маски со значениями по умолчанию, функциями и подключаемыми справочниками. Соберите объект на слое “IN4_Ділянка” и поэкспериментируйте с параметрами “LM Сервітути”, “LS Обмеження прав власності”, “TD Реквізити матеріалів техдокументації”, “PP Паспортні дані” и другими, чтобы лучше понять принципы построения масок.