DataService. Использование макросов
Glossary Item Box
Общие положения
Во время выполнения операций службы DataService часто необходимо фильтровать данные по некоторому периоду времени, например, текущей неделе или ближайшему часу. Для того чтобы облегчить работу с такого рода задачами и избежать повторного создания пользовательских методов, предусмотрены макросы. Макросы реализованы как специальные классы, которые предназначены для вычисления типовых значений в выражениях запросов, например для вычисления даты начала и окончания текущего полугодия. Макросы можно использовать только в случае, если тип выражения запроса — функция. Подробнее о типах выражений запросов можно узнать из статьи DataService. Фильтрация данных.
Типы макросов
При создании запросов к службе DataService могут использоваться как параметризированные, т.е. требующие аргумент, так и непараметризированные макросы. Типы макросов, которые можно использовать в выражениях запросов, определены перечислением EntitySchemaQueryMacrosType в пространстве имен Terrasoft.Core.Entities. Значения перечисления типов макросов и их описание приведены в табл. 1.
Табл. 1. — Значения перечисления EntitySchemaQueryMacrosType и их описание.
Макрос | Значение | Описание |
---|---|---|
CurrentHalfYear | 16 | Текущее полугодие. |
CurrentHour | 21 | Текущий час. |
CurrentMonth | 10 | Текущий месяц. |
CurrentQuarter | 13 | Текущий квартал. |
CurrentUser | 1 | Текущий пользователь. |
CurrentUserContact | 2 | Контакт текущего пользователя. |
CurrentWeek | 7 | Текущая неделя. |
CurrentYear | 19 | Текущий год. |
DayOfMonth | 28 | День месяца. Требует параметризации. |
DayOfWeek | 29 | День недели. Требует параметризации. |
Hour | 30 | Час. Требует параметризации. |
HourMinute | 31 | Время. Требует параметризации. |
Month | 32 | Месяц. Требует параметризации. |
NextHalfYear | 17 | Следующее полугодие. |
NextHour | 22 | Следующий час. |
NextMonth | 11 | Следующий месяц. |
NextNDays | 24 | Следующие N дней. Требует параметризации. |
NextNHours | 26 | Следующие N часов. Требует параметризации. |
NextQuarter | 14 | Следующий квартал. |
NextWeek | 8 | Следующая неделя. |
NextYear | 23 | Следующий год. |
None | 0 | Тип макроса не определен. |
PreviousHalfYear | 15 | Предыдущее полугодие. |
PreviousHour | 20 | Предыдущий час. |
PreviousMonth | 9 | Предыдущий месяц. |
PreviousNDays | 25 | Предыдущие N дней. Требует параметризации. |
PreviousNHours | 27 | Предыдущие N часов. Требует параметризации. |
PreviousQuarter | 12 | Предыдущий квартал. |
PreviousWeek | 6 | Предыдущая неделя. |
PreviousYear | 18 | Предыдущий год. |
Today | 4 | Сегодня. |
Tomorrow | 5 | Завтра. |
Year | 33 | Год. Требует параметризации. |
Yesterday | 3 | Вчера. |