Второй шаг мастера поиска обеспечивает поиск объектов по атрибутам. Данный вид поиска позволяет использовать в качестве условий свойства объектов, определенные при настройке системы. Условия поиска, задаваемые в полях форм ввода, соединяются через логическое И. Чтобы использовать объединение условий по ИЛИ, необходимо перейти к расширенному поисковому запросу.
Набор атрибутов определен только в контексте типа объекта. Поэтому, чтобы произвести поиск по атрибутам, необходимо предварительно выбрать тип объекта.
Хотя условия поиска вводятся в те же формы, что и при заполнении значений атрибутов, заполнение поисковых данных обладает некоторыми особенностями:
- Формы объекта, используемые в мастере поиска, не содержат средств автоматизации. Это означает, что при вводе условий поиска в поля формы не происходит проверки значений, автозаполнения свойств и т.д., которые могут быть определены для этих форм.
- На поисковых формах не доступны кнопки, не заполняются области отображения запросов и файлов.
- Атрибут типа Флаг имеет три состояния:
Незаполненное поле (т.е. не участвующее в поиске) содержит знак вопроса. Пустое поле используется в качестве значения Нет (Ложь). Поле с флагом используется в качестве значения Да (Истина). - Все введенные условия приводятся к стандартному виду. В момент перемещения курсора в другое поле, условия преобразуются в формат
Знак_сравнения условие
Для того чтобы условия поиска было легче выделить в поле ввода, TDMS заключает все введенные условия кроме целых и вещественных чисел в одинарные кавычки. Если знак сравнения с условием не задан, система добавляет используемый по-умолчанию знак "=", и поиск будет производиться на равенство значений. Также допускается использовать следующие знаки сравнения:> Больше < Меньше >= Больше либо равно <= Меньше либо равно <> Не равно - В текстовые поля без управляющих элементов можно вводить шаблоны поиска с использованием символов-масок "*" и "?". Маска "*" соответствует произвольному количеству любых символов, маска "?" соответствует не более чем одному любому символу.
- Условие поиска может содержать логические операторы AND (И) и OR (ИЛИ). Условия, добавляемые после логического оператора, также приводятся к стандартному виду. Например, чтобы задать диапазон дат от 28 августа 2008 года по 30 августа 2008 года включительно, вы можете ввести:
>=28/08 AND <=30/08система преобразует условие в следующий стандартный вид:>= '28.08.2008' AND <= '30.08.2008'
- Условие поиска может содержать специальные функции и константы.
NULL Константа NULL, используется для проверки заполнения поля и применима ко всем типам данных. Обратите внимание, что нулевое значение числового типа данных является значением равным 0. NULL означает отсутствие значения как такового. CurrentUser () Функция CurrentUser() возвращает ссылку на текущего пользователя системы и используется для составления запросов типа "Найти все документы, в которых я (текущий пользователь) являюсь Автором". CurrentUser() применима к атрибутам типа ссылка на пользователя. CurrentDay () Функция CurrentDay() возвращает значение текущего дня. CurrentDay() применима к атрибутам типа дата/время. CurrentWeek () Функция CurrentDay() возвращает диапазон дат текущей недели. CurrentDay() применима к атрибутам типа дата/время. CurrentMonth () Функция CurrentMonth() возвращает диапазон дат текущего месяца. CurrentMonth() применима к атрибутам типа дата/время. BeforeToday (n) Функция BeforeToday(n) возвращает значение дня, отстоящего от текущего на n дней назад. BeforeToday(n) применима к атрибутам типа дата/время. ThisObject () Функция ThisObject() возвращает ссылку на текущий объект и используется для составления расширенных поисковых запросов.