<< Click to Display Table of Contents >> Разработка > Программный код > Функции Создание функций модуля |
Предположим, что необходимо создать серверную функцию. После этого нужно создать клиентскую функцию и вызвать из нее серверную. Для этого:
1.В редакторе модуля перейдите в узел «Модуль».
2.В группе «Функции» перейдите по ссылке Добавить рядом с серверной функцией.
3.В открывшемся редакторе кода доработайте имя функции, добавьте комментарий с описанием и напишите ее код. При необходимости, добавьте тип возвращаемого значения, входные параметры и атрибуты функции. В примере кода, который написан ниже, используется атрибут Remote, так как далее серверная функция вызывается в клиентском коде.
важно. Если серверная функция будет использоваться в выражении объекта отчета, то в объявлении функции явно укажите модификатор static.
/// <summary>
/// Серверная функция для создания организации.
/// </summary>
[Remote]
public static ICompany CreateCompany()
{
return Companies.Create();
}
4.Сохраните изменения.
5.В группе «Функции» перейдите по ссылке Добавить рядом с клиентской функцией.
6.В открывшемся редакторе кода доработайте имя клиентской функции, добавьте комментарий с описанием и вызов серверной функции. Чтобы вызвать серверную функцию используйте формат: Functions.Module.Remote.<Имя функции>(<Параметры>). В формате используется Remote, потому что из клиентского кода вызывается серверная функция. Формат вызова других функций описан ниже.
/// <summary>
/// Клиентская функция для создания организации.
/// </summary>
public static void CreateCompany()
{
Functions.Module.Remote.CreateCompany().Show();
}
Чтобы посмотреть или изменить существующий код, в группе «Функции» перейдите по ссылке с названием функции.
Формат вызова функций
Функции вызываются по формату Functions.Module.<Имя функции>(<Параметры>). В формат вызова могут добавляться атрибуты:
•Remote, если в клиентском коде вызывается серверная функция. Формат вызова: Functions.Module.Remote.<Имя функции>(<Параметры>);
•Public, если функция вызывается в функции другого модуля. При этом формат вызова функции меняется: Module.PublicFunctions.<Имя сущности>.<Имя функции>(<Параметры>).
Формат вызова можно сократить, если функция вызывается:
•из функции типа сущности. Functions можно не указывать;
•из функции того же модуля, в котором она создана. Functions.Module можно не указывать.
© Компания Directum, 2024 |