Сценарий вычисления значения поля
Для автоматизации заполнения информации в полях объектов в системе 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() //- Метод возвращающий полное имя (например: Иванов Иван Иванович)
Вы можете поменять порядок отображения: Фамилия, Имя, Отчество (например, Иванов Иван Иванович), изменив при этом Текст сценария.
string.Format("{0} {1} {2}", Surname, Firstname, Middlename)
После внесения изменений, требуется опубликовать объект и перезапустить сервер.