Оператор JSON
Оператор JSON
- свойство, создающее из заданных свойств или, в общем случае, из формы JSON
Синтаксис
JSON FROM [columnId1 =] propertyExpr1, ..., [columnIdN = ] propertyExprN
[WHERE whereExpr] [ORDER orderExpr1 [DESC], ..., orderExprL [DESC]]
[TOP topExpr] [OFFSET offsetExpr]
JSON ( formName [OBJECTS objName1 = expr1, ..., objNameK = exprK]
[TOP (topExpr | (topGroupId1 = topPropertyExpr1, ..., topGroupIdT = topPropertyExprT))]
[OFFSET (offsetExpr | (offsetGroupId1 = offsetPropertyExpr1, ..., offsetGroupIdF = offsetPropertyExprF))] )
Описание
Оператор JSON
- свойство, создающее из заданных свойств или заданной формы JSON.
При экспорте формы в блоке OBJECTS
можно объектам формы добавлять дополнительные фильтры на равенство этих объектов переданным значениям. Также эти объекты не будут участвовать в построении иерархии групп объектов.
Параметры
-
formName
Имя формы, из которой необходимо экспортировать данные. Составной идентификатор.
-
objName1 ... objNameK
Имена объектов формы, для которых задаются фильтруемые (фиксированные) значения. Простые идентификаторы.
-
expr1 ... exprK
Выражения, значения которых определяют фильтруемые (фиксированные) значения для объектов формы.
-
propertyExpr1, ..., propertyExprN
Список выражений, из значений которых экспортируются данные.
-
columnId1, ..., columnIdN
Список идентификаторов колонок в результирующем JSON, в которые будут переноситься данные из соответствующего свойства. Каждый элемент списка задается либо простым идентификатором, либо строковым литералом. Если идентификатор не задан, он по умолчанию считается равным
expr<Номер колонки>
. -
whereExpr
Выражение, значение которого является условием создаваемого экспорта. Если не задано, считается равным дизьюнкции всех экспортируемых свойств (то есть хотя бы одно из свойств должно быть не
NULL
). -
orderExpr1, ..., orderExprL
Список выражений, по которым производится сортировка экспортируемых данных. Могут использоваться только свойства, присутствующие в списке
propertyExpr1, ..., propertyExprN
. -
DESC
Ключевое слово. Указывает на обратный порядок сортировки. По умолчанию используется сортировка по возрастанию.
-
TOP topExpr
-
TOP (topExpr | (topGroupId1 = topPropertyExpr1, ..., topGroupIdT = topPropertyExprT))
Экспорт только первых
n
записей, гдеn
- значение выраженияtopExpr
илиtopPropertyExprT
для группы объектовtopGroupIdT
. -
OFFSET offsetExpr
-
OFFSET (offsetExpr | (offsetGroupId1 = offsetPropertyExpr1, ..., offsetGroupIdF = offsetPropertyExprF))
Экспорт только записей со смещением
m
, гдеm
- значение выраженияoffsetExpr
илиoffsetPropertyExprF
для группы объектовoffsetGroupIdF
.
Примеры
FORM testF
OBJECTS j = INTEGER
PROPERTIES ab='34'
OBJECTS i = INTEGER
PROPERTIES name = 'Name ' + (i AS INTEGER)
;
run() {
MESSAGE JSON (testF OBJECTS j=4 FILTERS mod(i,2) = 0);
}
MESSAGE JSON (FROM code = '1', message = 'OK');