Оператор JSON
Оператор JSON - свойство, создающее из заданных свойств или, в общем случае, из формы JSON
Синтаксис
JSON FROM [columnId1 =] propertyExpr1, ..., [columnIdN = ] propertyExprN [WHERE whereExpr] [ORDER orderExpr1 [DESC], ..., orderExprL [DESC]]
JSON ( formName [OBJECTS objName1 = expr1, ..., objNameK = exprK] )
Описание
Оператор JSON - свойство, создающее из заданных свойств или заданной формы JSON.
При экспорте формы в блоке OBJECTS можно объектам формы добавлять дополнительные фильтры на равенство этих объектов переданным значениям. Также эти объекты не будут участвовать в построении иерархии групп объектов.
Параметры
-
formNameИмя формы, из которой необходимо экспортировать данные. Составной идентификатор.
-
objName1 ... objNameKИмена объектов формы, для которых задаются фильтруемые (фиксированные) значения. Простые идентификаторы.
-
expr1 ... exprKВыражения, значения которых определяют фильтруемые (фиксированные) значения для объектов формы.
-
propertyExpr1, ..., propertyExprNСписок выражений, из значений которых экспортируются данные.
-
columnId1, ..., columnIdNСписок идентификаторов колонок в результирующем JSON, в которые будут переноситься данные из соответствующего свойства. Каждый элемент списка задается либо простым идентификатором, либо строковым литералом. Если идентификатор не задан, он по умолчанию считается равным
expr<Номер колонки>. -
whereExprВыражение, значение которого является условием создаваемого экспорта. Если не задано, считается равным дизьюнкции всех экспортируемых свойств (то есть хотя бы одно из свойств должно быть не
NULL). -
orderExpr1, ..., orderExprLСписок выражений, по которым производится сортировка экспортируемых данных. Могут использоваться только свойства, присутствующие в списке
propertyExpr1, ..., propertyExprN. -
DESCКлючевое слово. Указывает на обратный порядок сортировки. По умолчанию используется сортировка по возрастанию.
Примеры
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');