logo

[ELMA3] Создание резолюции в сценарии

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

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

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

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

context.Dokument – переменная типа Документ.

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

using EleWise.ELMA.API;
Текст сценария:
var new_res = PublicAPI.Docflow.Tasks.CreateResolution(context.Dokument); //создаем резолюцию и связываем c документом
var result = PublicAPI.Docflow.Tasks.CreateResult(new_res,"Текст резолюции"); //создание результата резолюции
new_res.Results.Add(result); //добавляем его в список результатов по резолюции
new_res.Save(); //сохраняем резолюцию

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

Контекстная переменная context.Dokument1, в которой содержится документ.

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

EleWise.ELMA.Documents;
EleWise.ELMA.Documents.Docflow;

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

using EleWise.ELMA.Documents.Managers;
using EleWise.ELMA.Documents.Models;
using EleWise.ELMA.Documents.Models.Tasks;
using EleWise.ELMA.Model.Common;
using EleWise.ELMA.Model.Managers;
using EleWise.ELMA.Tasks.Models;
using EleWise.ELMA.Model.Services;
Текст сценария следующий:
var new_res = InterfaceActivator.Create<Resolution>(); //создание новой резолюции
new_res.Author = context.Author; //указываем автора резолюции, можно использовать любую переменную типа "Пользователь"
new_res.Date = DateTime.Now; //заполняем дату создания резолюции
new_res.Document = context.Document; //связываем резолюцию и документ
new_res.Status = ResolutionStatus.CreateTasks; //установка требуемого статуса резолюции,
new_res.Save();
var result = InterfaceActivator.Create<ResolutionResult>(); //создание результата резолюции
result.CreationDate = DateTime.Now; //устанавливаем дату заполнения результата
result.Resolution = new_res; //связываем результат с резолюцией
result.Text = "Текст резолюции"; //содержание резолюции
result.User = context.Author; //результатов в резолюции может быть несколько, поэтому необходимо указать его автора
result.Save(); //сохраняем результат
new_res.Results.Add(result); //добавляем его в список результатов по резолюции
new_res.Save(); //сохраняем резолюцию