Сценарий вычисления значения поля
Для автоматизации заполнения информации в полях объектов в системе ELMA реализована функция вычисления значения свойства для пользовательских и для расширяемых системных объектов. В качестве инструмента вычисления используется сценарий на языке C#. По умолчанию при создании поля вычисление значения отключено. Включить данную функцию Вы можете, перейдя на вкладку Дополнительно в настройках поля в выпадающем меню Тип вычисления значения выбрать Сценарий на С#.
Рассмотрим пример. В системном объекте Контакт, в котором существуют поля: Фамилия, Имя, Отчество, добавим поле Фамилия и Инициалы, но не будем заполнять поле вручную, а добавим сценарий вычисления значения поля. Для реализации данной задачи, текст сценария будет выглядеть следующим образом
1 | (! string .IsNullOrEmpty(Surname) && ! string .IsNullOrEmpty(Firstname) && ! string .IsNullOrEmpty(Middlename)) ? string .Format( "{0} {1}. {2}." , Surname, Firstname.Substring(0,1), Middlename.Substring(0,1)) : " " |
Также, перед выполнением каких-либо действий с данными, обязательно добавьте проверку на пустое значение (null), в противном случае при запуске сервера возникнет ошибка.
В данном сценарии можно использовать только значения свойств данного объекта. Также можно обратиться к методам объекта.
Например, у объекта Пользователь, есть метод возвращающий полное имя, обращение к нему будет выглядеть следующим образом.
1 | this.GetFullName ( ) / / - Метод возвращающий полное имя ( например : Иванов Иван Иванович ) |
Вы можете поменять порядок отображения: Фамилия, Имя, Отчество (например, Иванов Иван Иванович), изменив при этом Текст сценария.
1 | string .Format( "{0} {1} {2}" , Surname, Firstname, Middlename) |
После внесения изменений, требуется опубликовать объект и перезапустить сервер.