Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Синтаксис формул — это набор правил, определяющих, как правильно записывать выражения, чтобы система могла их однозначно понять и вычислить.

Формула - это выражение, которое состоит из функций, операндов (==, !=, <> и т д) и констант.

Функция - состоит из имени функции, круглой открывающей и закрывающей скобок и параметров (аргументов), которые перечисляются через запятую внутри скобок. Некоторые функции не имеют параметров, также есть функции, которые могут содержать неограниченное число параметров (например, Join, Merge). Функции могут быть вложены одна в другую, т.е. результат одной функции может быть входным параметром (аргументом) другой функции. Все имена функций начинаются с заглавной буквы (не путать с оператором if, он пишется с маленькой буквы).

Круглые скобки ( )

Используются:

1) Для вызова Как обязательная составляющая любой функции
Например: Date(); User(); IsNull(...);  GetListGetList(...)Без скобок функция не выполняется.

2) Для группировки выражений

...

  • при создании массивов, например:  new Guid[] { Guid("..."), Guid("...") }
  • как маркеры подстановки (placeholders) в функции Format, которые функция потом может заменить соответствующими аргументами. функция заменяет значениями соответствующих аргументов. 
    В этом случае фигурные скобки — часть синтаксиса строки синтаксиса строки форматирования.
  • как часть формируемого JSON-подобного объекта - могут окружать итоговую конструкцию

Квадратные скобки [ ]

Используются внутри строк (например, при формировании параметров API или JSON) для обрамления значения параметра.

Запятая ,

Разделяет параметры функции/оператора, например:
if(условие, значение1, значение2)

...

Например:

Code Block
Field('Названиеname')
Parent('Быстрые ссылки', true)

...

Code Block
Неправильно:
'i => i.Id == Guid('"84124eed-7049-46a8-bac9-a179ff00efe3'")'


Code Block
Правильно:
'i => i.Id == Guid(\'"84124eed-7049-46a8-bac9-a179ff00efe3\'")'

2) При формировании JSON внутри строки

Например:

Code Block
'{\'"id\'":\'"84124eed-7049-46a8-bac9-a179ff00efe3\'"}'

3) В Format и строковых шаблонах

...

Code Block
Format('param=\'"{0}\"'', Id())

Если строка находится внутри другой строки — экранирование обязательно.

...

Лямбда-выражение =>

Используется в фильтрах GetLisGetList, например:

Code Block
'i => i.ContentTypeId == Guid("84124eed-7049-46a8-bac9-a179ff00efe3")'

...