Класс SelectQuery
Для чтения записей раздела используется контракт данных SelectQuery. Передача данных запроса в сервис работы с данными DataService осуществляется по HTTP протоколу при помощи POST-запроса по URL.
Контракт данных SelectQuery имеет сложную иерархическую структуру с несколькими уровнями вложенности. В серверной части ядра приложения Creatio он представлен классом SelectQuery пространства имен Terrasoft.Nui.ServiceModel.DataContract библиотеки классов Terrasoft.Nui.ServiceModel.dll. Для простоты восприятия иерархическую структуру контракта данных SelectQuery удобно представить в формате объекта JSON.
Свойства
Строка, содержащая название корневой схемы объекта добавляемой записи.
Тип операции с записью. Задается значением перечисления QueryOperationType пространства имен Terrasoft.Nui.ServiceModel.DataContract. Для SelectQuery устанавливается значение QueryOperationType.Select.
| Select | 0 |
| Insert | 1 |
| Update | 2 |
| Delete | 3 |
| Batch | 4 |
Содержит коллекцию колонок для считываемых записей. Имеет тип SelectQueryColumns, определенный в пространстве имен Terrasoft.Nui.ServiceModel.DataContract. Следует конфигурировать, если значение признака AllColumns установлено как false и нужен определенный набор колонок корневой схемы, не включающий колонку Id.
Признак выбора всех колонок. Если значение установлено как true, в результате выполнения запроса будут выбраны все колонки корневой схемы.
Параметры кэширования EntitySchemaQuery на сервере. Тип ServerESQCacheParameters определен в пространстве имен Terrasoft.Nui.ServiceModel.DataContract.
Признак постраничной выборки данных.
Признак, указывающий, убирать или нет дубли в результирующем наборе данных.
Количество выбираемых строк. По умолчанию содержит значение -1, т.е. выбираются все строки.
Условия для построения постраничного запроса. Тип ColumnValues определен в пространстве имен Terrasoft.Nui.ServiceModel.DataContract.
Признак иерархической выборки данных.
Максимальный уровень вложенности иерархического запроса.
Имя колонки, использующейся для построения иерархического запроса.
Начальное значение иерархической колонки, от которого будет строиться иерархия.
Коллекция фильтров запросов. Имеет тип Filters, определенный в пространстве имен Terrasoft.Nui.ServiceModel.DataContract.
Содержит коллекцию значений колонок добавляемой записи. Имеет тип ColumnValues, определенный в пространстве имен Terrasoft.Nui.ServiceModel.DataContract.
Класс SelectQueryColumns
Класс SelectQueryColumns имеет единственное свойство Items, которое определено как коллекция ключей и значений Dictionary<string, SelectQueryColumn>. Ключом является строка с названием добавляемой колонки, а значением — экземпляр класса SelectQueryColumn, который определен в пространстве имен Terrasoft.Nui.ServiceModel.DataContract.
Свойства
Направление сортировки. Задается значением перечисления OrderDirection пространства имен Terrasoft.Common, определенного в библиотеке классов Terrasoft.Common.
Задает номер позиции в коллекции колонок запроса, по которой производится сортировка.
Заголовок колонки.
Свойство, определяющее выражение типа выбираемой колонки.
Класс ColumnExpression
Класс ColumnExpression определяет выражение, задающее тип колонки схемы. Он определен в пространстве имен Terrasoft.Nui.ServiceModel.DataContract библиотеки Terrasoft.Nui.ServiceModel. Свойства экземпляра этого класса заполняются в зависимости от свойства ExpressionType, которое и задает тип выражения.
Свойства
Тип выражения, определяющий значение, которое будет содержаться в добавляемой колонке. Задается значением перечисления ntitySchemaQueryExpressionType пространства имен Terrasoft.Core.Entities, определенного в библиотеке классов Terrasoft.Core. Для InsertQuery устанавливается значение EntitySchemaQueryExpressionType.Parameter.
| SchemaColumn | 0 | Колонка схемы |
| Function | 1 | Функция |
| Parameter | 2 | Параметр |
| SubQuery | 3 | Вложенный запрос |
| ArithmeticOperation | 4 | Арифметическая операция |
Путь к колонке относительно корневой схемы.
Определяет значение, которое будет содержаться в добавляемой колонке. Имеет тип Parameter, определенный в пространстве имен Terrasoft.Nui.ServiceModel.DataContract.
Тип функции. Задается значением из перечисления FunctionType, определенного в пространстве имен Terrasoft.Nui.ServiceModel.DataContract.
| None | 0 | Не определен |
| Macros | 1 | Макрос |
| Aggregation | 2 | Агрегирующая функция |
| DatePart | 3 | Часть даты |
| Length | 4 | Длина |
Тип макроса. Задается значением перечисления EntitySchemaQueryMacrosType, определенного в пространстве имен Terrasoft.Core.Entities.
Аргумент функции. Принимает значение, если функция определена с параметром. Класс BaseExpression определен в пространстве имен Terrasoft.Nui.ServiceModel.DataContract, является предком для класса ColumnExpresion и имеет такой же набор свойств.
Часть даты. Задается значением из перечисления DatePart, определенного в пространстве имен Terrasoft.Nui.ServiceModel.DataContract.
| None | 0 | Не определен |
| Day | 1 | День |
| Week | 2 | Неделя |
| Month | 3 | Месяц |
| Year | 4 | Год |
| Weekday | 5 | День недели |
| Hour | 6 | Час |
| HourMinute | 7 | Минута |
Тип агрегирующей функции. Задается значением из перечисления AggregationType, определенного в пространстве имен Terrasoft.Common, определенного в библиотеке классов Terrasoft.Common.
Область применения агрегирующей функции. Задается значением из перечисления AggregationEvalType, определенного в пространстве имен Terrasoft.Core.DB, определенного в библиотеке классов Terrasoft.Core.
Коллекция фильтров вложенных запросов. Имеет тип Filters, определенный в пространстве имен Terrasoft.Nui.ServiceModel.DataContract.
Класс Parameter
Класс Parameter определен в пространстве имен Terrasoft.Nui.ServiceModel.DataContract.
Свойства
Тип данных значения, которое будет содержаться в добавляемой колонке. Задается значением перечисления DataValueType пространства имен Terrasoft.Nui.ServiceModel.DataContract.
| Guid | 0 |
| Text | 1 |
| Integer | 4 |
| Float | 5 |
| Money | 6 |
| DateTime | 7 |
| Date | 8 |
| Time | 9 |
| Lookup | 10 |
| Enum | 11 |
| Boolean | 12 |
| Blob | 13 |
| Image | 14 |
| ImageLookup | 16 |
| Mapping | 18 |
Объект, содержащий значение добавляемой колонки.
Массив значений добавляемой колонки. Используется при сериализации массивов и BLOB данных.
Признак, отображающий необходимость пропустить процесс приведения типа для свойства Value.
Класс ServerESQCacheParameters
Класс ServerESQCacheParameters определен в пространстве имен Terrasoft.Nui.ServiceModel.DataContract.