Класс UpdateQuery

Сложный
PDF

Пространство имен Terrasoft.Nui.ServiceModel.DataContract библиотеки классов Terrasoft.Nui.ServiceModel.dll.

Назначение класса UpdateQuery — обновление содержимого записей раздела. Передача данных непосредственно в сервис работы с данными DataService осуществляется по HTTP протоколу при помощи POST-запроса по URL.

/* Формат URL для POST-запроса к DataService на обновление данных. */
http(s)://[Адрес приложения Creatio]/[Номер конфигурации]/dataservice/[Формат данных]/reply/UpdateQuery
/* Пример URL для POST-запроса к DataService на обновление данных. */
http(s)://example.creatio.com/0/dataservice/json/reply/UpdateQuery

Контракт данных UpdateQuery имеет иерархическую структуру с несколькими уровнями вложенности. Для простоты восприятия иерархическую структуру контракта данных UpdateQuery удобно представить в формате объекта JSON.

Структура контракта данных UpdateQuery
{
    "RootSchemaName":"[Имя корневой схемы объекта]",
    "OperationType":[Тип операции с записью],
    "QueryId":"[Идентификатор запроса]",
    "QueryKind":[Информация о запросе для DBExecutor],
    "IncludeProcessExecutionData":[Данные о выполнении процесса],
    "IsUpsert":[Добавить запись при ее отсутствии в базе данных],
    "QueryType":[Тип запроса],
    "IsForceUpdate":[Принудительное обновление],
    "ColumnValues":{
        "Items":{
            "Имя добавляемой колонки":{
                "ExpressionType":[Тип выражения],
                "Parameter":{
                    "DataValueType":[Тип данных],
                    "Value":"[Значение колонки]"
                }
            }...
        }
    },
    "Filters":[Фильтры запроса]
}

На заметку. Полный перечень свойств класса UpdateQuery и его родительских классов можно найти в Библиотеке .NET классов.

Свойства 

Filters Filters

Коллекция фильтров запросов. Имеет тип Filters, определенный в пространстве имен Terrasoft.Nui.ServiceModel.DataContract.

Экземпляр класса запроса UpdateQuery в свойстве Filters обязательно должен содержать ссылку на корректно инициализированный экземпляр класса Filters. Иначе новые значения колонок из свойства ColumnValues будут установлены для всех записей раздела.

QueryId string

Идентификатор запроса.

QueryKind QueryKind

Дополнительная информация о запросе, которая может быть использована для отправки запроса DBExecutor.

Возможные значения (QueryKind)
General Используется, как значение по умолчанию.
Limited Используется, чтобы показать, что запрос может быть отправлен исполнителю с ограниченными ресурсами.
ColumnValues ColumnValues

Содержит коллекцию значений колонок добавляемой записи. Унаследовано от родительского класса BaseQuery. Имеет тип ColumnValues, определенный в пространстве имен Terrasoft.Nui.ServiceModel.DataContract.

RootSchemaName string

Строка, содержащая название корневой схемы объекта добавляемой записи.

OperationType QueryOperationType

Тип операции с записью. Задается значением перечисления QueryOperationType пространства имен Terrasoft.Nui.ServiceModel.DataContract. Для UpdateQuery устанавливается значение QueryOperationType.Update.

Возможные значения (QueryOperationType)
Select 0
Insert 1
Update 2
Delete 3
Batch 4
IncludeProcessExecutionData bool

Флаг, который включает данные о выполнении процесса.

IsForceUpdate bool

Признак принудительного обновления. Если имеет значение true, то сущность будет принудительно сохранена на сервере, даже если значения колонок не были изменены. По умолчанию имеет значение false.

IsUpsert bool

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

QueryType QueryType

Тип запроса.

Возможные значения (QueryType)
Delete Удаление данных.
Select Чтение данных.
Update Изменение данных.