Объект IObject
Метод AddWhere – добавить условие ограничения в запрос набора данных
Синтаксис:
function AddWhere( const Condition: WideString): Integer; |
Параметры:
Condition – условие ограничения выборки. Условие следует задавать в формате where-условия SQL-запроса. Имена полей, участвующих в условии, следует задавать в формате [<Имя таблицы>.]<Имя поля>. В условии можно использовать поля таблиц, указанных в разделе from. Имя таблицы и имя поля можно получить с помощью свойств SQLTableName, IDataSet.SQLTableName, IRequisite.SQLFieldName.
Если в разделе from указан алиас таблицы, то имена полей в условии следует задавать в формате: <Алиас таблицы>.<Имя поля>. Алиасы таблиц, используемые в SQL-запросе набора данных объекта, можно получить с помощью свойства TableName.
Если в разделе select указан алиас поля, то условие следует задавать в формате <Алиас поля>. Алиасы полей, используемые в SQL-запросе набора данных объекта, можно получить с помощью свойства IRequisite.FieldName.
Для формирования параметра удобно использовать функцию Format.
Возвращаемое значение:
Идентификатор условия в запросе.
Описание:
Метод добавляет условие в раздел where SQL-запроса набора данных. Добавляемое условие объединяется с уже имеющимися условиями при помощи операции and. Идентификатор условия в запросе следует использовать в качестве параметра метода DelWhere для удаления условия из запроса.
Пример использования:
// Показать все справочники, в которых используется данный реквизит.
RequisiteCode ='ISBEDocStrg'
Reference = References.SYSREF_REFERENCE_TYPES.GetComponent
Reference.ComponentForm.View.ViewMode = vmNavigation
RequisitesDataSet = Reference.DataSet.DetailDataSet(1)
ReferenceTable = Reference.TableName
RequisitesTable = RequisitesDataSet.TableName
AddFrom = Reference.AddFrom(RequisitesTable)
// Установить связь между реквизитами и справочниками,
// которые их используют.
AddWhere1 = Reference.AddWhere(Format("%0:s.%1:s = %2:s.%3:s";
ArrayOf(ReferenceTable; Reference.Requisites(SYSREQ_ID).FieldName;
RequisitesTable; RequisitesDataSet.Requisites(
SYSREQ_MAIN_RECORD_ID).FieldName)))
// Задать реквизит.
AddWhere2 = Reference.AddWhere(Format("%0:s.%1:s = '%2:s'";
ArrayOf(RequisitesTable; RequisitesDataSet.Requisites(
SYSREQ_REF_TYPE_REQ_CODE).FieldName; RequisiteCode)))
// Исключить действия с кодом равным RequisiteCode,
// т.к. действия хранятся в той же таблице, что и реквизиты.
AddWhere3 = Reference.AddWhere(Format("%0:s.%1:s <> 'K'";
ArrayOf(RequisitesTable; RequisitesDataSet.Requisites(
SYSREQ_REF_TYPE_REQ_SECTION).FieldName)))
Reference.ComponentForm.Show
Reference.DelFrom(AddFrom)
Reference.DelWhere(AddWhere1)
Reference.DelWhere(AddWhere2)
Reference.DelWhere(AddWhere3)
См. также:
· метод AddSelect;
· метод AddFrom;
· метод DelWhere;
· свойство TableName;
· свойство SQLTableName;
· свойство IDataSet.SQLTableName;
· свойство IRequisite.FieldName;
· свойство IRequisite.SQLFieldName.
© 2009, Компания DIRECTUM
|
Отправить комментарий к этому разделу на
support@directum.ru
|