<< Click to Display Table of Contents >> Разработка > Элементы разработки > События типов сущностей Параметр Params |
Для обработчиков событий и действий типов сущностей доступен параметр Params. Он предназначен для передачи дополнительных параметров между обработчиками. Например, при открытии задачи на исполнение поручения проверяется, разрешены ли в системе поручения без срока. Результат записывается в параметр. При выполнении обработчика события Обновление формы проверка повторно уже не выполняется. Используется ранее вычисленное значение параметра.
Значения параметра не сохраняются в базу данных и существуют только в рамках отдельной сущности.
Важно. При нажатии на кнопку Отмена текущих изменений (Cancel) значения всех параметров очищаются. Чтобы этого избежать, воспользуйтесь одним из способов:
•в событии Обновление формы (Refresh) проверьте и восстановите значения параметров с помощью методов e.Params.Contains() и e.Params.AddOrUpdate();
•если параметр сущности был передан извне или требуются длительные вычисления параметра (например, вызов Remote-функций), то перекройте действие Cancel и до вызова базового обработчика (base.Cancel) сохраните значение параметра, а затем восстановите его.
Для работы с параметром Params используйте следующие методы:
Метод |
Описание |
---|---|
Add() |
Создание параметра. Если параметр уже создан, то при публикации разработки появится сообщение об ошибке. e.Params.Add("<Имя параметра>", <Значение параметра>); |
AddOrUpdate() |
Создание параметра. Если параметр уже создан, то его значение будет перезаписано. e.Params.AddOrUpdate("<Имя параметра>", <Значение параметра>); |
TryGetValue() |
Проверка наличия параметра и получение значения. <Тип значения> <Имя переменной>; e.Params.TryGetValue("<Имя параметра>", out <Имя переменной>); |
Contains() |
Проверка наличия параметра. e.Params.Contains("<Имя параметра>"); |
Remove() |
Удаление параметра. e.Params.Remove("<Имя параметра>"); |
Для параметров доступны значения только следующих типов:
•простые типы:
short, short? |
Guid, Guid? |
double, double? |
---|---|---|
int, int? |
bool, bool? |
Uri |
long, long? |
decimal, decimal? |
string |
char, char? |
DateTime, DateTime? |
|
•перечисления: Enumeration, Enumeration?;
•обобщенные списки и словари указанных типов (List<>, Dictionary<>).
Прочие типы, в том числе сущности, нельзя сохранять в Params.
© Компания Directum, 2024 |