logo

Сценарий вычисления значения поля

Примечание
Перед началом работы со сценариями рекомендуется ознакомиться со стандартами написания программного кода на языке C#.

Для автоматизации заполнения информации в полях объектов в системе ELMA реализована функция вычисления значения свойства для пользовательских и для расширяемых системных объектов. В качестве инструмента вычисления используется сценарий на языке C#. По умолчанию при создании поля вычисление значения отключено. Включить данную функцию Вы можете, перейдя на вкладку Дополнительно в настройках поля в выпадающем меню Тип вычисления значения выбрать Сценарий на С#.

Рассмотрим пример. В системном объекте Контакт, в котором существуют поля: Фамилия, Имя, Отчество, добавим поле Фамилия и Инициалы, но не будем заполнять поле вручную, а добавим сценарий вычисления значения поля. Для реализации данной задачи, текст сценария будет выглядеть следующим образом

(!string.IsNullOrEmpty(Surname) && !string.IsNullOrEmpty(Firstname) && !string.IsNullOrEmpty(Middlename)) ? string.Format("{0} {1}. {2}.", Surname, Firstname.Substring(0,1), Middlename.Substring(0,1)) : " "
Важно!
При написании сценария вычисления значения поля, следует помнить, что сценарий - это функция, которая всегда возвращает значение.

Также, перед выполнением каких-либо действий с данными, обязательно добавьте проверку на пустое значение (null), в противном случае при запуске сервера возникнет ошибка.

В данном сценарии можно использовать только значения свойств данного объекта. Также можно обратиться к методам объекта.

Например, у объекта Пользователь, есть метод возвращающий полное имя, обращение к нему будет выглядеть следующим образом.

this.GetFullName() //- Метод возвращающий полное имя (например: Иванов Иван Иванович)

Рассмотрим другой пример. В системном объекте Контакт значение поля ФИО вычисляется из значений полей Фамилия, Имя и Отчество посредством Сценария на C#. При настройке свойства ФИО на вкладке Дополнительно в блоке Вычисление значения по умолчанию Тип вычисления значения установлен как Сценарий на C#. По умолчанию информация в поле будет отображаться в формате: Имя, Отчество, Фамилия (например, Иван Иванович Иванов).

Вы можете поменять порядок отображения: Фамилия, Имя, Отчество (например, Иванов Иван Иванович), изменив при этом Текст сценария.

string.Format("{0} {1} {2}", Surname, Firstname, Middlename)

После внесения изменений, требуется опубликовать объект и перезапустить сервер.

Важно!
Данный механизм распространяется только на расширяемые системные сущности. На объекты, созданные пользователем в Дизайнере ELMA, - нет.