Оператор 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';