logo

Создание события из процесса с помощью сценария

В статье рассмотрен пример сценария, с помощью которого можно создать событие в календаре.

Пример сценария с использованием PublicAPI

Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.12.1 включительно.

Контекстные переменные:

  • context.Poljzovateli – переменная типа Пользователь, тип связи – Список;
  • context.DataNachala – переменная типа Дата/Время;
  • context.DataOkonchaniya – переменная типа Дата/Время.

Пространство имен:

1
using EleWise.ELMA.API;
Текст сценария:
1
PublicAPI.Portal.CalendarEvent.Create(context.Poljzovateli, context.DataNachala.Value, context.DataOkonchaniya.Value, "Тема", "Место");

Пример сценария без использования PublicAPI

Для работы сценария необходимо подключить сборки:

Elewise.ELMA.Documents
Elewise.ELMA.Calendar

Пространства имен:

1
2
3
using EleWise.ELMA.Calendar.Models;
using EleWise.ELMA.Security.Services;
using EleWise.ELMA.Model.Services;

Текст сценария:

1
2
3
4
5
6
7
8
9
10
11
12
var evnt =  InterfaceActivator.Create<CalendarEvent>(); //создаем новое событие
evnt.CreationDate=DateTime.Now; //дата создания
evnt.CreationAuthor=AuthenticationService.GetCurrentUser<EleWise.ELMA.Security.Models.User>(); //автор - Текущий пользователь
evnt.Description="Описание события";
var user= InterfaceActivator.Create <CalendarEventUser>(); //Создаем участника события
user.User=context.Direktor; //Записываем участника из контекстной переменной типа Пользователь
evnt.EventUsers.Add(user); //добавляем участника в событие
evnt.Subject="Тема";
evnt.StartDate=context.DataNachala.Value; //дата начала
evnt.Place="Место";
evnt.EndDate=context.DataOkonchaniya.Value;//дата окончания
evnt.Save();