logo

Создание трудозатрат по задаче в сценарии

Ниже приведены сценарии для создания и записи трудозатрат по конкретной задаче.

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

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

Контекстная переменная:

  • context.Zadacha – переменная типа Задача.

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

using EleWise.ELMA.API;

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

PublicAPI.Portal.TaskBase.SetFactWorkLog(context.Zadacha.Id, 1000, DateTime.Now, "комментарий к трудозатратам"); //Устанавливаем фактические трудозатраты в Минутах 1000 минут
//PublicAPI.Portal.TaskBase.SetFactWorkLogDays(context.Zadacha.Id, 1, DateTime.Now, "комментарий к трудозатратам"); //Устанавливаем фактические трудозатраты в Днях 1 день
//PublicAPI.Portal.TaskBase.SetFactWorkLogHours(context.Zadacha.Id, 1, DateTime.Now, "комментарий к трудозатратам"); //Устанавливаем фактические трудозатраты в Часах 1 час

В результате выполнения сценария на странице задачи, содержащейся в контекстной переменной, появится дополнительная вкладка Журнал трудозатрат с новой записью о трудозатратах.

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

Пусть эта задача содержится в контекстной переменной context.Zadacha.

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

using EleWise.ELMA.Tasks.Models;
using EleWise.ELMA.Model.Services;

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

var wl =  InterfaceActivator.Create<WorkLog>(); //создание новой трудозатраты
wl.Comment = "комментарий к трудозатратам"; //указание комментария
wl.CreationAuthor = context.Author; //указание автора
wl.StartDate = DateTime.Now; //дата начала
wl.TaskBase = context.Zadacha; //указание задачи
wl.Worker = context.Ispolnitelj; //указание исполнителя
wl.WorkMinutes = 1000; //затраченное время (в минутах)
wl.Save();