Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

Синтаксис:

function AddWhere(

 const Condition: WideString): Integer;

Параметры:

Condition – условие ограничения выборки. Условие следует задавать в формате where-условия SQL-запроса:

{(<Условие1>) [and/or/xor (<Условие2>)]}[,...n]

Условие1, Условие2 – простые условия, формируемые по следующему формату:

[not ]<Имя поля> {<Оператор> <Значение>}|{is null}|{like <Значение>}|[between <Значение1> and <Значение2>}|{in ({<Значение>}[,...n])}

где:

Имя поля – имя или псевдоним поля набора данных. Если для поля не указан псевдоним и имя поля неуникально, то перед именем поля следует указывать имя или псевдоним таблицы в формате <Имя таблицы>.<Имя поля>. В условии можно использовать поля таблиц, указанных в разделе from. Имена и псевдонимы полей и таблиц можно получить с помощью свойств:
Псевдоним поля - IRequisite.FieldName;
Имя поля - IField.SQLFieldName, IRequisite.SQLFieldName;
Псевдоним таблицы - IObject.TableName, IDataSet.TableName;
Имя таблицы - IObject.SQLTableName, IDataSet.SQLTableName;
Оператор - один из следующих операторов: =, <, >, <=, >=, <>;
Значение - значение соответствующего типа.

Для формирования параметра удобно использовать функцию Format.

Возвращаемое значение:

Идентификатор условия в запросе.

Описание:

Метод добавляет условие в раздел where SQL-запроса. Если раздел where еще не был определен, то он создается. Если раздел where уже был определен, то добавляемое условие объединяется с уже имеющимися условиями при помощи операции «and». Идентификатор условия в запросе следует использовать в качестве параметра метода DelWhere для удаления условия из запроса.

Примечание

При вызове метода не из ISBL-вычислений или из ISBL-вычислений с подключением к системе Directum, отличной от текущей, значение параметра должно строго соответствовать формату. В противном случае будет сгенерировано исключение.

Примеры:

 

// Добавить фильтрацию записей компоненты "Пользователи".

// UserLogin – логин пользователя.

// DomainName – имя домена.

UsersComponent = CreateReference(SYSREF_USERS; ; FALSE)

AddWhereID = UsersComponent.AddWhere(Format("%0:s.%1:s = '%2:s' and %0:s.%3:s = '%4:s'"; ArrayOf(UsersComponent.SQLTableName;

UsersComponent.Requisites(SYSREQ_USERS_LOGIN).SQLFieldName; UserLogin;

UsersComponent.Requisites(SYSREQ_USERS_DOMAIN).SQLFieldName; DomainName)))

// Открыть запись указанного пользователя.

UsersComponent.Open

// Убрать фильтрацию.

UsersComponent.DelWhere(AddWhereID)

 

// Добавить фильтрацию записей справочника "Пользователи".

// UserCode – имя пользователя.

UsersReference = CreateReference(SYSREF_USERS_REFERENCE; ; FALSE)

AddWhereID = UsersReference.AddWhere(Format("%s.%s = '%s'"; ArrayOf(UsersReference.SQLTableName;

UsersReference.Requisites('Дополнение').SQLFieldName; UserCode)))

// Открыть запись указанного пользователя.

UsersReference.Open

// Убрать фильтрацию.

UsersReference.DelWhere(AddWhereID)

См. также

Метод AddFrom

Метод AddSelect

Метод DelWhere

Свойство IDataSet.SQLTableName

Свойство IDataSet.TableName

Свойство IField.Name

Свойство IField.SQLFieldName

Свойство IObject.SQLTableName

Свойство IObject.TableName

Свойство IRequisite.FieldName

Свойство IRequisite.SQLFieldName

 

© Компания Directum, 2020 Сообщество пользователей Directum
.navbar > a:hover { background: #FFD73B; }