Мельница данных  (16.01.2026)
Допустимые значения part

Описанные ниже допустимые значения part используются для формирования структур для выполнения запросов. Их смысл и назначение являются общими для формирования запросов в формате XML, в формате JSON, а также средствами Интерфейса IContextDataSet.

Для форматов XML и JSON можно использовать и строковые, и числовые значения part. В запросах, формируемых средствами Интерфейса IContextDataSet допустимо присваивать числовые значения или идентификаторы из Перечисления TQueryPart.

Строковое
значение
Числовое
значение
ИдентификаторНазначение и принципы использования
what 0 qtWhat

Значение what используется для формирования what-кляузы запроса.

При part = "what" использование атрибута/поля name является обязательным.

Каждый элемент запроса со значением what атрибута/свойства part  добавляет одно поле (столбец), с именем, заданным значением name, к результирующему набору данных. Атрибут/свойство  value в этом случае игнорируется.

Подробности и примеры для разных форматов
where 1 qtWhere

Значение  where  используется для формирования where-кляузы запроса.

При part = "where" использование атрибутов/полей name и value является обязательным. В простом случае (без использования "special") name задает имя поля, на которое будет наложено условие отбора, значение value задает само условие, которое будет наложено. При использовании "special" значения name и value могут трактоваться иначе, подробнее в разделе Допустимые значения special.

Каждый следующий where-элемент/объект добавляет к запросу одно условие "и".

Для условий допустимо использовать "маску" (*, ?), условия ">", "<", ">=", "<=".
Использование значений через ";" будет трактовано как условие "или", использование символа "&" будет трактовано как условие "и".
Для отрицания нужно использовать символ "!", для условия "not null" нужно использовать "*", для условия "is null" нужно использовать "!*".

Подробности и примеры для разных форматов  

order 2 qtOrder Элементы со значением "order" (2) атрибута part используются для управления сортировкой данных в возвращаемом ответе. По умолчанию (без использования атрибута special) будет выполнена сортировка "по возрастанию". Задать сортировку "по убыванию" можно, использовав значение "desc" (7) для атрибута special. Если в запросе использовано несколько элементов "order", то возвращаемый результат будет отсортирован по нескольким полям в том порядке, в котором они указаны в запросе.
Пример
1<item part="order" name="LastName/>
2<item part="order" name="BirthDate" special="desc"/>
Отсортировать результат запроса по значению свойства "LastName" по возрастанию, затем по значению свойства "BirthDate" по убыванию.
group 3 qtGroup Элементы со значением "group" (3) атрибута part используются для управления группировкой данных в возвращаемом ответе. Если в запросе использовано несколько элементов "group", то возвращаемый результат будет сгруппирован по нескольким полям в том порядке, в котором они указаны в запросе. Для свойств, не входящих в условия группировки, можно получать значения агрегатов (количество, наименьшее/наибольшее/среднее и т.п.), используя атрибут special.
Пример
1<item part="what" name="Region"/>
2<item part="what" name="ID" special="count"/>
3<item part="what" name="BirthDate" special="min"/>
4<item part="group" name="Region"/>
Сгруппировать результат запроса по значению свойства "Region", для каждой группы вернуть значение свойства "Region", количество записей в группе и минимальное значение свойства "BirthDate" в этой группе.
having 4 qtHaving Элементы со значением "having" (4) атрибута part позволяют накладывать условия отбора на группы в запросе с группировкой.
Пример
1<item part="what" name="Region"/>
2<item part="what" name="ID" special="count"/>
3<item part="what" name="BirthDate" special="min"/>
4<item part="group" name="Region"/>
5<item part="having" name="ID" value=">3" special="count"/>
Сгруппировать результат запроса по значению свойства "Region", для каждой группы вернуть значение свойства "Region", количество записей в группе и минимальное значение свойства "BirthDate" в этой группе, отобрав при этом только такие группы, количество объектов в которых больше 3-х.
innerJoin 5 qtInnerJoin
outerJoin 6 qtOuterJoin