[ELMA3] Смена статуса жизненного цикла документа в сценарии
Для того, чтобы поменять статус жизненного цикла документа в сценарии, необходимо полю Status документа присвоить новое значение типа LifeCycleStatus.
Пример сценария с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.12.1 включительно.
Контекстные переменные:
context.Doсument – переменная типа Документ.
Пространство имен:
using EleWise.ELMA.API;
Текст сценария:
var statusFilter = PublicAPI.Docflow.Objects.LifeCycleStatus.Filter().Query("Name LIKE ’Начало’").Filter;
var new_status = PublicAPI.Docflow.Objects.LifeCycleStatus.Find(statusFilter, null).FirstOrDefault();
//смена статуса документа
if (new_status != null)
{
PublicAPI.Docflow.Document.ChangeStatus(context.Document, new_status);
}
Пример сценария без использования PublicAPI
Для корректной работы сценария необходимо подключить сборки:
EleWise.ELMA.Documents
EleWise.ELMA.Documents.Docflow
Пространства имен:
using EleWise.ELMA.Documents.Models;
using EleWise.ELMA.Model.Managers;
Текст сценария:
var statusFilter = InterfaceActivator.Create<Filter>();
statusFilter.Query = "Name LIKE ’Начало’";
//поиск нужного статуса жизненного цикла документа
var new_status = EntityManager<LifeCycleStatus>.Instance.Find(statusFilter, null).FirstOrDefault();
//смена статуса документа
if (new_status != null) context.Document.Status = new_status;
//сохранение нового состояния документа
context.Document.Save();