<< Click to Display Table of Contents >> Разработка > Программный код > Функции Атрибуты |
Атрибуты предназначены для указания способа вызова функций. Например, с помощью атрибутов серверную функцию можно вызывать в клиентском коде, или функцию одного модуля вызывать из функции другого модуля.
Существуют следующие атрибуты:
•Public. Указывается, если функцию, структуру или константу нужно использовать в других модулях или решениях. Атрибут можно использовать в функциях инициализации;
•[Public(WebApiRequestType = RequestType.Get)] и [Public(WebApiRequestType = RequestType.Post)]. Указываются для создания функций интеграции;
•Remote. Указывается при создании серверной функции, которая будет вызываться в клиентском коде.
Для атрибута Remote можно дополнительно указать параметры:
•PackResultEntityEagerly. Добавляется, чтобы функция возвращала сущность вместе со свойствами («жадная» загрузка). Например, чтобы при создании задачи сразу за один запрос загружались значения полей и вложения. Возможные значения: true, false. Указывается в формате: [Remote(PackResultEntityEagerly = true)];
•IsPure. Рекомендуется использовать для оптимальной работы функций, которые не вносят изменения в данные. Например, для функций получения объекта или выборки данных. Возможные значения: true, false. Указывается в формате: [Remote(IsPure = true)].
Например, добавьте параметр в серверную функцию получения данных, которая будет вызываться в клиентском событии карточки или действия сущности. Если параметр не указать, то при публикации могут возникнуть ошибки;
•UseTransaction. Отвечает за выполнение функции в одной транзакции. Возможные значения: true, false. Указывается в формате: [Remote(UseTransaction = true)].
Значение по умолчанию – true. В этом случае процесс сохранения нескольких сущностей проходит в одной транзакции. Ошибка при сохранении одной сущности отменит транзакцию, и все последующие изменения не сохранятся. Рекомендуется указывать значение false, если нужно сохранить большое количество сущностей, например в цикле. Тогда ошибка при сохранении одной сущности не повлияет на сохранение остальных;
•Hyperlink. Указывается при создании клиентских функций, которые выполняются при нажатии на ссылку. Используйте атрибут, например, когда при нажатии на ссылку необходимо открыть объект внешней системы, или в текст задачи добавить ссылку, при нажатии на которую откроется список или карточка типа сущности.
Для корректного отображения ссылки задайте ее название в редакторе ресурсов. В параметрах атрибута укажите имя добавленного ресурса:
[Hyperlink(DisplayNameResource="<Имя ресурса>")]
Для вызова функции используйте класс Hyperlinks:
var url = Hyperlinks.Functions.<Имя клиентской функции>();
•LocalizeFunction. Указывается при создании клиентских функций, связанных с действиями обложек модулей. Используйте атрибут, чтобы локализовать имя и описание функции, которые отображаются в редакторе обложек:
Атрибут указывается в формате: [Localize("<Отображаемое имя функции>", "<Описание>")].
Пример:
[LocalizeFunction("Все сотрудники", "Возвращает список всех сотрудников.")]
public IQueryable<IEmployee> EmployeesAll()
{
return Employees.GetAll();
}
Вместо имени и описания функции также можно передавать ресурсы:
[LocalizeFunction("EmployeesAll_ResourceKey", "EmployeesAll_DescriptionResourceKey")]
public IQueryable<IEmployee> EmployeesAll()
{
return Employees.GetAll();
}
•Converter. Указывается при создании серверных функций сущности, которые преобразуют один объект в другой по заданной логике. Используйте атрибут, например, если в шаблоне документа с автозаполняемыми полями нужно настроить параметры для изменения значений: преобразования числа в строку, склонения по падежам, преобразования строки (изменение регистра, взятие первой буквы и т.д.).
Атрибут указывается в формате: [Converter("<Имя серверной функции>")]
Для создания функции-конвертера добавьте серверный метод с модификатором Public и заключите его в атрибут Converter[], а также добавьте ресурсы для отображаемого значения функции-конвертера в системе.
•ExpressionElement. Указывается при создании функций вычисляемых выражений.
Атрибуты указываются в квадратных скобках перед объявлением функции. Если функция будет вызываться в клиентском коде и использоваться в других модулях, то атрибуты Remote и Public указываются через запятую перед ее объявлением.
|
|
|
Добавление ресурса для отображения в системе значения «С прописной буквы» функции капитализации слова: Добавление ресурса для функции:
|
© Компания Directum, 2024 |