logo

Смена статуса жизненного цикла документа в сценарии

Для того, чтобы поменять статус жизненного цикла документа в сценарии, необходимо полю Status документа присвоить новое значение типа LifeCycleStatus.

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

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

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

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

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

1
using EleWise.ELMA.API;

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

1
2
3
4
5
var lcs = PublicAPI.Docflow.Objects.LifeCycleStatus.Find(FetchOptions.All).Where(c => c.Name == "Начало").FirstOrDefault();
            if (lcs != null)
            {
                PublicAPI.Docflow.Document.ChangeStatus(context.Dokument, lcs);
            }  

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

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

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

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

1
2
using EleWise.ELMA.Documents.Models;
using EleWise.ELMA.Model.Managers;

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

1
2
3
4
5
6
7
8
9
LifeCycleStatus new_status = null;
var statusFilter = InterfaceActivator.Create<Filter>();
statusFilter.Query = "Name LIKE ’Начало’";
//поиск нужного статуса жизненого цикла документа
new_status = EntityManager<LifeCycleStatus>.Instance.Find(statusFilter, null).FirstOrDefault();
//смена статуса документа
if (new_status != null) context.Dok.Status = new_status;
//сохранение нового состояния документа
context.Dok.Save();