...
Разделяет параметры функции/оператора, например:
if(условие, значение1, значение2)Пример формулы:
Например
| Code Block |
|---|
if(IsNull(This("Дата начала (План)")), Date(), This("Дата начала (План)")) |
ВНИМАНИЕ! Лишняя запятая приводит к ошибке.
Кавычки
Двойные кавычки " "
Используются для:
...
Используются для обозначение строковых литералов.
Например:This("Название")
Одинарные кавычки ' '
Чаще используются:
- в Field()
- в Parent()
- в строковых фильтрах
...
| Code Block |
|---|
Field('Название') |
...
Parent('Быстрые ссылки', true) |
ВНИМАНИЕ! Рекомендуем использовать Одинарные кавычки ' '
Экранирование кавычек
...
1.
...
Когда требуется экранирование
Экранирование знаком "слэш" \ используется, если внутри строки необходимо поставить такие же кавычки, которыми эта строка ограничена.
Если строка заключена в " " — внутренние " ' ', то внутренние ' ' нужно записывать как:
| Code Block |
|---|
\ |
...
' |
...
2.
...
Примеры, когда экранирование ОБЯЗАТЕЛЬНО
1) В строковых фильтрах GetList
| 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) В iFormat и строковых шаблонах
Например:
| Code Block |
|---|
iFormat( |
...
'param=\ |
...
'{0}\ |
...
'', Id()) |
Если строка находится внутри другой строки — экранирование обязательно.
...
3.
...
Когда экранирование НЕ требуется
- В обычных вызовах функций, например:Guid("...")
This("Название")
- Если строка ограничена одинарными кавычкамиЕсли внутри строки использованы двойные кавычки, например:
123Code Block 'i => i.Id == Guid("
84124eed-7049-46a8-bac9-a179ff00efe3")'
...
4.
...
Правило проверки:
Если кавычка находится внутри уже открытой строки — требуется экранирование.
...
Используется для доступа к атрибуту связанного объекта, например:
| Code Block |
|---|
This( |
...
'Инициатор.Название |
...
') |
...
This('source.contenttype.name') |
Структура: объект → связанный объект → его свойство
...
Используется для объединения строк, например:
| Code Block |
|---|
Shrink(Field('Название'), 5, 3, '-') + '_' + Hash(Field('Название'), 2) |
Если один из элементов строка — , то выполняется конкатенация.
...
Используется в фильтрах GetLis, напримерtнапример:
| Code Block |
|---|
'i => i.ContentTypeId == Guid(" |
...
84124eed-7049-46a8-bac9-a179ff00efe3")' |
Структура:
переменная => условие
...