Как задать формулу?
Если вы хотите указать формулу в настройках, примените обращение к контексту, элементу списка или значение.
Чтобы написать формулу, используйте свойства контекста через Context.MyProperty или обращение к элементу списка через Item.MyProperty, например, в таблице, списке связанных объектов, динамическом списке и т. д.
Допустимы простые выражения при работе с формулой:
Context.User != null && Context.User.FirstName == "test" ? "Отображается пользователь" : "Пользователь отсутствует"
Можно указать сразу значения Отображается пользователь, true.
начало внимание
Не рекомендуем задавать в формулах сложные условия или проверки. Для них лучше задать функцию, в том числе потому, что часто в формулах отсутствуют (не добавлены) проверки на null.
конец внимание
Что делать, если возникла ошибка в формуле?
При возникновении ошибки в формуле она отобразится в консоли браузера.
Пример 1. Для компонента Текст указана настройка с формулой Context.User.FirstName.
При выполнении этой формулы может возникнуть ошибка выполнения метода Method_a42d96bad6aa42abd8e576b5c622e0f9, потому что свойство User не заполнено.
Чтобы исправить ошибку, скорректируйте формулу:
Context.User?.FirstName
или
Context.User == null ? string.Empty : Context.User.FirstName
Пример 2. Для компонента Текст в опции Скрыть указана настройка с формулой Context.User.FirstName == string.Empty.
При выполнении формулы возникнет такая же ошибка, как в примере 1, потому что работа осуществляется с типом данных Да / Нет. Чтобы исправить её, скорректируйте формулу:
Context.User == null || Context.User.FirstName == string.Empty
Обратите внимание, НЕВЕРНО указывать следующую формулу, потому что результат выполнения вернётся с типом bool?, а нужен тип bool:
Context.User?.FirstName == string.Empty // ошибка!!!
Как обратиться к элементу списка?
К элементу нужно обращаться через Item. Он доступен в компонентах, которые используют источник данных со списком. Например, в таблице, списке связанных объектов, динамическом списке и т. д.
Чтобы использовать Item, откройте настройки элемента, который лежит внутри компонента.
// Item - объект из списка
Item.MyProperty
// также доступно использование с контекстом
Item.MyProperty == "test" && Context.User != null
Пример 3.
- В контексте создадим свойство Users.
- Добавим на форму компонент Таблица и укажем его настройки.
- В ячейку добавим компонент Текст и в нём укажем Item.FirstName, где Item - объект типа Пользователь.
Получим результат:
Пример аналогичного обращения к элементу списка через функцию:
Нашли опечатку? Выделите текст, нажмите ctrl + enter и оповестите нас